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); }