Пример #1
0
        private async void ButtonCreateOrder_Click(object sender, EventArgs e)
        {
            if (!VerifyOrderData(out var cost))
            {
                return;
            }

            var supplier = await _suppliersRepository.GetSupplierByOGRN(ChosenSupplierOGRN);

            var order = new Order()
            {
                SupplierId  = supplier.Id,
                Cost        = cost,
                OrdererId   = Program.UserId,
                TimeOrdered = DateTime.Now
            };
            var orderId = await _ordersRepository.CreateOrder(order);

            var orderContent = new List <OrderContent>();

            ChosenConsumables.ForEach(x =>
            {
                var orderConsumable = new OrderContent()
                {
                    OrderId           = orderId,
                    ConsumablesId     = x.Id,
                    ConsumablesAmount = x.CurrentAmount
                };
                orderContent.Add(orderConsumable);
            });
            await _ordersRepository.CreateOrderContent(orderContent);

            await UpdateDataGridViewOrders();
        }
Пример #2
0
        override protected async void DataGridViewOrders_SelectionChanged(object sender, EventArgs e)
        {
            base.DataGridViewOrders_SelectionChanged(sender, e);

            ChosenConsumables.Clear();

            var orderSelected = dataGridViewOrders.SelectedRows.Count > 0;

            if (orderSelected)
            {
                var selectedOrderId = Convert.ToInt32(textBoxOrderId.Text);
                var orderContent    = await _ordersRepository.GetOrdersContent(selectedOrderId);

                orderContent.ForEach(async x =>
                {
                    var consumable = new Consumables()
                    {
                        Id            = x.ConsumablesId,
                        Name          = (await _consumablesRepository.GetConsumable(x.ConsumablesId)).Name,
                        CurrentAmount = x.ConsumablesAmount
                    };
                    ChosenConsumables.Add(consumable);
                });
            }

            buttonFinishOrder.Enabled = orderSelected && textBoxOrderFinisher.Text.Equals("");

            UpdateDataGridViewOrderConsumables();
        }
Пример #3
0
        private void ButtonRemoveOrderConsumables_Click(object sender, EventArgs e)
        {
            var id = Convert.ToInt32(textBoxOrderConsumablesId.Text);
            var existingConsumable = ChosenConsumables.FirstOrDefault(x => x.Id == id);

            ChosenConsumables.Remove(existingConsumable);
            UpdateDataGridViewOrderConsumables();
        }
Пример #4
0
        private void ButtonUpdateOrderConsumables_Click(object sender, EventArgs e)
        {
            var id = Convert.ToInt32(textBoxOrderConsumablesId.Text);
            var existingConsumable = ChosenConsumables.FirstOrDefault(x => x.Id == id);

            existingConsumable.CurrentAmount = Convert.ToInt32(numericUpDownOrderConsumablesAmount.Value);
            UpdateDataGridViewOrderConsumables();
        }
Пример #5
0
        private bool VerifyOrderData(out int cost)
        {
            cost = Convert.ToInt32(numericUpDownOrderCost.Value);
            var emptyConsumable = ChosenConsumables.FirstOrDefault(x => x.CurrentAmount == 0);

            var message = "";

            message += cost == 0 ? "Стоимость заказа должна быть больше нуля рублей.\n" : "";
            message += ChosenConsumables.Count == 0 ? "В заказе должен присутствовать хотя бы один материал.\n"
                : emptyConsumable != null ? "В заказе присутствует материал с нулевым количеством.\n" : "";
            message += ChosenSupplierOGRN == 0 ? "Необходимо выбрать поставщика.\n" : "";

            if (!message.Equals(""))
            {
                MessageBox.Show(message, "Валидация данных о заказе");
                return(false);
            }
            return(true);
        }
Пример #6
0
        private void ButtonAddConsumablesToOrder_Click(object sender, EventArgs e)
        {
            var id = Convert.ToInt32(textBoxConsumablesId.Text);
            var existingConsumable = ChosenConsumables.FirstOrDefault(x => x.Id == id);

            if (existingConsumable != null)
            {
                return;
            }

            var consumable = new Consumables()
            {
                Id            = id,
                Name          = textBoxConsumablesName.Text,
                CurrentAmount = 0
            };

            ChosenConsumables.Add(consumable);
            UpdateDataGridViewOrderConsumables();
        }