Beispiel #1
0
 public InsertDish(Заказы order)
 {
     InitializeComponent();
     _order = order;
     InitializeComboboxes();
     button3.Enabled = false;
 }
Beispiel #2
0
        public void InsertOrder(ListView lvData)
        {
            using (var ctx = new DCModel())
            {
                if (ctx.Заказчики.Count() == 0)
                {
                    MessageBox.Show("Нет подходящих заказчиков");
                    return;
                }

                if (ctx.Операторы.Count() == 0)
                {
                    MessageBox.Show("Нет подходящих Операторов");
                    return;
                }
                if (ctx.Курьеры.Count() == 0)
                {
                    MessageBox.Show("Нет подходящих курьеров");
                    return;
                }
                if (ctx.Типы_оплаты.Count() == 0)
                {
                    MessageBox.Show("Нет подходящих типов оплаты");
                    return;
                }
                var orderInsert = new OrdersInsertUpdate(FormType.Insert, null, ctx, lvData);
                if (orderInsert.ShowDialog() == DialogResult.OK)
                {
                    var newOrder = new Заказы
                    {
                        Заказчики          = orderInsert.Customer,
                        Дата_открытия      = orderInsert.OpeningDate,
                        Дата_закрытия      = orderInsert.ClosingDate,
                        Операторы          = orderInsert.Operator,
                        Курьеры            = orderInsert.Courier,
                        Доп__скидка        = (int)orderInsert.Discount,
                        Типы_оплаты        = orderInsert.PaymentType,
                        Стоимость_доставки = orderInsert.DeliveryCost
                    };

                    ctx.Заказы.Add(newOrder);
                    ctx.SaveChanges();
                    var lvi = new ListViewItem(new[]
                    {
                        newOrder.Заказчики.DisplayMember,
                        newOrder.Дата_открытия.ToLongDateString(),
                        newOrder.Дата_закрытия.ToLongDateString(),
                        newOrder.Операторы.DisplayMember,
                        newOrder.Курьеры.DisplayMember,
                        newOrder.Доп__скидка.ToString(),
                        newOrder.Типы_оплаты.Название,
                        newOrder.Стоимость_доставки.ToString(),
                    });
                    lvi.Tag = newOrder;
                    lvData.Items.Add(lvi);
                }
            }
        }
Beispiel #3
0
 public OrdersInsertUpdate(FormType formType, Заказы order = null, DCModel ctx = null, ListView lvData = null)
 {
     InitializeComponent();
     currentFormType = formType;
     oldOrder        = order;
     btOK.Text       = formType == FormType.Insert ? "Добавить" : "Изменить";
     this.ctx        = ctx == null ? new DCModel() : ctx;
     this.lvData     = lvData;
     FillInfo();
 }
Beispiel #4
0
 public Description(Заказы order, AccessType currentAccessType, ListView lvData)
 {
     InitializeComponent();
     if (currentAccessType != AccessType.Operator)
     {
         button1.Enabled = false;
         button2.Enabled = false;
     }
     _order  = order;
     _lvData = lvData;
     InitializeListView();
 }
Beispiel #5
0
        public void InsertDish(ListView lvDish, Заказы order)
        {
            var DishInsert = new InsertDish(order);

            if (DishInsert.ShowDialog() == DialogResult.OK)
            {
                var insertedDish       = DishInsert.SelectedDish;
                var insertedRestaurant = DishInsert.SelectedRestaurant;
                var insertedCount      = DishInsert.SelectedCount;

                using (var ctx = new DCModel())
                {
                    var dishPrice = ctx.Цены.Find(insertedRestaurant.Код, insertedDish.Код);

                    insertedDish = ctx.Блюда.Find(insertedDish.Код);
                    //ctx.Блюда.Attach(insertedDish); // прикрепляет объект из другого контекста к текущему, наименование группы блюд содержится в другой таблице


                    var lvi = new ListViewItem(new[]
                    {
                        insertedDish.Название,
                        insertedDish.Группы_блюд.Наименование,
                        insertedRestaurant.Название,
                        insertedCount.ToString(),
                        (dishPrice.Цена_блюда * insertedCount).ToString()
                    });

                    var newDish = new ЗаказыРестораныБлюда
                    {
                        C__заказа     = order.C_,
                        Код_блюда     = insertedDish.Код,
                        Код_ресторана = insertedRestaurant.Код,
                        Количество    = insertedCount
                    };

                    lvi.Tag = newDish;
                    lvDish.Items.Add(lvi);



                    ctx.ЗаказыРестораныБлюда.Add(newDish);
                    ctx.SaveChanges();
                }
            }
        }