Пример #1
0
        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
            {
            }
        }
Пример #2
0
        /// <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);
            }
        }
Пример #4
0
        /// <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);
        }