| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Collections.ObjectModel; |
| | | using System.ComponentModel; |
| | | using System.Linq; |
| | | using System.Reflection; |
| | | using System.Windows; |
| | | using Microsoft.Win32; |
| | | using Panuon.WPF.UI; |
| | | using HMI.Core.Annotation; |
| | | using HMI.Core.Entity; |
| | | using HMI.Core.Exceptions; |
| | | using HMI.Core.Util; |
| | | using HMI.Core.Util; |
| | | using HMI.MenuManage.Entity; |
| | | using HMI.MenuManage.Util; |
| | | using HMI.UI.DpUtil; |
| | | using HMI.UI.Util; |
| | | using Panuon.WPF.UI; |
| | | using System; |
| | | using System.Collections.ObjectModel; |
| | | using System.ComponentModel; |
| | | |
| | | namespace HMI.MenuManage |
| | | { |
| | |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | Panuon.WPF.UI.Toast.Show(this, "Error!", ToastPosition.Top); |
| | | ToastHelper.Error(this, $"Error!{ex.Message}"); |
| | | e.Cancel = true; |
| | | return; |
| | | } |
| | |
| | | base.OnClosing(e); |
| | | } |
| | | |
| | | private bool ValidateForm() |
| | | private bool ValidateUsername(object value, out string err) |
| | | { |
| | | try |
| | | err = null; |
| | | string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'"; |
| | | string sql = $"SELECT 1 FROM user WHERE username='{TbUsername.Text}'{segment};"; |
| | | if (sqliteHelper.HasData(sql)) |
| | | { |
| | | FormValidateException ex = new FormValidateException(); |
| | | string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'"; |
| | | string sql = $"SELECT 1 FROM user WHERE username='{TbUsername.Text}'{segment};"; |
| | | if (string.IsNullOrEmpty(TbUsername.Text)) |
| | | { |
| | | ex.Result.Add(new FormGroupValidateResult("请输入账号", FgUsername)); |
| | | } |
| | | else if (sqliteHelper.HasData(sql)) |
| | | { |
| | | ex.Result.Add(new FormGroupValidateResult("账号不能重复", FgUsername)); |
| | | } |
| | | else |
| | | { |
| | | FgUsername.ValidateResult = ValidateResult.None; |
| | | FgUsername.Message = null; |
| | | } |
| | | |
| | | if (string.IsNullOrEmpty(TbName.Text)) |
| | | { |
| | | ex.Result.Add(new FormGroupValidateResult("请输入用户名称", FgName)); |
| | | } |
| | | else |
| | | { |
| | | FgName.ValidateResult = ValidateResult.None; |
| | | FgName.Message = null; |
| | | } |
| | | |
| | | if (!ex.Success) |
| | | { |
| | | throw ex; |
| | | } |
| | | } |
| | | catch (FormValidateException ex) |
| | | { |
| | | foreach (var data in ex.Result) |
| | | { |
| | | var fg = (FormGroup)data.Sender; |
| | | fg.ValidateResult = ValidateResult.Error; |
| | | fg.Message = data.Message; |
| | | } |
| | | err = string.Format(LangUtil.Get("App.MustBeUnique"), LangUtil.Get("HMI.User.Account")); |
| | | return false; |
| | | } |
| | | |
| | | Data.Username = TbUsername.Text; |
| | | Data.Name = TbName.Text; |
| | | Data.Password = TbPassword.Text; |
| | | return true; |
| | | } |
| | | |
| | | private bool ValidateCode(object value, out string err) |
| | | { |
| | | err = null; |
| | | string segment = string.IsNullOrEmpty(Data.Id) ? "" : $" AND id!='{Data.Id}'"; |
| | | string sql = $"SELECT 1 FROM user WHERE code='{TbCode.Text}'{segment};"; |
| | | if (sqliteHelper.HasData(sql)) |
| | | { |
| | | err = string.Format(LangUtil.Get("App.MustBeUnique"), LangUtil.Get("HMI.User.Code")); |
| | | return false; |
| | | } |
| | | return true; |
| | | } |
| | | |
| | | private bool ValidateForm() |
| | | { |
| | | bool flag = FormGroupHelper.ValidateForm(formPanel); |
| | | if (flag) |
| | | { |
| | | Data.Code = TbCode.Text; |
| | | Data.Username = TbUsername.Text; |
| | | Data.Name = TbName.Text; |
| | | Data.Password = TbPassword.Text; |
| | | } |
| | | |
| | | return flag; |
| | | } |
| | | |
| | | public bool? Open(UserData data) |
| | | { |
| | | Data = data; |
| | | TbCode.Text = Data.Code; |
| | | TbUsername.Text = Data.Username; |
| | | TbName.Text = Data.Name; |
| | | TbPassword.Text = Data.Password; |
| | |
| | | |
| | | public void InsertData(UserData data) |
| | | { |
| | | string sql = $@"INSERT INTO user (username,password,name) |
| | | string sql = $@"INSERT INTO user (code, username,password,name) |
| | | VALUES |
| | | ('{data.Username}','{data.Password}','{data.Name}');"; |
| | | ('{data.Code}', '{data.Username}','{data.Password}','{data.Name}');"; |
| | | UserRoleRelHelper.SaveUserRoleRel(sqliteHelper, Roles, data, sql, null); |
| | | } |
| | | |
| | | |
| | | |
| | | public void UpdateData(UserData data) |
| | | { |
| | | string sql = $@"UPDATE user SET username='{data.Username}',password='{data.Password}',name='{data.Name}' |
| | | string sql = $@"UPDATE user SET code='{data.Code}', username='{data.Username}',password='{data.Password}',name='{data.Name}' |
| | | WHERE id='{data.Id}';"; |
| | | UserRoleRelHelper.SaveUserRoleRel(sqliteHelper, Roles, data, sql, null); |
| | | } |