啊鑫
2024-10-25 cefcc903f51610846fa313a3a35bca34e129c1fe
DevApp/Gs.DevApp/DevFrm/FrmLogin.cs
@@ -1,41 +1,46 @@
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using System;
using System.Windows.Forms;
using Gs.DevApp.Entity;
using Newtonsoft.Json.Linq;
using System.Data;
using System;
using System.Configuration;
using AutoUpdaterDotNET;
using System.Linq;
using System.Windows.Forms;
using AutoUpdaterDotNET;
using DevExpress.XtraEditors;
using Gs.DevApp.Entity;
using Gs.DevApp.Properties;
using Gs.DevApp.ToolBox;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace Gs.DevApp.DevFrm
{
    public partial class FrmLogin : DevExpress.XtraEditors.XtraForm
    public partial class FrmLogin : XtraForm
    {
        public FrmLogin()
        {
            InitializeComponent();
            if (ConfigurationManager.AppSettings["IsAutoUpdater"].ToString() == "1")
            if (ConfigurationManager.AppSettings["IsAutoUpdater"] == "1")
                _autoUpdate();
            else
                getTree();
            this.Text = lbVersion.Text = ConfigurationManager.AppSettings["ProductName"].ToString();
            Text = lbVersion.Text =
                ConfigurationManager.AppSettings["ProductName"];
            btnLogin.Click += BtnLogin_Click;
            btnCancel.Click += BtnCancel_Click;
        }
        /// <summary>
        /// 读取组织
        ///     读取组织
        /// </summary>
        private void getTree()
        {
            PageQueryModel pgq = new PageQueryModel(1, 999999, "factory", "asc", "", " and IS_STATUS=1");
            string json = JsonConvert.SerializeObject(pgq);
            var pgq = new PageQueryModel(1, 999999, "factory", "asc", "",
                " and IS_STATUS=1");
            var json = JsonConvert.SerializeObject(pgq);
            try
            {
                string strReturn = UtilityHelper.HttpPost("", "Organization/GetListPage", json);
                ReturnModel<PageListModel> rtn = UtilityHelper.ReturnToTablePage(strReturn);
                DataTable dt = rtn.rtnData.list;
                var strReturn = UtilityHelper.HttpPost("",
                    "Organization/GetListPage", json);
                var rtn = UtilityHelper.ReturnToTablePage(strReturn);
                var dt = rtn.rtnData.list;
                comOrg.DataSource = dt;
                comOrg.DisplayMember = "name";
                comOrg.ValueMember = "guid";
@@ -44,38 +49,41 @@
            }
            catch (Exception ex)
            {
                ToolBox.MsgHelper.Warning("提示:" + ex.Message);
                this.Close();
                MsgHelper.Warning("提示:" + ex.Message);
                Close();
                Application.Exit();
            }
        }
        private void BtnCancel_Click(object sender, EventArgs e)
        {
            if (MsgHelper.AskQuestion("确定要退出系统吗?"))
            {
                Application.Exit();
            }
            if (MsgHelper.AskQuestion("确定要退出系统吗?")) Application.Exit();
        }
        private void BtnLogin_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txtUser.Text.Trim()))
            {
                Gs.DevApp.ToolBox.MsgHelper.Warning("登录账号不能为空!");
                MsgHelper.Warning("登录账号不能为空!");
                txtUser.Focus();
                return;
            }
            if (string.IsNullOrEmpty(txtPwd.Text.Trim()))
            {
                Gs.DevApp.ToolBox.MsgHelper.Warning("密码不能为空!");
                MsgHelper.Warning("密码不能为空!");
                txtUser.Focus();
                return;
            }
            if (comOrg.SelectedValue == null || string.IsNullOrEmpty(comOrg.SelectedValue.ToString().Trim()))
            if (comOrg.SelectedValue == null ||
                string.IsNullOrEmpty(comOrg.SelectedValue.ToString().Trim()))
            {
                Gs.DevApp.ToolBox.MsgHelper.Warning("组织机构不能为空!");
                MsgHelper.Warning("组织机构不能为空!");
                txtUser.Focus();
                return;
            }
            var _obj = new
            {
                accountPwd = txtPwd.Text.Trim(),
@@ -84,70 +92,81 @@
            };
            try
            {
                string strJson = UtilityHelper.HttpPost("", "User/UserLogin", JsonConvert.SerializeObject(_obj));
                ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
                var strJson = UtilityHelper.HttpPost("", "User/UserLogin",
                    JsonConvert.SerializeObject(_obj));
                var _rtn = UtilityHelper.ReturnToDynamic(strJson);
                JObject _login = _rtn.rtnData;
                if (_rtn.rtnCode > 0)
                {
                    Properties.Settings.Default.userName = (ckRemember.Checked ? txtUser.Text.Trim() : "");
                    Properties.Settings.Default.userPwd = (ckRemember.Checked ? txtPwd.Text.Trim() : "");
                    Properties.Settings.Default.orgGuid = (ckRemember.Checked ? comOrg.SelectedValue.ToString() : "");
                    Properties.Settings.Default.remember = ckRemember.Checked;
                    Properties.Settings.Default.Save();
                    LoginInfoModel.CurrentUser.LoginUserGuid = _login["loginGuid"].ToString();
                    LoginInfoModel.CurrentUser.LoginOrgGuid = _login["loginOrgGuid"].ToString();
                    LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
                    LoginInfoModel.CurrentUser.LoginFactory = _login["loginFactory"].ToString();
                    this.DialogResult = DialogResult.OK;
                    Settings.Default.userName = ckRemember.Checked
                        ? txtUser.Text.Trim()
                        : "";
                    Settings.Default.userPwd =
                        ckRemember.Checked ? txtPwd.Text.Trim() : "";
                    Settings.Default.orgGuid = ckRemember.Checked
                        ? comOrg.SelectedValue.ToString()
                        : "";
                    Settings.Default.remember = ckRemember.Checked;
                    Settings.Default.Save();
                    LoginInfoModel.CurrentUser.LoginUserGuid =
                        _login["loginGuid"].ToString();
                    LoginInfoModel.CurrentUser.LoginOrgGuid =
                        _login["loginOrgGuid"].ToString();
                    LoginInfoModel.CurrentUser.LoginTime =
                        DateTime.Now.ToString("yyyy-MM-dd hh:mm");
                    LoginInfoModel.CurrentUser.LoginFactory =
                        _login["loginFactory"].ToString();
                    DialogResult = DialogResult.OK;
                }
                else
                {
                    ToolBox.MsgHelper.Warning("提示:" + _rtn.rtnMsg);
                    this.DialogResult = DialogResult.None;
                    MsgHelper.Warning("提示:" + _rtn.rtnMsg);
                    DialogResult = DialogResult.None;
                }
            }
            catch (Exception ex)
            {
                this.DialogResult = DialogResult.Cancel;
                ToolBox.MsgHelper.Warning("提示:" + ex.Message);
                DialogResult = DialogResult.Cancel;
                MsgHelper.Warning("提示:" + ex.Message);
            }
        }
        /// <summary>
        /// 读取记住密码
        ///     读取记住密码
        /// </summary>
        private void _getRemember()
        {
            try
            {
                if (Properties.Settings.Default.remember)
                if (Settings.Default.remember)
                {
                    txtUser.Text = Properties.Settings.Default.userName;
                    txtPwd.Text = Properties.Settings.Default.userPwd;
                    comOrg.SelectedValue = Properties.Settings.Default.orgGuid;
                    txtUser.Text = Settings.Default.userName;
                    txtPwd.Text = Settings.Default.userPwd;
                    comOrg.SelectedValue = Settings.Default.orgGuid;
                    ckRemember.Checked = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void _autoUpdate()
        {
            string _version = ConfigurationManager.AppSettings["Version"];
            var _version = ConfigurationManager.AppSettings["Version"];
            AutoUpdater.InstalledVersion = new Version(_version);
            AutoUpdater.Start(ConfigurationManager.AppSettings["AutoUpdaterXml"].ToString());
            AutoUpdater.Start(
                ConfigurationManager.AppSettings["AutoUpdaterXml"]);
            AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent;
        }
        private void AutoUpdater_CheckForUpdateEvent(UpdateInfoEventArgs args)
        {
            if (args == null || string.IsNullOrEmpty(args.DownloadURL))
            {
                MsgHelper.ShowError("读取自动更新失败,无法登录,请联系管理员!");
                this.Close();
                Close();
                Application.Exit();
                return;
            }
@@ -157,48 +176,54 @@
                getTree();
                return;
            }
            string _strMsg = string.Format($@"有新版本 {args.CurrentVersion} 可用,您使用的是 {args.InstalledVersion}版本,这是必需的更新,按“是(Y)”开始更新应用程序。");
            var _strMsg =
                string.Format(
                    $@"有新版本 {args.CurrentVersion} 可用,您使用的是 {args.InstalledVersion}版本,这是必需的更新,按“是(Y)”开始更新应用程序。");
            if (!MsgHelper.AskQuestion(_strMsg))
            {
                this.Close();
                Close();
                Application.Exit();
                return;
            }
            try
            {
                if (AutoUpdater.DownloadUpdate(args))
                {
                    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                    var config =
                        ConfigurationManager.OpenExeConfiguration(
                            ConfigurationUserLevel.None);
                    if (config != null)
                    {
                        AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");
                        var appSettings =
                            (AppSettingsSection)config.GetSection(
                                "appSettings");
                        if (appSettings.Settings.AllKeys.Contains("Version"))
                        {
                            appSettings.Settings["Version"].Value = args.CurrentVersion;
                        }
                            appSettings.Settings["Version"].Value =
                                args.CurrentVersion;
                        else
                        {
                            appSettings.Settings.Add("Version", args.CurrentVersion);
                        }
                            appSettings.Settings.Add("Version",
                                args.CurrentVersion);
                        config.Save(ConfigurationSaveMode.Modified);
                        ConfigurationManager.RefreshSection("appSettings");
                    }
                    Application.Exit();
                }
                else
                {
                    MsgHelper.ShowError("读取自动更新失败,无法登录,请联系管理员!");
                    this.Close();
                    Close();
                    Application.Exit();
                    return;
                }
            }
            catch (Exception exception)
            {
                MsgHelper.ShowError(exception.Message + ":" + exception.GetType().ToString());
                this.Close();
                MsgHelper.ShowError(exception.Message + ":" +
                                    exception.GetType());
                Close();
                Application.Exit();
                return;
            }
        }
    }