//Кнопка сохранить private async void SaveBtnClick(object sender, EventArgs e) { bool result = false; // флаг успешности операции с БД //Валидация, если все ок идем дальше if (_validator.CheckAll()) { if (_isEdit) // если вкл. редактирование { if (dgv.SelectedRows.Count <= 0) { return; } if (dgv.SelectedRows[0].DataBoundItem is Room item) // получаем выбранные элемент { item.Title = text_txbx.Text; // изменяем его содержимое try { //обновление данных в БД result = await _dataService.UpdateEntityAsync(item); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else // если идет создание нового обьекта { var item = new Room() // создаем обьект и заполняем данными { Title = text_txbx.Text }; try { DisableControls(); //выкл контролы //пытаемся добавить в БД result = await _dataService.AddEntityAsync(item); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); LoadData(null); } } //Если все было ок, перезагружаем данные из БД if (result) { _validator.ClearValidateState(); LoadData(null); } } else { return; // если валидация провалена то выходим из метода } DisableControls(); }
private async void AddBtnClick(object sender, EventArgs e) { if (dgv.SelectedRows.Count != 0 && dgv.SelectedRows[0].DataBoundItem is Teacher teacher) { if (_validator.CheckAll() && prop_cmbx.SelectedItem is Property property) { var item = new TeacherProperty() { TeacherId = teacher.TeacherId, PropertyId = property.PropertyId, Value = text_txbx.Text }; if (teacher.Properties.Any(x => x.PropertyId == property.PropertyId)) { var chproperty = teacher.Properties .FirstOrDefault(x => x.PropertyId == property.PropertyId && x.TeacherId == teacher.TeacherId); if (chproperty != null) { chproperty.Value = text_txbx.Text; chproperty.Property = null; chproperty.Teacher = null; await _dataService.UpdateEntityAsync(chproperty); } teacher.Properties = await _dataService.GetEntitiesAsync <TeacherProperty>(x => x.TeacherId == teacher.TeacherId); propdgv.DataSource = teacher.Properties; } else { await _dataService.AddEntityAsync(item); teacher.Properties = await _dataService.GetEntitiesAsync <TeacherProperty>(x => x.TeacherId == teacher.TeacherId); propdgv.DataSource = teacher.Properties; } prop_cmbx.SelectedItem = null; text_txbx.Text = string.Empty; } } else { MessageBox.Show(@"Родитель не выбран!", @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private async void SaveBtnClick(object sender, EventArgs e) { if (_validator.CheckAll()) { var result = false; try { bool isNew = false; if (_details == null) { _details = new Details(); isNew = true; } _details.Title = name_txbx.Text; _details.HourPayment = decimal.Parse(costHour_txbx.Text); _details.Phone = phone_txbx.Text; _details.City = city_txbx.Text; _details.MonthPayment = decimal.Parse(costMonth_txbx.Text); _details.Address = address_txbx.Text; _details.Director = CEO_txbx.Text; if (isNew) { result = await _service.AddEntityAsync(_details); } else { result = await _service.UpdateEntityAsync(_details); } } catch (Exception exception) { MessageBox.Show(exception.Message , "Ошибка" , MessageBoxButtons.OK , MessageBoxIcon.Error); } if (result) { MessageBox.Show("Операция успешна" , "Успех" , MessageBoxButtons.OK , MessageBoxIcon.Information); Close(); } } }
//Кнопка сохранить private async void SaveBtnClick(object sender, EventArgs e) { bool result = false; // флаг успешности операции с БД //Валидация, если все ок идем дальше if (_validator.CheckAll() && room_cmbx.SelectedItem is Room room && group_cmbx.SelectedItem is Group group && teacher_cmbx.SelectedItem is Teacher teacher && lesson_cmbx.SelectedItem is Lesson lesson) { if (_isEdit) // если вкл. редактирование { if (dgv.SelectedRows.Count <= 0) { return; } if (dgv.SelectedRows[0].DataBoundItem is Schedule item) // получаем выбранные элемент { item.Group = null; item.Room = null; item.Lesson = null; item.Teacher = null; item.GroupId = group.GroupId; item.LessonId = lesson.LessonId; item.TeacherId = teacher.TeacherId; item.RoomId = room.RoomId; item.DateTime = DateTime.Parse(dob_txbx.Text, new CultureInfo("ru-ru"), DateTimeStyles.None); try { //обновление данных в БД result = await _dataService.UpdateEntityAsync(item); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else // если идет создание нового обьекта { var item = new Schedule() // создаем обьект и заполняем данными { GroupId = group.GroupId, LessonId = lesson.LessonId, TeacherId = teacher.TeacherId, RoomId = room.RoomId, DateTime = DateTime.Parse(dob_txbx.Text, new CultureInfo("ru-ru"), DateTimeStyles.None) }; try { DisableControls(); //выкл контролы //пытаемся добавить в БД result = await _dataService.AddEntityAsync(item); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); LoadData(null); } } //Если все было ок, перезагружаем данные из БД if (result) { _validator.ClearValidateState(); LoadData(null); } }
private async void SaveBtnClick(object sender, EventArgs e) { if (_validator.CheckAll() && nationalty_cmbx.SelectedItem is Nationality nationality && status_cmbx.SelectedItem is Status status) { if (_children.ChildrenId == default) // новый детенок { var child = new Children() { FirstName = fname_txbx.Text, LastName = lname_txbx.Text, Patronymic = mname_txbx.Text, DateOfBirth = DateTime.Parse(dob_txbx.Text, cultureInfo), DateOfRequest = DateTime.Parse(dateOfRequest_txbx.Text, cultureInfo), DocumentOfBirth = documentOfBirth_txbx.Text, GroupId = (group_cmbx.SelectedItem as Group)?.GroupId, NationalityId = nationality.NationalityId, Referral = referral_txbx.Text, StatusId = status.StatusId }; if (enteredDate_txbx.Text.Length > 0) { child.EnteredDate = DateTime.Parse(enteredDate_txbx.Text, cultureInfo); } if (graduatedDate_txbx.Text.Length > 0) { child.GraduatedDate = DateTime.Parse(graduatedDate_txbx.Text, cultureInfo); } if (referralDate_txbx.Text.Length > 0) { child.ReferralDate = DateTime.Parse(referralDate_txbx.Text, cultureInfo); } child.Parents = parentData.Select(x => new ParentChildren() { ParentId = x.Parent.ParentId }).ToList(); await _dataService.AddEntityAsync(child); MessageBox.Show(@"Воспитанник добавлен в базу данных", @"Успех", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); Close(); } else { _children.Nationality = null; _children.Group = null; _children.Status = null; _children.Parents = null; _children.FirstName = fname_txbx.Text; _children.LastName = lname_txbx.Text; _children.Patronymic = mname_txbx.Text; _children.DateOfBirth = DateTime.Parse(dob_txbx.Text, cultureInfo); _children.DateOfRequest = DateTime.Parse(dateOfRequest_txbx.Text, cultureInfo); _children.DocumentOfBirth = documentOfBirth_txbx.Text; _children.GroupId = (group_cmbx.SelectedItem as Group)?.GroupId; _children.NationalityId = nationality.NationalityId; _children.Referral = referral_txbx.Text; _children.StatusId = status.StatusId; if (enteredDate_txbx.Text.Length > 0) { _children.EnteredDate = DateTime.Parse(enteredDate_txbx.Text, cultureInfo); } if (graduatedDate_txbx.Text.Length > 0) { _children.GraduatedDate = DateTime.Parse(graduatedDate_txbx.Text, cultureInfo); } if (referralDate_txbx.Text.Length > 0) { _children.ReferralDate = DateTime.Parse(referralDate_txbx.Text, cultureInfo); } await _dataService.UpdateEntityAsync(_children); MessageBox.Show(@"Данные воспитанника обновлены", @"Успех", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); Close(); } } }
//Кнопка сохранить private async void SaveBtnClick(object sender, EventArgs e) { bool result = false; // флаг успешности операции с БД //Валидация, если все ок идем дальше if (_validator.CheckAll() && mealtime_cmbx.SelectedItem is MealTime mealTime && dish_cmbx.SelectedItem is Dish dish) { if (_isEdit) // если вкл. редактирование { if (dgv.SelectedRows.Count <= 0) { return; } if (dgv.SelectedRows[0].DataBoundItem is Menu item) // получаем выбранные элемент { item.Date = DateTime.Parse(date_txbx.Text, CultureInfo); // изменяем его содержимое item.Count = decimal.Parse(count_txbx.Text); item.MealTimeId = mealTime.MealTimeId; item.DishId = dish.DishId; item.Dish = null; item.MealTime = null; try { //обновление данных в БД result = await _dataService.UpdateEntityAsync(item); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else // если идет создание нового обьекта { var item = new Menu() // создаем обьект и заполняем данными { Date = DateTime.Parse(date_txbx.Text, CultureInfo), // изменяем его содержимое Count = decimal.Parse(count_txbx.Text), MealTimeId = mealTime.MealTimeId, DishId = dish.DishId }; try { DisableControls(); //выкл контролы //пытаемся добавить в БД result = await _dataService.AddEntityAsync(item); } catch (Exception exception) { MessageBox.Show(exception.Message, @"Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); LoadData(searchdate_txbx.Text); } } //Если все было ок, перезагружаем данные из БД if (result) { _validator.ClearValidateState(); LoadData(searchdate_txbx.Text); } }
private async void LoadData() { if (_validator.CheckAll()) { var gr = dep_cmbx.SelectedItem as Group; var start = new DateTime(date_dtpc.Value.Year, date_dtpc.Value.Month, 1); var end = start.AddMonths(1).Subtract(new TimeSpan(0, 0, 1)); var countDays = Math.Round((end - start).TotalDays); try { Visit[] items; //Получим учеников у кого нет посещений за выбранный период //получим кол-во дней var children = await _service.GetEntitiesAsync <Children>(x => x.GroupId == gr.GroupId); var childVisits = children.Select(x => new { x.ChildrenId, _service.GetEntitiesAsync <Visit>(c => c.ChildrenId == x.ChildrenId && c.Date >= start && c.Date <= end).Result }).ToArray(); //Получаем детей у кого кол-во посещений меньше кол-ва дней в месяце var missChildren = childVisits.Where(x => x.Result.Length < countDays).ToArray(); if (missChildren.Length > 0) { MessageBox.Show("Обнаружены воспитанники у которых не сформирован журнал посещений. " + "Журнал будет создан, пожалуйста, подождите." + "Это может занять до 1 минуты", "Пожалуйста подождите", MessageBoxButtons.OK, MessageBoxIcon.Information); toolStripProgressBar1.Maximum = missChildren.Length; toolStripProgressBar1.Value = 0; } foreach (var miss in missChildren) { var startdate = start; for (int i = 0; i < countDays; i++) { if (miss.Result.Any(x => x.Date.Date == startdate.AddDays(i).Date)) { continue; } else { await _service.AddEntityAsync(new Visit() { ChildrenId = miss.ChildrenId, Date = start.Date.AddDays(i), StatusId = 6 }); } } toolStripProgressBar1.Value++; } toolStripProgressBar1.Value = 0; items = await _service.GetEntitiesAsync <Visit>(x => x.Children.GroupId == gr.GroupId && x.Date >= start && x.Date <= end); if (items.Length > 0) { try { var table = await VisitJournal.GetVisitGournal(items, start); visit_dgv.DataSource = table; } catch (Exception e) { MessageBox.Show($"Ошибка при формировании таблицы посещений. " + $"На дату {start.ToString("dd/MM/yyyy")} " + e.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { var childrens = await _service.GetEntitiesAsync <Children>(); childrens = childrens.Where(x => x.Group != null && x.GroupId == gr.GroupId) .ToArray(); if (childrens.Length == 0) { MessageBox.Show("Нет воспитанников в выбранной группе" , "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); visit_dgv.DataSource = null; return; } } } catch (Exception ex) { MessageBox.Show(ex.Message); } } else { visit_dgv.DataSource = null; } }