You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
3.5 KiB
118 lines
3.5 KiB
using SparkClient.Model.Helper; |
|
using SparkClient.ViewModel.Configuration.SettingsPages; |
|
using System.Data; |
|
using System.Windows; |
|
using System.Windows.Input; |
|
|
|
namespace SparkClient; |
|
|
|
public partial class LoginWindow : Window |
|
{ |
|
public LoginWindow() |
|
{ |
|
InitializeComponent(); |
|
WindowStartupLocation = WindowStartupLocation.CenterScreen; |
|
AccountTextBox.Text = Settings.SelectValueByName("SAVE_ACCOUNT"); |
|
PasswordBox.Password = Settings.SelectValueByName("SAVE_PASSWORD"); |
|
} |
|
private void Grid_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) |
|
{ |
|
if (e.ButtonState == MouseButtonState.Pressed) |
|
{ |
|
this.DragMove(); |
|
} |
|
} |
|
|
|
private void UIElement_OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e) |
|
{ |
|
AccountTextBox.Text = string.Empty; |
|
} |
|
|
|
private void CloseButton_OnClick(object sender, RoutedEventArgs e) |
|
{ |
|
this.Close(); |
|
Environment.Exit(0); |
|
} |
|
|
|
private void ConfirmButton_Click(object sender, RoutedEventArgs e) |
|
{ |
|
#if DEBUG |
|
|
|
new MainWindow().Show(); |
|
this.Close(); |
|
|
|
#else |
|
string account = AccountTextBox.Text; |
|
string password = PasswordBox.Password; |
|
string passwordEnc = Common.GenerateMd5Hash(password); |
|
string passworddb = getPassword(account); |
|
if (string.IsNullOrEmpty(password) || !passworddb.Equals(passwordEnc)) |
|
{ |
|
MessageBox.Show(MultilingualHelper.getString("NoPassword")); |
|
return; |
|
} |
|
savePassword(); |
|
new MainWindow().Show(); |
|
this.Close(); |
|
#endif |
|
} |
|
|
|
private void savePassword() |
|
{ |
|
if (IsRemberPassword.IsChecked ?? false) |
|
{ |
|
if (!"admin".Equals(AccountTextBox.Text)){ |
|
Settings saveAccount = new Settings() |
|
{ |
|
Key = "SAVE_ACCOUNT", |
|
ItemName = "保存用户名", |
|
Value = AccountTextBox.Text, |
|
}; |
|
saveAccount.insert(); |
|
Settings savePassword = new Settings() |
|
{ |
|
Key = "SAVE_PASSWORD", |
|
ItemName = "保存密码", |
|
Value = PasswordBox.Password, |
|
}; |
|
savePassword.insert(); |
|
} |
|
} |
|
else |
|
{ |
|
Settings saveAccount = new Settings() |
|
{ |
|
Key = "SAVE_ACCOUNT", |
|
ItemName = "保存用户名", |
|
Value = "", |
|
}; |
|
saveAccount.insert(); |
|
Settings savePassword = new Settings() |
|
{ |
|
Key = "SAVE_PASSWORD", |
|
ItemName = "保存密码", |
|
Value = "", |
|
}; |
|
savePassword.insert(); |
|
} |
|
Settings PERMISSIONS = new Settings() |
|
{ |
|
Key = "PERMISSIONS", |
|
ItemName = "权限", |
|
Value = AccountTextBox.Text, |
|
}; |
|
PERMISSIONS.insert(); |
|
} |
|
|
|
private string getPassword(string userName) |
|
{ |
|
string password = string.Empty; |
|
string sql = $"SELECT USER_PASSWORD FROM USER WHERE USER_NAME='{userName}';"; |
|
DataTable dt = DataBaseHelper.ExecuteQuery(sql); |
|
if (dt != null && dt.Rows.Count > 0) |
|
{ |
|
password = dt.Rows[0]["USER_PASSWORD"].ToString(); |
|
} |
|
return password; |
|
} |
|
} |