Ejemplo n.º 1
0
        // обработчик события установки площадок
        private void OnSetPlatforms(Object sender, EventArgs e)
        {
            int?[][] platformView = _view.Platforms;
            using (warehousedbContext db = new warehousedbContext())
            {
                for (int i = 0; i < platformView.Length; i++)
                {
                    // иницилизируем запись для каждого пикета
                    Platforms platform = new Platforms {
                        Cargo = 0
                    };                                                // начальный груз 0
                    for (int j = 0; j < platformView[i].Length; j++)
                    {
                        Stocks stock = new Stocks
                        {
                            NameStock            = "Склад 1",
                            IdPlatformNavigation = platform, // присваиваем ссылку на площадку
                            Picket = platformView[i][j],
                        };

                        db.Stocks.Add(stock); // добавляем в контекст
                    }
                }
                try
                {
                    db.SaveChanges(); // сохраняем изменения в бд
                }
                catch (Exception ex)
                {
                    ShowError(ex.Message);
                }
            }

            UpdateView();
        }
Ejemplo n.º 2
0
        // обработчик события удаления платформ
        private void OnDeletePlatforms(object sender, EventArgs e)
        {
            int?[][] platformView = _view.Platforms;
            using (warehousedbContext db = new warehousedbContext())
            {
                if (platformView != null) // проверка на пустое значение
                {
                    for (int i = 0; i < platformView.Length; i++)
                    {
                        // запрос аналогичный в OnSetCargo
                        var platform = db.Platforms.Where(p => p.IdPlatform == db.Stocks.Where(s => s.NameStock == "Склад 1")
                                                          .Where(s => s.Picket == platformView[i][0])
                                                          .Select(s => s.IdPlatform)
                                                          .First()).First();

                        if (platform != null)
                        {
                            db.Platforms.Remove(platform); // удаляем из контекста
                        }
                    }
                }
                try
                {
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    ShowError(ex.Message);
                }
            }
        }
Ejemplo n.º 3
0
        // обработчик события установки груза
        private void OnSetCargo(Object sender, EventArgs e)
        {
            // получаем от формы данные о грузе с помощью свойства
            Dictionary <int?[], int?> pairs_picket_cargo = _view.Cargo;

            // подключаемся к базе
            using (warehousedbContext db = new warehousedbContext())
            {
                // проходим по всем ключам, ключ - список пикетов
                foreach (int?[] key in pairs_picket_cargo.Keys)
                {
                    // запрос к таблице площадки, выборка Склада 1 где мы получаем первый элемент из таблицы площадок
                    // по первому пикету из списка используя под запрос из таблицы "склады"
                    var platform = db.Platforms.Where(p => p.IdPlatform == db.Stocks.Where(s => s.NameStock == "Склад 1")
                                                      .Where(s => s.Picket == key[0])
                                                      .Select(s => s.IdPlatform)
                                                      .First()).First();

                    // обновляем запись о грузе
                    platform.Cargo = pairs_picket_cargo[key];
                }
                try
                {
                    // обработка исключений
                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    // вывод сообщения исключения
                    ShowError(ex.Message);
                }
            }

            // обновление вида
            UpdateView();
        }