123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- using Avalonia.Controls;
- using MsBox.Avalonia;
- using MsBox.Avalonia.Enums;
- using N11_1.Models;
- using N11_1.Views;
- using ReactiveUI;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace N11_1.ViewModels
- {
- public class MainWindowViewModel : ViewModelBase
- {
- //экземпляр таблицы
- public static _43pKotkovaContext connection = new _43pKotkovaContext();
- //элемент главной страницы
- UserControl thisContent = new TeacherDataList();
- public UserControl ThisContent { get => thisContent; set => this.RaiseAndSetIfChanged(ref thisContent, value); }
- //блоки главной страницы
- VMTeacherDataListViewModel teacherDataList = new VMTeacherDataListViewModel();
- VMTeacherAddViewModel teacherAdd = new VMTeacherAddViewModel();
- public VMTeacherDataListViewModel TeacherDataList { get => teacherDataList; set => this.RaiseAndSetIfChanged(ref teacherDataList, value); }
- public VMTeacherAddViewModel TeacherAdd { get => teacherAdd; set => this.RaiseAndSetIfChanged(ref teacherAdd, value); }
- /// <summary>
- /// Переход на страницу добавления учителя
- /// </summary>
- public void ToAddTeacher()
- {
- ThisContent = new TeacherAdd();
- }
- public async void BackToHome()
- {
- switch (await MessageBoxManager
- .GetMessageBoxStandard("Подтверждение выхода", "Вы действительно хотите выйти? Введенные вами данные не сохраняться",
- ButtonEnum.YesNo).ShowAsync())
- {
- case ButtonResult.Yes:
- {
- ThisContent = new TeacherDataList();
- break;
- }
- default:
- {
- break;
- }
- }
- }
- public async void AddTeacher()
- {
- string result = TeacherAdd.add();
- if (result != "")
- {
- await MessageBoxManager.GetMessageBoxStandard("Ошибка заполнения данных", result).ShowAsync();
- }
- else
- {
- try
- {
- TbTeacher teacher = new TbTeacher();//новый экземпляр учителя
- teacher.FirstName = TeacherAdd.Name;
- teacher.LastName = TeacherAdd.Surname;
- teacher.Patronymic = TeacherAdd.Patronomic;
- teacher.IdGender = (TeacherAdd.GenderM) ? 1 : 2;
- teacher.WorkExperience = Convert.ToDecimal(TeacherAdd.WorkExpensive);
- teacher.Email = TeacherAdd.Mail;
- teacher.Phone = TeacherAdd.Phone;
- teacher.DateOf = TeacherAdd.Dateofbirthd.DateTime;
- connection.TbTeachers.Add(teacher);//добавляем учителя
- connection.SaveChanges();//сохраняем учителя
- foreach(string item in TeacherAdd.SelectedLesson)
- {
- TbLesson lesson = connection.TbLessons.FirstOrDefault(tb => tb.Name == item);
- if(lesson != null)
- {
- TbTeachersLesson teachersLesson = new TbTeachersLesson()
- {
- IdLesson = lesson.Id,
- IdTeacher = teacher.Id
- };
- connection.TbTeachersLessons.Add(teachersLesson);
- }
- }
- connection.SaveChanges();//сохраняем преподователя
- await MessageBoxManager.GetMessageBoxStandard("Успешно", "Данные об учителе успешно добавлены").ShowAsync();
- teacherDataList = new VMTeacherDataListViewModel();
- ThisContent = new TeacherDataList();
- }
- catch
- {
- await MessageBoxManager.GetMessageBoxStandard("Ошибка сохранения данных", "Во время сохранения данных возникла ошибка").ShowAsync();
- }
- }
- }
- }
- }
|