using System;
|
using System.Configuration;
|
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 : XtraForm
|
{
|
public FrmLogin()
|
{
|
InitializeComponent();
|
if (ConfigurationManager.AppSettings["IsAutoUpdater"] == "1")
|
_autoUpdate();
|
_getRemember();
|
Text = lbVersion.Text = ConfigurationManager.AppSettings["ProductName"];
|
btnLogin.Click += BtnLogin_Click;
|
btnCancel.Click += BtnCancel_Click;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(134)));
|
}
|
|
private void BtnCancel_Click(object sender, EventArgs e)
|
{
|
if (MsgHelper.AskQuestion("确定要退出系统吗?")) Application.Exit();
|
}
|
|
private void BtnLogin_Click(object sender, EventArgs e)
|
{
|
if (string.IsNullOrEmpty(txtUser.Text.Trim()))
|
{
|
MsgHelper.Warning("登录账号不能为空!");
|
txtUser.Focus();
|
return;
|
}
|
|
if (string.IsNullOrEmpty(txtPwd.Text.Trim()))
|
{
|
MsgHelper.Warning("密码不能为空!");
|
txtUser.Focus();
|
return;
|
}
|
var _obj = new
|
{
|
accountPwd = txtPwd.Text.Trim(),
|
accountNo = txtUser.Text.Trim(),
|
};
|
try
|
{
|
var strJson = UtilityHelper.HttpPost("", "User/UserLogin",
|
JsonConvert.SerializeObject(_obj));
|
var _rtn = UtilityHelper.ReturnToDynamic(strJson);
|
JObject _login = _rtn.rtnData;
|
if (_rtn.rtnCode > 0)
|
{
|
Settings.Default.userName = ckRemember.Checked ? txtUser.Text.Trim() : "";
|
Settings.Default.userPwd = ckRemember.Checked ? txtPwd.Text.Trim() : "";
|
Settings.Default.remember = ckRemember.Checked;
|
Settings.Default.Save();
|
LoginInfoModel.CurrentUser.LoginUserGuid = _login["loginGuid"].ToString();
|
LoginInfoModel.CurrentUser.LoginTime = DateTime.Now.ToString("yyyy-MM-dd hh:mm");
|
DialogResult = DialogResult.OK;
|
}
|
else
|
{
|
MsgHelper.Warning("提示:" + _rtn.rtnMsg);
|
DialogResult = DialogResult.None;
|
}
|
}
|
catch (Exception ex)
|
{
|
DialogResult = DialogResult.Cancel;
|
MsgHelper.Warning("提示:" + ex.Message);
|
}
|
}
|
|
/// <summary>
|
/// 读取记住密码
|
/// </summary>
|
private void _getRemember()
|
{
|
try
|
{
|
if (Settings.Default.remember)
|
{
|
txtUser.Text = Settings.Default.userName;
|
txtPwd.Text = Settings.Default.userPwd;
|
ckRemember.Checked = true;
|
}
|
}
|
catch (Exception ex)
|
{
|
MessageBox.Show(ex.Message);
|
}
|
}
|
|
private void _autoUpdate()
|
{
|
var _version = ConfigurationManager.AppSettings["Version"];
|
AutoUpdater.InstalledVersion = new Version(_version);
|
AutoUpdater.Start(ConfigurationManager.AppSettings["AutoUpdaterXml"]);
|
AutoUpdater.CheckForUpdateEvent += AutoUpdater_CheckForUpdateEvent;
|
}
|
|
private void AutoUpdater_CheckForUpdateEvent(UpdateInfoEventArgs args)
|
{
|
if (args == null || string.IsNullOrEmpty(args.DownloadURL))
|
{
|
MsgHelper.ShowError("读取自动更新失败,无法登录,请联系管理员!");
|
Close();
|
Application.Exit();
|
return;
|
}
|
|
if (!args.IsUpdateAvailable)
|
{
|
return;
|
}
|
|
var _strMsg =
|
string.Format(
|
$@"有新版本 {args.CurrentVersion} 可用,您使用的是 {args.InstalledVersion}版本,这是必需的更新,按“是(Y)”开始更新应用程序。");
|
if (!MsgHelper.AskQuestion(_strMsg))
|
{
|
Close();
|
Application.Exit();
|
return;
|
}
|
|
try
|
{
|
if (AutoUpdater.DownloadUpdate(args))
|
{
|
var config =
|
ConfigurationManager.OpenExeConfiguration(
|
ConfigurationUserLevel.None);
|
if (config != null)
|
{
|
var appSettings =
|
(AppSettingsSection)config.GetSection(
|
"appSettings");
|
if (appSettings.Settings.AllKeys.Contains("Version"))
|
appSettings.Settings["Version"].Value =
|
args.CurrentVersion;
|
else
|
appSettings.Settings.Add("Version",
|
args.CurrentVersion);
|
config.Save(ConfigurationSaveMode.Modified);
|
ConfigurationManager.RefreshSection("appSettings");
|
}
|
|
Application.Exit();
|
}
|
else
|
{
|
MsgHelper.ShowError("读取自动更新失败,无法登录,请联系管理员!");
|
Close();
|
Application.Exit();
|
}
|
}
|
catch (Exception exception)
|
{
|
MsgHelper.ShowError(exception.Message + ":" + exception.GetType());
|
Close();
|
Application.Exit();
|
}
|
}
|
}
|
}
|