示例#1
0
        private async void pnlOk_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(txtUserName.Text))
                {
                    frmNotification.PublicInfo.ShowMessage("نام کاربری نمی تواند خالی باشد");
                    txtUserName.Focus();
                    txtUserName.SelectAll();
                    return;
                }
                if (string.IsNullOrWhiteSpace(txtPass1.Text))
                {
                    frmNotification.PublicInfo.ShowMessage("کلمه عبور نمی تواند خالی باشد");
                    txtPass1.Focus();
                    txtPass1.SelectAll();
                    return;
                }

                var user = await UserBussines.GetAsync(txtUserName.Text.Trim());

                if (user == null)
                {
                    frmNotification.PublicInfo.ShowMessage($"کاربر با نام کاربری {txtUserName.Text} یافت نشد");
                    txtUserName.Focus();
                    txtUserName.SelectAll();
                    return;
                }

                var ue        = new UTF8Encoding();
                var bytes     = ue.GetBytes(txtPass1.Text.Trim());
                var md5       = new MD5CryptoServiceProvider();
                var hashBytes = md5.ComputeHash(bytes);
                var password  = System.Text.RegularExpressions.Regex.Replace(BitConverter.ToString(hashBytes), "-", "")
                                .ToLower();
                if (password != user.Password)
                {
                    frmNotification.PublicInfo.ShowMessage("رمز عبور اشتباه است");
                    txtPass1.Focus();
                    txtPass1.SelectAll();
                    return;
                }

                UserBussines.CurrentUser = user;
                UserBussines.DateVorrod  = DateTime.Now;

                clsGlobalSetting.LastUser = user.UserName;


                await UserLogBussines.SaveAsync(EnLogAction.Login, EnLogPart.Login, null);


                DialogResult = DialogResult.OK;
                Close();
            }
            catch (Exception ex)
            {
                WebErrorLog.ErrorInstence.StartErrorLog(ex);
            }
        }
示例#2
0
 private async void frmMain_FormClosing(object sender, FormClosingEventArgs e)
 {
     await UserLogBussines.SaveAsync(EnLogAction.Logout, EnLogPart.Logout, null);
 }