/// <summary> /// После того как пользователь нажал на кнопку "Отправить", информация о заказе пересылается Операторам в личку и в общий чат (если он есть) /// </summary> /// <param name="OrderId"></param> /// <returns></returns> private async Task <IActionResult> OrderRedirectToAdmins(int OrderId, Orders order = null) { using (MarketBotDbContext db = new MarketBotDbContext()) { try { var admins = db.Admin.Include(a => a.Follower).ToList(); if (order == null) { OrderAdminMsg = new AdminOrderMessage(OrderId); } else { OrderAdminMsg = new AdminOrderMessage(order); } var message = OrderAdminMsg.BuildMessage(); await SendMessageAllBotEmployeess(message); return(base.OkResult); } catch { return(base.NotFoundResult); } } }
/// <summary> /// Выполнить заказ /// </summary> /// <returns></returns> private async Task <IActionResult> OrderDone() { using (MarketBotDbContext db = new MarketBotDbContext()) { //Проверяем согласован ли заказ и не удален ли он и не был ли выполнен ранее if (this.Order != null && this.Order.OrderDeleted.Count == 0 && this.Order.OrderConfirm.Count > 0 && this.Order.OrderDone.Count == 0 && await Processing.CheckInWork(this.Order) && !await Processing.CheckIsDone(this.Order)) { OrderDone orderDone = new OrderDone { DateAdd = DateTime.Now, FollowerId = FollowerId, Done = true, OrderId = OrderId }; OrdersInWork inWork = new OrdersInWork { FollowerId = FollowerId, Timestamp = DateTime.Now, InWork = false, OrderId = this.Order.Id }; db.OrdersInWork.Add(inWork); db.OrderDone.Add(orderDone); db.SaveChanges(); StockChangesMsg = new StockChangesMessage(UpdateStock(this.Order)); } } if (OrderAdminMsg != null) { var message = OrderAdminMsg.BuildMessage(); await EditMessage(message); // Редакатруем текущее сообщение на новое string notify = "Заказ №" + this.Order.Number.ToString() + " выполнен. Пользователь " + GeneralFunction.FollowerFullName(base.FollowerId); await Processing.NotifyChanges(notify, this.Order.Id); // уведомляем сотрудников о выполненом заказе await SendMessageAllBotEmployeess(StockChangesMsg.BuildMessage()); //уведомляем сотрудников об изменениях остатков return(await SendFeedBackOffer()); // предлагаем пользователю оставить отзыв } else { return(base.NotFoundResult); } }
private async Task <IActionResult> GetOrderAdmin() { if (OrderAdminMsg == null) { OrderAdminMsg = new AdminOrderMessage(OrderId, FollowerId); } if (await SendMessage(OrderAdminMsg.BuildMessage()) != null) { return(base.OkResult); } else { return(base.NotFoundResult); } }
/// <summary> /// Назад /// </summary> /// <returns></returns> private async Task <IActionResult> BackToOrder() { if (OrderAdminMsg != null && await EditMessage(OrderAdminMsg.BuildMessage()) != null) { return(base.OkResult); } if (OrderAdminMsg == null && this.OrderId > 0) { OrderAdminMsg = new AdminOrderMessage(this.OrderId); await EditMessage(OrderAdminMsg.BuildMessage()); return(OkResult); } else { OrderId = Argumetns[0]; OrderAdminMsg = new AdminOrderMessage(this.OrderId); await EditMessage(OrderAdminMsg.BuildMessage()); return(OkResult); } }