149 lines
4.2 KiB
C#
149 lines
4.2 KiB
C#
using DevExpress.Pdf.Native;
|
|
using DevExpress.XtraEditors;
|
|
using LFP_Manager.DataStructure;
|
|
using LFP_Manager.Function;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using static DevExpress.XtraPrinting.Export.Pdf.PdfImageCache;
|
|
|
|
namespace LFP_Manager.Forms
|
|
{
|
|
public partial class FmxPasswordChange : DevExpress.XtraEditors.XtraForm
|
|
{
|
|
#region DELEGATE
|
|
public delegate void PasswordResut(int result);
|
|
#endregion
|
|
|
|
#region VARIABLES
|
|
private CommConfig Config;
|
|
private int result = -1;
|
|
|
|
public event PasswordResut OnResult = null;
|
|
|
|
#endregion
|
|
|
|
#region CONSTRUCTORS
|
|
public FmxPasswordChange(CommConfig aConfig)
|
|
{
|
|
InitializeComponent();
|
|
|
|
Config = aConfig;
|
|
}
|
|
#endregion
|
|
|
|
#region FORM EVENT
|
|
private void FmxPassword_FormClosed(object sender, FormClosedEventArgs e)
|
|
{
|
|
OnResult?.Invoke(result);
|
|
}
|
|
#endregion
|
|
|
|
#region BUTTON EVENT
|
|
private void BtnCancel_Click(object sender, EventArgs e)
|
|
{
|
|
Close();
|
|
}
|
|
|
|
private void BtnOk_Click(object sender, EventArgs e)
|
|
{
|
|
string sPW;
|
|
string currPW, newPW, cornfirmPW;
|
|
|
|
currPW = TeCurrentPW.Text;
|
|
newPW = TeNewPW.Text;
|
|
cornfirmPW = TeCornfirmPW.Text;
|
|
|
|
if (newPW.Length < 4)
|
|
{
|
|
MessageBox.Show("Too short new password (Min. Length 4)", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
if (RbMaster.Checked)
|
|
{
|
|
sPW = Config.MasterPw;
|
|
}
|
|
else if (RbEngineer.Checked)
|
|
{
|
|
sPW = Config.EngineerPw;
|
|
}
|
|
else if (RbTechnician.Checked)
|
|
{
|
|
sPW = Config.TechnicianPw;
|
|
}
|
|
else
|
|
{
|
|
sPW = "";
|
|
}
|
|
|
|
if (sPW != currPW)
|
|
{
|
|
MessageBox.Show("The current password is incorrect.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
if (newPW != cornfirmPW)
|
|
{
|
|
MessageBox.Show("The new password and its confirmation do not match.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
if (currPW == newPW)
|
|
{
|
|
MessageBox.Show("Your new password cannot be the same as your current password.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
return;
|
|
}
|
|
|
|
if (RbMaster.Checked)
|
|
{
|
|
Config.MasterPw = newPW;
|
|
}
|
|
else if (RbEngineer.Checked)
|
|
{
|
|
Config.EngineerPw = newPW;
|
|
}
|
|
else if (RbTechnician.Checked)
|
|
{
|
|
Config.TechnicianPw = newPW;
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
|
|
|
|
MessageBox.Show("Password changed successfully.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
|
|
private void BtnResetPW_Click(object sender, EventArgs e)
|
|
{
|
|
foreach (Form frm in Application.OpenForms)
|
|
{
|
|
if (frm.Name == "FmxPassword")
|
|
{
|
|
frm.Activate();
|
|
return;
|
|
}
|
|
}
|
|
FmxPassword PasswordForm = new FmxPassword(Config);
|
|
if (PasswordForm.ShowDialog() == DialogResult.OK)
|
|
{
|
|
Config.MasterPw = "8003";
|
|
Config.EngineerPw = "7003";
|
|
Config.TechnicianPw = "6003";
|
|
csIniControlFunction.IniSave(Application.ExecutablePath, Config);
|
|
|
|
MessageBox.Show("Password reset successful.", "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
#endregion
|
|
}
|
|
} |