wenxiangchao
3 天以前 b544d5cccd76735e034c8055918a50927b437474
HMI.MenuManage/Modal/UserModal.xaml.cs
@@ -1,18 +1,12 @@
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
{
@@ -63,7 +57,7 @@
                }
                catch (Exception ex)
                {
                    Panuon.WPF.UI.Toast.Show(this, "Error!", ToastPosition.Top);
                    ToastHelper.Error(this, $"Error!{ex.Message}");
                    e.Cancel = true;
                    return;
                }
@@ -76,65 +70,53 @@
            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.Password;
            }
            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;
            TbPassword.Password = Data.Password;
            Roles = UserRoleRelHelper.SelectUserRoleData(sqliteHelper, Data.Username);
@@ -155,17 +137,15 @@
        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);
        }