SignUpViewModel.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using Prism.Commands;
  2. using Prism.Events;
  3. using Prism.Ioc;
  4. using Prism.Mvvm;
  5. using Prism.Regions;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Collections.ObjectModel;
  9. using System.ComponentModel;
  10. using System.Linq;
  11. using System.Windows.Input;
  12. using TeamAAS_VP.Data;
  13. using TeamAAS_VP.Enums;
  14. using TeamAAS_VP.Events;
  15. using TeamAAS_VP.Core;
  16. using TeamAAS_VP.Models;
  17. using TouchSocket.Core;
  18. using TeamAAS_VP.Resources.Languages;
  19. namespace TeamAAS_VP.ViewModels.User
  20. {
  21. public class SignUpViewModel : BindableBase
  22. {
  23. IRegionManager _regionManager;
  24. IEventAggregator _eventAggregator;
  25. IContainerProvider _container;
  26. #region 属性
  27. public TeamAAS_VP.Models.User MyUser { get; set; }=new TeamAAS_VP.Models.User();
  28. #endregion
  29. #region 命令
  30. /// <summary>
  31. /// 注册命令
  32. /// </summary>
  33. public DelegateCommand SignUpCommand { get; set; }
  34. /// <summary>
  35. /// 登录命令
  36. /// </summary>
  37. public DelegateCommand BackupCommand { get; set; }
  38. #endregion
  39. #region 事件
  40. #endregion
  41. public SignUpViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container)
  42. {
  43. _regionManager= regionManager;
  44. _eventAggregator = ea;
  45. _container = container;
  46. SignUpCommand = new DelegateCommand(new Action(SignUp));
  47. BackupCommand = new DelegateCommand(new Action(Backup));
  48. }
  49. #region 方法
  50. private void Backup()
  51. {
  52. _regionManager.RequestNavigate("UserRegionContext", "LoginView");
  53. _container.Resolve<LoginViewModel>().UpdateUserList();
  54. }
  55. private void SignUp()
  56. {
  57. if (string.IsNullOrEmpty(MyUser.UserName))
  58. return;
  59. MyUser.CreateTime = DateTime.Now;
  60. MyUser.IsRemember = false;
  61. var res= DatabaseHelper.SignUp(MyUser);
  62. if (res.Item1)
  63. {
  64. _eventAggregator.GetEvent<SnackbarMessageNotification>().Publish(new MessageParameter() { Msg = Lang.完成注册, Duration = 1 });
  65. }
  66. else
  67. {
  68. _eventAggregator.GetEvent<SnackbarMessageNotification>().Publish(new MessageParameter() { Msg = Lang.已注册, Duration = 1 });
  69. }
  70. }
  71. #endregion
  72. }
  73. }