Member 12950401 Ответов: 2

У меня есть страница отправки заказа. На этой странице есть кнопка для отправки заказа. Я хочу, чтобы клиент мог отправить заказ только один раз в день


у меня есть страница отправки заказа. на этой странице есть кнопка для отправки заказа. мое бизнес-правило заключается в том, что клиент может отправить заказ только один раз в день. например, если клиент c1 отправит заказ 29 октября 2017 года, то c1 не сможет отправить его снова 29 октября 2017 года. я хочу, чтобы эта кнопка была отключена на этот день для этого пользователя. пожалуйста, дайте мне знать, как я могу это сделать

Что я уже пробовал:

i have a order submit page. on that page there is a button to submit order. my business rule is that a customer can only submit order once on a date. for example if a customer c1 submit order on 29 Oct 2017 then c1 cannot submit again on 29 oct 2017. i want that button to be disable for that day for that user. please let me know how can i do this 

F-ES Sitecore

Создайте таблицу, в которой хранится идентификатор клиента и дата его последнего заказа. Прочтите это значение для текущего клиента, чтобы определить, может ли он разместить заказ или нет. Когда они действительно размещают заказ, обновите его значение.

[no name]

Как вы хотите отключить кнопку ? Есть несколько способов, которыми вы можете это сделать.
1. создайте таблицу в базе данных , сопоставленную с датой и Пользователем, и обновите ее после того, как пользователь разместил заказ, так как тот же пользователь вошел в систему и пытается сделать заказ, проверьте из той же таблицы.
2. либо вы можете использовать таблицу заказов, где вы в конечном итоге храните идентификатор клиента/пользователя для справки, а также created_date. Каждый раз , когда вы просто проверяете с той же таблицей, был ли в тот же день сделан заказ, не позволяйте сумбиту снова.

Member 12950401

дорогой шахид

я должен проверить из таблицы, сделал ли пользователь какой-либо заказ сегодня. имя таблицы-cart. Он имеет поле order_date. я пишу ниже код на c#, но он не работает

выберите order_date из корзины, где user_name='" + Session["user"] + "';
если(order_date==дата и время.сейчас.метод toString())
{
Ответ.Напишите("alert('ваш заказ не может быть размещен.')");
}
еще
{

}

2 Ответов

Рейтинг:
2

Mohammad__Shahid

Используйте следующую процедуру хранения SQL для проверки , изменения соответствующих столбцов.

CREATE PROCEDURE CHECK_ORDER
(
   @DATE DATETIME,
   @USER_ID BIGINT
)
AS
BEGIN
   IF EXISTS(SELECT USER_ID FROM TBL_ORDER WHERE CREATED_DATE = @DATE AND CREATED_BY=@USER_ID)
   BEGIN
        SELECT 'NOT ALLOW' AS [STATUS_TEXT]
   END
   ELSE
   BEGIN
        SELECT 'ALLOW' AS [STATUS_TEXT]
   END
END


Используйте [STATUS_TEXT] в событии загрузки страницы, чтобы отключить эту кнопку.

/// C#
/// SQL STORE PROCEDURE CALLING
/// string _result = (string)objCommand.ExecuteScalar();

protected void load(object sender,EventArgs e)
{
   // SQL STORE PROCEDURE CALLING
   // SQL CALLING STUFF
   string _result = (string)objCommand.ExecuteScalar();
   if(_result=="ALLOW")
   {
      btnSubmitOrder.Enabled = true;
   }
   else
   {
      btnSubmitOrder.Enabled = false;
   }   
}
<pre>


Рейтинг:
0

Atlapure Ambrish

Решение очень простое.

Возможно, вы храните заказы в таблице базы данных. во время открытия страницы заказа позвоните в базу данных и проверьте, есть ли заказ в таблице базы данных на текущую дату и вошедшего пользователя. Если вы найдете информацию о заказе в базе данных, просто отключите эту кнопку. Если вы не нашли информацию о заказе в базе данных, то кнопка должна быть включена. Вы можете использовать button.disabled = true в JS, чтобы отключить кнопку.