/// <summary>
 /// Добавление в таблицу "Корзина"
 /// </summary>
 /// <param name="entity"></param>
 public void AddBasket(BASKET entity)
 {
     try
     {
         basketS.Add(entity);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Оформление данных в таблицу "заказ" и "корзина"
        /// </summary>
        /// <remarks="При оформлении заказа кол-во товара в наличие уменьшается на кол-во купленного"></remarks>
        private void btnCreateOrder_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < listSelectedProduct.Count; i++)
                {
                    if (listControls[i].nUDCount.Value == 0)
                    {
                        continue;
                    }
                    totalSum += decimal.Parse(listControls[i].tbTotal.Text);
                }

                if (totalSum == 0)
                {
                    return;
                }

                ORDER o = new ORDER();
                o.order_date   = DateTime.Today.ToString("d");
                o.order_status = 0;
                o.order_time   = DateTime.Now.ToString("H:mm:ss");
                o.total_sum    = totalSum;
                orderModule.AddOrder(o);

                for (int i = 0; i < listSelectedProduct.Count; i++)
                {
                    bool availability = orderModule.CheckForAvailability(listSelectedProduct[i]);

                    //если не можем пошить товар или выбрано кол-во 0, не записываем его в корзину
                    if (listControls[i].nUDCount.Value == 0)
                    {
                        continue;
                    }

                    BASKET b = new BASKET();
                    b.id_client  = client.id_client;
                    b.id_product = listSelectedProduct[i].id_product;
                    b.count      = (int)(listControls[i].nUDCount.Value);
                    b.id_order   = o.id_order;
                    orderModule.AddBasket(b);

                    if (availability)
                    {
                        //orderModule.DecreaseCountOfProduct(listSelectedProduct[i], b.count);
                        listSelectedProduct[i].count -= b.count;
                        orderModule.Update(listSelectedProduct[i]);
                    }
                    else
                    {
                        orderModule.DecreaseMaterialCount(listSelectedProduct[i]);
                    }
                }


                ///
                ///функция для создания пдф
                ///
                CreatePDF(listSelectedProduct, o);


                MessageBox.Show("Ваш заказ успешно оформлен");

                listSelectedProduct.Clear();
                SetProductInfo();
                listControls.Clear();
                FillListControls();
                Update();
                metroTabControl1.SelectedTab = tabPage3;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }