AddOrUpdateUser.xaml.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. using Microsoft.EntityFrameworkCore;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using System.Windows;
  8. using System.Windows.Controls;
  9. using System.Windows.Data;
  10. using System.Windows.Documents;
  11. using System.Windows.Input;
  12. using System.Windows.Media;
  13. using System.Windows.Media.Imaging;
  14. using System.Windows.Shapes;
  15. using WpfApp1.Models;
  16. namespace WpfApp1
  17. {
  18. /// <summary>
  19. /// Логика взаимодействия для AddOrUpdateUser.xaml
  20. /// </summary>
  21. public partial class AddOrUpdateUser : Window
  22. {
  23. ApplicationContext db = new ApplicationContext();
  24. Users user;
  25. public AddOrUpdateUser()
  26. {
  27. InitializeComponent();
  28. LoadDatabase();
  29. user = new Users();
  30. }
  31. public AddOrUpdateUser(int id)
  32. {
  33. InitializeComponent();
  34. LoadDatabase();
  35. user = db.Users.Local.FirstOrDefault(x => x.ID == id);
  36. tbSurname.Text = user.Surname;
  37. tbName.Text = user.Name;
  38. tbPatronymic.Text = user.Patronymic;
  39. tbBirthday.Text = user.Birthday;
  40. tbSerial.Text = user.SerialPassport;
  41. tbNumber.Text = user.NumberPassport;
  42. tbWorkExperience.Text = user.WorkExperience.ToString();
  43. tbLogin.Text = user.Login;
  44. tbPassword.Text = user.Password;
  45. Role role = db.Role.Local.FirstOrDefault(x => x.ID == user.IdRole);
  46. tbRole.Text = role.NameRole;
  47. //switch (user.IdRole)
  48. //{
  49. // case 1:
  50. // tbRole.Text = "Администратор";
  51. // break;
  52. // case 2:
  53. // tbRole.Text = "Пользователь";
  54. // break;
  55. // case 3:
  56. // tbRole.Text = "Менеджер";
  57. // break;
  58. // case 4:
  59. // tbRole.Text = "Сотрудник ПВЗ";
  60. // break;
  61. //}
  62. }
  63. void LoadDatabase()
  64. {
  65. // гарантируем, что база данных создана
  66. db.Database.EnsureCreated();
  67. // загружаем данные из БД
  68. db.Users.Load();
  69. db.Role.Load();
  70. }
  71. private void btnSave_Click(object sender, RoutedEventArgs e)
  72. {
  73. try
  74. {
  75. user.Surname = tbSurname.Text;
  76. user.Name = tbName.Text;
  77. user.Patronymic = tbPatronymic.Text;
  78. user.Birthday = tbBirthday.Text;
  79. user.SerialPassport = tbSerial.Text;
  80. user.NumberPassport = tbNumber.Text;
  81. user.WorkExperience = Convert.ToInt32(tbWorkExperience.Text);
  82. user.Login = tbLogin.Text;
  83. user.Password = tbPassword.Text;
  84. Role role = db.Role.Local.FirstOrDefault(x => x.NameRole == tbRole.Text);
  85. user.IdRole = role.ID;
  86. //switch (tbRole.Text)
  87. //{
  88. // case "Администратор":
  89. // user.IdRole = 1;
  90. // break;
  91. // case "Пользователь":
  92. // user.IdRole = 2;
  93. // break;
  94. // case "Менеджер":
  95. // user.IdRole = 3;
  96. // break;
  97. // case "Сотрудник ПВЗ":
  98. // user.IdRole = 4;
  99. // break;
  100. //}
  101. if(user.ID == 0)
  102. {
  103. db.Users.Add(user);
  104. }
  105. db.SaveChanges();
  106. MessageBox.Show("Пользователь добавлен");
  107. Close();
  108. }
  109. catch(Exception ex)
  110. {
  111. MessageBox.Show(ex.Message);
  112. }
  113. }
  114. }
  115. }