protected override void Constructor() { Processing = new OrderProcess(Update); if (Update.Message != null && Update.Message.ReplyToMessage != null) { CommandName = Update.Message.ReplyToMessage.Text; } try { if (base.Argumetns.Count > 0) { OrderId = Argumetns[0]; OrderAdminMsg = new AdminOrderMessage(this.OrderId, FollowerId); OrderPositionListMsg = new OrderPositionListMessage(this.OrderId); FeedBackOfferMsg = new FeedBackOfferMessage(this.OrderId); using (MarketBotDbContext db = new MarketBotDbContext()) Order = db.Orders.Where(o => o.Id == this.OrderId).Include(o => o.OrderConfirm). Include(o => o.OrderDone).Include(o => o.OrderDeleted).Include(o => o.OrderProduct). Include(o => o.Follower).Include(o => o.FeedBack).Include(o => o.OrderAddress).Include(o => o.Invoice).Include(o => o.OrdersInWork).FirstOrDefault(); InvoiceViewMsg = new InvoiceViewMessage(Order.Invoice, Order.Id); } } catch { } }
/// <summary> /// Отправить сообщение с отзывом к заказу /// </summary> /// <param name="OrderId"></param> /// <returns></returns> private async Task <IActionResult> SendFeedBackMyOrder(int OrderId) { FeedBackOfferMessage FeedBackOfferMsg = new FeedBackOfferMessage(OrderId); var mess = FeedBackOfferMsg.BuildMsg(); await EditMessage(mess); return(OkResult); }
/// <summary> /// Сохраняем новый статус заказа и уведомляем пользователей /// </summary> /// <returns></returns> private async Task <IActionResult> ConfirmNewStatus() { try { if (Argumetns != null && Argumetns.Count == 2) { var status = OrderFunction.ConfirmOrderStatus(Argumetns[1]); //меняем текущее сообщение на сообщение с описание заказа await GetOrderAdmin(base.MessageId); var Order = OrderFunction.GetOrder(OrderId); //уведомляем всех о новом статусе заказа BotMessage = new OrderActionNotifiMessage(Order, status); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); ///Если поставили статус "Выполено" то пользователю оформившему данные заказ приходил сообщение с просьбой ///оставить отзыв. Остатки на скалде пересчитываются и операторам приходит уведомление об изменениях в остатках if (status != null && status.StatusId == Core.ConstantVariable.OrderStatusVariable.Completed) { var stock = Order.UpdateStock(); BotMessage = new FeedBackOfferMessage(Order); await SendMessage(Order.Follower.ChatId, BotMessage.BuildMsg()); BotMessage = new StockChangesMessage(stock, Order.Id); await SendMessageAllBotEmployeess(BotMessage.BuildMsg()); } return(OkResult); } else { return(OkResult); } } catch { return(OkResult); } }
/// <summary> /// Сохранить отзыв и отправить его все операторам и владельцу /// </summary> /// <returns></returns> private async Task <IActionResult> SaveFeedback() { if (Argumetns.Count > 0) { int FeedBackId = Argumetns[1]; var feedbak = FeedbackFunction.EnableFeedback(FeedBackId); BotMessage = new FeedBackOfferMessage(Convert.ToInt32(feedbak.OrderId)); await EditMessage(BotMessage.BuildMsg()); await SendMessageAllBotEmployeess( new BotMessage { TextMessage = "Добавлен новый отзыв к заказу " + Order.Number.ToString() + " /order" + Order.Number.ToString() }); } return(OkResult); }