You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

88 lines
2.7 KiB
C#

using MaterialTraceability.Entity.DAO;
using MaterialTraceability.SqlSugar;
using MaterialTraceability.SqlSugar.ServiceImpl;
using MaterialTraceabilityUI.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace MaterialTraceabilityUI
{
/// <summary>
/// Login.xaml 的交互逻辑
/// </summary>
public partial class Login : Window
{
private IBaseServices<SysUserInfo> baseServices = new BaseServices<SysUserInfo>();
public Login()
{
InitializeComponent();
}
/// <summary>
/// 登录方法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void Button_Click(object sender, RoutedEventArgs e)
{
string userName = this.username.Text.ToString();
string password = this.password.Password.ToString();
if (StringExtension.IsBlank(userName) || StringExtension.IsBlank(password))
{
MessageBox.Show("登录失败,用户名或密码为空");
return;
}
this.userLogin(userName, password);
}
/// <summary>
/// 登录验证
/// </summary>
/// <param name="userName"></param>
/// <param name="userPwd"></param>
public async void userLogin(string userName, string userPwd)
{
Expression<Func<SysUserInfo, bool>> expression = s1 => true;
expression = expression.And(x => x.userName == userName);
SysUserInfo sysUserInfo = await baseServices.QuerySingle(expression);
if (sysUserInfo == null)
{
MessageBox.Show(String.Format("登录失败,用户{0}不存在", userName));
DialogResult = false;
return;
}
if (userPwd == MD5Helper.MD5Decrypt(sysUserInfo.userPwd, sysUserInfo.pwdKey))
{
MessageBox.Show(String.Format("用户{0}登录成功",userName));
ConfigHelper.UpdateAppConfig("userName", sysUserInfo.userName);
ConfigHelper.UpdateAppConfig("roleId", sysUserInfo.roleId);
DialogResult = true;
}
else
{
MessageBox.Show("登录失败,用户名或密码错误");
DialogResult = false;
}
}
}
}