Exemplo n.º 1
0
        //Сформировать объект с полей для ввода и отправить его в БД



        private void AddValueToBettingTable(object parameter)
        {
            //Проверяем поле ввода даты

            if (Validation.GetHasError(textBoxDate) ||
                ActionStartDate <= DateTime.Parse("01.01.0001") ||
                ActionStartDate == null)
            {
                MessageBox.Show("Неверный формат даты", "Предупреждение",
                                MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            //Проверяем поле ввода ставки

            if (Validation.GetHasError(textBox1) || BettingNumber == 0)
            {
                MessageBox.Show("Поле не может быть пустым или равно нулю", "Предупреждение",
                                MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }


            if (!Validation.GetHasError(textBox1) && !Validation.GetHasError(textBoxDate))
            {
                //Вытаскиваем самую последнюю дату по текущей должности

                var selectMinDateBittingTable = BittingSource.Where(sh => sh.BettingId > 0 && sh.position == SelectedPositionItem).
                                                Max(lastDate => lastDate.actionStartDate);

                if (ActionStartDate <= selectMinDateBittingTable)
                {
                    MessageBox.Show("Введенная дата не может быть раньше установленной даты!", "Предупреждение",
                                    MessageBoxButton.OK, MessageBoxImage.Warning);
                    return;
                }
                var newValueBetting = new Bettings()
                {
                    BettingId       = 0,
                    position        = SelectedPositionItem.ToString(),
                    actionStartDate = ActionStartDate,
                    Salary          = BettingNumber
                };

                //Вносим объект в базу данных и одновременно обновляем запись со стороны  View

                BittingSource.Add(newValueBetting);
                contract.SetInsertValue(newValueBetting);

                // contract.ChangeEventList += Contract_ChangeEventList;

                ActionStartDate      = DateTime.Parse("01/01/0001");
                BettingNumber        = 0;
                SelectedPositionItem = PositionSource[0];

                MessageBox.Show("Данные успешно внесены", "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
            }
        }
Exemplo n.º 2
0
        //Сформировать объект с полей для ввода и отправить его в БД

        private void AddValueToSheduleTable(object parameter)
        {
            if (!Validation.GetHasError(textBoxCountPerson))
            {
                var existItemInTable = SheduleSource.Where(sh => sh.position.PositionName == SelectedPositionItem &&
                                                           sh.departament.DepartamentName == SelectedDepartItem &&
                                                           sh.actionStartDate == SelectedDateItem.dateParam).FirstOrDefault();

                if (existItemInTable == null)
                {
                    //Получаем список отделов
                    var getDeparts = contract.GetListDepartments()
                                     .Where(n => n.DepartamentName == SelectedDepartItem).FirstOrDefault();

                    //Получаем список должностей
                    var getPositions = contract.GetListPositions()
                                       .Where(n => n.PositionName == SelectedPositionItem).FirstOrDefault();


                    var propertiesToInsert = new Shedule
                    {
                        SheduleId       = 1,
                        departament     = getDeparts,
                        position        = getPositions,
                        actionStartDate = SelectedDateItem.dateParam,
                        countPerson     = PeopleCount
                    };

                    //Добавляем в коллекцию со стороны viewmodel -> view

                    SheduleSource.Add(propertiesToInsert);

                    //Отправляем данные в БД
                    contract.SetInsertValue(propertiesToInsert);


                    //Сбрасываем настройки по умолчанию

                    SelectedPositionItem = PositionSource[0];
                    SelectedDepartItem   = DepartamentSource[0];

                    MessageBox.Show("Данные успешно внесены.",
                                    "Информация", MessageBoxButton.OK, MessageBoxImage.Information);
                }
                else
                {
                    MessageBox.Show("Ошибка! Текуущая запись уже существует.",
                                    "Предупреждение", MessageBoxButton.OK, MessageBoxImage.Warning);
                }
            }
        }