//Сформировать объект с полей для ввода и отправить его в БД 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); } } }