123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- using HandyControl.Interactivity.Commands;
- using Shaker.Model;
- using Shaker.ViewModel;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Input;
- namespace ShakerManger.ViewModel
- {
- internal class LoginViewModel : DisplayViewModel<Shaker.Model.UserModel>
- {
- private LoginViewModel()
- {
- }
- static LoginViewModel()
- {
- }
- public static LoginViewModel Default { get; } = new LoginViewModel();
- private string passWord = string.Empty;
- private string message = string.Empty;
- private bool isLoggedIn = false;
- private bool isAnonymous = false;
- public string UserName
- {
- get => Model.UserName;
- set
- {
- UpdateProperty(ref Model.UserName, value);
- Message = string.Empty;
- }
- }
- public string PassWord
- {
- get => passWord;
- set
- {
- UpdateProperty(ref passWord, value);
- Model.PassWord = Shaker.Model.GlobalVariable.MD5Encrypt32(value);
- Message = string.Empty;
- }
- }
- public UserType UserType { get => Model.UserType; set => UpdateProperty(ref Model.UserType, value); }
- public ICommand LoginCommand => new DelegateCommand(Login);
- private void Login()
- {
- if(string.IsNullOrEmpty(UserName))
- {
- Message = "请输入用户名";
- return;
- }
- if(string.IsNullOrEmpty(PassWord))
- {
- Message = "请输入密码";
- return;
- }
- var user = Sql.Default.FindFirst<UserModel>(u => u.UserName == Model.UserName && u.PassWord == Model.PassWord);
- if(user == null)
- {
- Message = "用户名或密码错误";
- return;
- }
- else
- {
- if (user.UserType == UserType.ClientUser)
- {
- Message = "您没有权限登录";
- return;
- }
- else if (user.UserType == UserType.SystemUser || user.UserType == UserType.SystemAdministrator)
- {
- UpDateModel(user);
- MainWindowViewModel.Default.LogManger.AddLog("用户登录");
- IsLoggedIn = true;
- IsAnonymous = false;
- return;
- }
- else
- {
- Message = "用户类型错误";
- }
- }
- }
- public bool IsAnonymous { get => isAnonymous; set =>UpdateProperty(ref isAnonymous , value); }
- public bool IsLoggedIn { get => isLoggedIn; set =>UpdateProperty(ref isLoggedIn, value); }
- public string Message { get => message; set =>UpdateProperty(ref message, value); }
- public override Type View { get; } = typeof(View.LoginView);
- public ICommand AnonymousLoginCommand => new DelegateCommand(() =>
- {
- IsLoggedIn = true;
- IsAnonymous = true;
- MainWindowViewModel.Default.LogManger.AddLog("匿名用户登录");
- });
- }
- }
|