Beispiel #1
0
            public bool Visit(OrderDone msg)
            {
                Condition.Requires(msg.OrderId, "msg.OrderId").IsNotNull();
                Order order;

                if (!_manager._openOrders.TryGetValue(msg.OrderId, out order))
                {
                    return(false);
                }
                Condition.Requires(_manager._openOrders.Remove(msg.OrderId)).IsTrue();
                PublishUpdate(msg, order, fill: null, finished: true);
                return(false);
            }
Beispiel #2
0
        /// <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);
            }
        }
Beispiel #3
0
        private void faTuraKesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.AnaView.SelectedItems.Count == 0 || MessageBox.Show("Varsayılan printerdan fatura kesilicektir.!\r\nFatura 3 kere basılıcaktır.", "Fatura Kes!", MessageBoxButtons.YesNo) == DialogResult.No)
                return;
            this.printOrder = (OrderDone)this.AnaView.SelectedItems[0].Tag;

            int FaturaPrintSayisi = int.Parse(ConfigurationManager.AppSettings["FaturaPrintSayisi"]);
            for (int index = 1; index <= FaturaPrintSayisi; index++)
                printDocument1.Print();
        }
Beispiel #4
0
        private void btnInvoice_Click(object sender, EventArgs e)
        {
            int FaturaPrintSayisi = int.Parse(ConfigurationManager.AppSettings["FaturaPrintSayisi"]);
            if (
                MessageBox.Show(
                    "Tüm Siparişlerin faturaları kesilicektir.\r\nFatura yapraklarını iyice ayırın.\r\nHer fatura için " +
                    FaturaPrintSayisi + " çıktı oluşturulucaktır.", "Dikkat Fatura Basılıcak", MessageBoxButtons.YesNo) ==
                DialogResult.No)
            {
                return;
            }
            for (int index = 0; index < this.AnaView.Items.Count; ++index)
            {
                this.printOrder = (OrderDone)this.AnaView.SelectedItems[0].Tag;
                if (Customer.Customer_GetByID(this.printOrder.CustomerID).Fatura != 0)
                {
                    for (int i = 1; i <= FaturaPrintSayisi; i++)
                    {
                        printDocument1.Print();
                    }

                }
            }
        }
Beispiel #5
0
 public OrderReviewForm(OrderDone _orderDone)
 {
     orderDone = _orderDone;
       InitializeComponent();
 }