UserWindow.axaml.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Linq;
  3. using Avalonia;
  4. using Avalonia.Controls;
  5. using Avalonia.Interactivity;
  6. using Avalonia.Markup.Xaml;
  7. using FirstSlice.Models;
  8. namespace FirstSlice;
  9. public partial class UserWindow : Window
  10. {
  11. private User user_ = null;
  12. public UserWindow()
  13. {
  14. InitializeComponent();
  15. ComboRole.Items = Helper.GetContext().Roles.ToList();
  16. }
  17. public UserWindow(User user)
  18. {
  19. InitializeComponent();
  20. user_ = user;
  21. TextFullName.Text = user_.Fullname;
  22. TextBirthday.Text = user_.Birthday;
  23. TextAddress.Text = user_.Address;
  24. TextPhoneNumber.Text = user_.Phonenumber;
  25. ComboRole.Items = Helper.GetContext().Roles.ToList();
  26. ComboRole.SelectedItem = user_.FkRole;
  27. }
  28. private void OnSaveUserClick(object? sender, RoutedEventArgs e)
  29. {
  30. if (String.IsNullOrWhiteSpace(TextFullName.Text) ||
  31. String.IsNullOrWhiteSpace(TextAddress.Text) ||
  32. String.IsNullOrWhiteSpace(TextBirthday.Text) ||
  33. String.IsNullOrWhiteSpace(TextPhoneNumber.Text) ||
  34. ComboRole.SelectedItem == null)
  35. {
  36. return;
  37. }
  38. if (user_ != null)
  39. {
  40. var role = ComboRole.SelectedItem as Role;
  41. user_.Fullname = TextFullName.Text;
  42. user_.Address = TextAddress.Text;
  43. user_.Birthday = TextBirthday.Text;
  44. user_.Phonenumber = TextPhoneNumber.Text;
  45. user_.FkRole = role;
  46. user_.FkRoleId = role.Id;
  47. Helper.GetContext().Update(user_);
  48. Helper.GetContext().SaveChanges();
  49. this.Close();
  50. }
  51. else
  52. {
  53. var newUser = new User();
  54. var role = ComboRole.SelectedItem as Role;
  55. newUser.Fullname = TextFullName.Text;
  56. newUser.Address = TextAddress.Text;
  57. newUser.Birthday = TextBirthday.Text;
  58. newUser.Phonenumber = TextPhoneNumber.Text;
  59. newUser.FkRole = role;
  60. newUser.FkRoleId = role.Id;
  61. Helper.GetContext().Add(newUser);
  62. Helper.GetContext().SaveChanges();
  63. this.Close();
  64. }
  65. }
  66. }