| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using Prism.Commands;
- using Prism.Events;
- using Prism.Ioc;
- using Prism.Mvvm;
- using Prism.Regions;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.ComponentModel;
- using System.Linq;
- using System.Windows.Input;
- using System.Threading.Tasks;
- using TeamAAS_VP.Data;
- using TeamAAS_VP.Enums;
- using TeamAAS_VP.Events;
- using TeamAAS_VP.Core;
- using TeamAAS_VP.Models;
- using TouchSocket.Core;
- using TeamAAS_VP.Resources.Languages;
- using TeamAAS_VP.Interfaces;
- namespace TeamAAS_VP.ViewModels.User
- {
- public class SignUpViewModel : BindableBase
- {
- IRegionManager _regionManager;
- IEventAggregator _eventAggregator;
- IContainerProvider _container;
- private readonly ISystemDatabaseService _systemDb;
- #region 属性
- public TeamAAS_VP.Models.User MyUser { get; set; } = new TeamAAS_VP.Models.User();
- #endregion
- #region 命令
- /// <summary>
- /// 注册命令
- /// </summary>
- public DelegateCommand SignUpCommand { get; set; }
- /// <summary>
- /// 登录命令
- /// </summary>
- public DelegateCommand BackupCommand { get; set; }
- #endregion
- #region 事件
- #endregion
- public SignUpViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, ISystemDatabaseService systemDb)
- {
- _regionManager = regionManager;
- _eventAggregator = ea;
- _container = container;
- _systemDb = systemDb;
- SignUpCommand = new DelegateCommand(async () => await SignUpAsync());
- BackupCommand = new DelegateCommand(new Action(Backup));
- }
- #region 方法
- private void Backup()
- {
- _regionManager.RequestNavigate("UserRegionContext", "LoginView");
- _container.Resolve<LoginViewModel>().UpdateUserList();
- }
- private async Task SignUpAsync()
- {
- if (string.IsNullOrEmpty(MyUser.UserName))
- return;
- MyUser.CreateTime = DateTime.Now;
- MyUser.IsRemember = false;
- try
- {
- // if Id is zero then treat as new
- var added = await _systemDb.AddUserAsync(MyUser);
- _eventAggregator.GetEvent<SnackbarMessageNotification>().Publish(new MessageParameter() { Msg = Lang.完成注册, Duration = 1 });
- }
- catch (Exception)
- {
- _eventAggregator.GetEvent<SnackbarMessageNotification>().Publish(new MessageParameter() { Msg = Lang.已注册, Duration = 1 });
- }
- }
- #endregion
- }
- }
|