/// <summary> /// Назад /// </summary> /// <returns></returns> private async Task <IActionResult> BackToOrder() { BotMessage = new AdminOrderMessage(OrderId, FollowerId); await EditMessage(BotMessage.BuildMsg()); return(OkResult); }
private async Task <IActionResult> GetOrderAdmin(int MessageId = 0) { BotMessage = new AdminOrderMessage(OrderId, FollowerId); await SendMessage(BotMessage.BuildMsg(), MessageId); return(base.OkResult); }
private async Task <IActionResult> TakeOrder() { var Order = OrderFunction.GetOrder(OrderId); //Заказ ни кем не обрабатывается if (Order != null && Order.OrdersInWork.Count == 0 || Order != null && Order.OrdersInWork.Count > 0 && Order.OrdersInWork.LastOrDefault().InWork == false) { Order.OrdersInWork.Add(OrderFunction.InsertOrderInWork(OrderId, FollowerId)); BotMessage = new AdminOrderMessage(Order, FollowerId); await EditMessage(BotMessage.BuildMsg()); //уведомляем всех о том что кто-то взял заказ работу BotMessage = new OrderActionNotifiMessage(Order, Order.OrdersInWork.LastOrDefault()); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); return(OkResult); } //заявка в обработке у тек. пользователя if (Order != null && Order.OrdersInWork.Count > 0 && Order.OrdersInWork.LastOrDefault().InWork == true && Order.OrdersInWork.LastOrDefault().FollowerId == FollowerId) { BotMessage = new AdminOrderMessage(Order, FollowerId); await EditMessage(BotMessage.BuildMsg()); return(OkResult); } //заказ в обработке у кого то другого. Отправляем сообщение с вопрос о переназначении исполнителя if (Order != null && Order.OrdersInWork.Count > 0 && Order.OrdersInWork.LastOrDefault().InWork == true && Order.OrdersInWork.LastOrDefault().FollowerId != FollowerId) { BotMessage = new OverridePerformerConfirmMessage(Order, Order.OrdersInWork.LastOrDefault()); var mess = BotMessage.BuildMsg(); await EditMessage(mess); return(OkResult); } else { return(OkResult); } }
/// <summary> /// Освободить заказ. /// </summary> /// <returns></returns> private async Task <IActionResult> FreeOrder() { if (OrderId > 0) { var Inwork = OrderFunction.InsertOrderInWork(OrderId, FollowerId, false); var Order = OrderFunction.GetOrder(OrderId); BotMessage = new AdminOrderMessage(Order, FollowerId); await base.EditMessage(BotMessage.BuildMsg()); string notify = "Пользователь " + GeneralFunction.FollowerFullName(FollowerId) + " освободил заказ №" + Order.Number.ToString(); BotMessage = new OrderMiniViewMessage(notify, Order.Id); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); } return(OkResult); }
/// <summary> /// Подтверждение того что пользователь назначает исполнителем себя вместо кого-то /// </summary> /// <returns></returns> private async Task <IActionResult> ConfirmOverridePerformer() { var Order = OrderFunction.GetOrder(OrderId); var Inwork = OrderFunction.InsertOrderInWork(OrderId, FollowerId); Order.OrdersInWork.Add(Inwork); BotMessage = new AdminOrderMessage(Order, FollowerId); await EditMessage(BotMessage.BuildMsg()); //уведомляем всех о том что кто то взял заказ в обработку string notify = "Заказ №" + Order.Number.ToString() + " взят в работу. Пользователь " + GeneralFunction.FollowerFullName(base.FollowerId); BotMessage = new OrderMiniViewMessage(notify, Order.Id); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); return(OkResult); }
/// <summary> /// /order[номер закааз] /// </summary> /// <returns></returns> private async Task <IActionResult> GetOrderByNumber() { using (MarketBotDbContext db = new MarketBotDbContext()) { try { int number = Convert.ToInt32(base.CommandName.Substring(GetOrderCmd.Length)); int id = db.Orders.Where(o => o.Number == number).FirstOrDefault().Id; BotMessage = new AdminOrderMessage(id, FollowerId); await SendMessage(BotMessage.BuildMsg()); return(OkResult); } catch { return(OkResult); } } }
/// <summary> /// Сохрнанить заказ. Перенести все данные из корзины. /// </summary> /// <returns></returns> private async Task <IActionResult> OrderSave() { Orders new_order = null; bool blocked = false; OrderFunction = new OrderFunction(); ConfigurationBot = base.GetConfigurationBot(BotInfo.Id); blocked = FollowerFunction.IsBlocked(FollowerId); if (blocked) { await AnswerCallback("Вы заблокированы администратором системы!", true); } // если в настройках бота указано время работы магазина, то проверяем подходит ли текщее время //под это правило. Если подходит то офрмляем заказ if (!blocked && ConfigurationBot.StartTime != null && ConfigurationBot.EndTime != null && ConfigurationBot.StartTime.Value.Hours <= DateTime.Now.Hour && ConfigurationBot.StartTime.Value <= DateTime.Now.TimeOfDay && ConfigurationBot.EndTime.Value > DateTime.Now.TimeOfDay) { new_order = OrderFunction.CreateOrder(FollowerId, BotInfo); } //Время работы магазина не указано. else if (!blocked && ConfigurationBot.EndTime == null && ConfigurationBot.StartTime == null) { new_order = OrderFunction.CreateOrder(FollowerId, BotInfo); } else { await AnswerCallback("Мы обрабатываем заказы только в период с " + ConfigurationBot.StartTime.ToString() + " и по " + ConfigurationBot.EndTime.ToString(), true); } if (new_order != null && new_order.Invoice != null) { BotMessage = new InvoiceViewMessage(new_order.Invoice, new_order.Id); await EditMessage(BotMessage.BuildMsg()); } if (new_order != null && new_order.Invoice == null) { BotMessage = new OrderViewMessage(new_order); await EditMessage(BotMessage.BuildMsg()); } //то отправляем уведомление о новом заказке Админам if (new_order != null) { BotMessage = new AdminOrderMessage(new_order); var message = BotMessage.BuildMsg(); await SendMessageAllBotEmployeess(message); } OrderFunction.Dispose(); return(OkResult); }