486 lines
15 KiB
C#
486 lines
15 KiB
C#
using GenesisToolBox;
|
|
|
|
using System;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
using System.Windows.Forms;
|
|
|
|
using Xylem.Common.CommonCore.Consts;
|
|
using Xylem.Common.Ui.GenesisToolBox.Ctls;
|
|
using Xylem.Common.Ui.GenesisToolBox.Infrastructure;
|
|
using Xylem.Common.Utils.Logging;
|
|
|
|
namespace Xylem.Common.Ui.GenesisToolBox
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class FrmMainForm : Form
|
|
{
|
|
private readonly String _configFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
|
"Genesis", ProgramConfig.SerialConfigFileName);
|
|
|
|
/// <summary>
|
|
/// Ctor
|
|
/// </summary>
|
|
public FrmMainForm()
|
|
{
|
|
this.InitializeComponent();
|
|
this.InitializeFormState();
|
|
|
|
var logger = NLogHelper.CreateOrGetLogger("GenesisToolBox");
|
|
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
|
logger.Info($"GenesisToolBox Version: {version.Major}.{version.Minor}.{version.Build}");
|
|
|
|
//bool valid = false;
|
|
|
|
//using (System.DirectoryServices.AccountManagement.PrincipalContext context = new PrincipalContext(ContextType.Domain))
|
|
//{
|
|
|
|
// valid = context.ValidateCredentials("drabesch_ro", "password");
|
|
//}
|
|
lblVersionNumber.Text = $@"Version: {version.Major}.{version.Minor}.{version.Build}";
|
|
}
|
|
|
|
private void InitializeFormState()
|
|
{
|
|
foreach (var control in this.Controls)
|
|
{
|
|
if (control is GroupBox groupBox)
|
|
{
|
|
groupBox.Hide();
|
|
}
|
|
}
|
|
|
|
this.btnSetup.Tag = SoftwareFunctions.GENERAL_SETUP;
|
|
this.btnAlarm.Tag = SoftwareFunctions.GENERAL_ALARM;
|
|
this.btnRegisterStore.Tag = SoftwareFunctions.GENERAL_REGISTER_STORE;
|
|
this.btnTempLogger.Tag = SoftwareFunctions.GENERAL_TEMP_METER;
|
|
this.btnStreamingQuality.Tag = SoftwareFunctions.GENERAL_STREAM_QUALITY;
|
|
this.btnFwUpdate.Tag = SoftwareFunctions.GENERAL_FIRMWARE_UPDATE;
|
|
this.btnLutUpdate.Tag = SoftwareFunctions.GENERAL_LUT_UPDATE;
|
|
this.button4.Tag = SoftwareFunctions.GENERAL_LUT_MANAGEMENT;
|
|
this.btnPressure.Tag = SoftwareFunctions.GENERAL_PRESSURE_LOG;
|
|
this.button1.Tag = SoftwareFunctions.GENERAL_PULS_CONFIG;
|
|
|
|
this.btnPassword.Tag = SoftwareFunctions.LAA_PASSWORD;
|
|
this.btnRegHistory.Tag = SoftwareFunctions.LAA_REGISTER_HISTORY;
|
|
this.btnPara.Tag = SoftwareFunctions.LAA_PARAMETERIZATION;
|
|
this.button2.Tag = SoftwareFunctions.LAA_PROCESS_PARAMETER;
|
|
this.button5.Tag = SoftwareFunctions.LAA_MAPPING_NA;
|
|
|
|
this.btnLegacyTestApp.Tag = SoftwareFunctions.DEV_LEGACY_TEST_APP;
|
|
this.btnFiles.Tag = SoftwareFunctions.DEV_FILE_CONTROL;
|
|
this.BtnFileSplit.Tag = SoftwareFunctions.DEV_FILE_SPLIT;
|
|
this.btnLowLevelTools.Tag = SoftwareFunctions.DEV_LOW_LEVEL_TOOLS;
|
|
|
|
if (!ApplicationState.Initialized)
|
|
{
|
|
this.Controls.Add(new Label()
|
|
{
|
|
Dock = DockStyle.Fill,
|
|
Text = ApplicationState.UNAVAILABLE,
|
|
TextAlign = ContentAlignment.MiddleCenter,
|
|
Font = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Bold),
|
|
ForeColor = Color.DarkRed,
|
|
Padding = new Padding(15)
|
|
});
|
|
}
|
|
else if (!ApplicationState.IsAuthorized)
|
|
{
|
|
this.Controls.Add(new LoginForm(this.LoginFormSubmitted));
|
|
}
|
|
else
|
|
{
|
|
this.ShowAvailableSoftwareFunctions();
|
|
}
|
|
}
|
|
|
|
private void LoginFormSubmitted(string username, string password, object sender)
|
|
{
|
|
if (sender is LoginForm loginForm)
|
|
{
|
|
var errorMessage = default(string);
|
|
|
|
if (ApplicationState.Authorize(username, password, out errorMessage))
|
|
{
|
|
this.Controls.Remove(loginForm);
|
|
this.ShowAvailableSoftwareFunctions();
|
|
}
|
|
|
|
loginForm.ShowError(errorMessage);
|
|
}
|
|
}
|
|
|
|
private void ShowAvailableSoftwareFunctions()
|
|
{
|
|
foreach (var control in this.Controls)
|
|
{
|
|
if (control is GroupBox groupBox)
|
|
{
|
|
foreach (var groupBoxControl in groupBox.Controls)
|
|
{
|
|
if (groupBoxControl is Button button && button.Tag is SoftwareFunctions softwareFunction)
|
|
{
|
|
button.Enabled = ApplicationState.IsEnabled(softwareFunction);
|
|
}
|
|
}
|
|
|
|
groupBox.Show();
|
|
}
|
|
}
|
|
}
|
|
|
|
private void btnSetup_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmSetup();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void Form_Closed(Object sender, EventArgs e)
|
|
{
|
|
Show();
|
|
}
|
|
|
|
private void btnPassword_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmPassword();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnRegisterStore_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmRegisterStore();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
|
|
|
|
private void FrmMainForm_Load(Object sender, EventArgs e)
|
|
{
|
|
var versionString = "NA";
|
|
Boolean access;
|
|
btnFiles.Enabled = true;
|
|
|
|
try
|
|
{
|
|
var assemblyName = Assembly.GetExecutingAssembly().GetName();
|
|
versionString = $@"Version: {assemblyName.Version.Major}.{assemblyName.Version.Minor}.{assemblyName.Version.Build}";
|
|
|
|
|
|
access = Logic.SoftwareAccessHelper.Access.HasAccess(assemblyName);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
MessageBox.Show("GenesisToolBox\n\n" +
|
|
"Starting in OfflineMode\n\n" +
|
|
$"Your version ({versionString}) could not be verified Error\n\n" +
|
|
ex.Message);
|
|
|
|
Close();
|
|
CheckConfigs();
|
|
foreach (var item in Controls)
|
|
{
|
|
if (item is Button btn)
|
|
{
|
|
btn.Enabled = btn.Name == btnSetup.Name || btn.Name == btnRegisterStore.Name;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
if (!access)
|
|
{
|
|
MessageBox.Show("GenesisToolBox\n\n" +
|
|
"Your version licence has expired\n\n" +
|
|
versionString);
|
|
|
|
Close();
|
|
}
|
|
|
|
if (System.Diagnostics.Debugger.IsAttached)
|
|
{
|
|
btnFiles.Enabled = true;
|
|
}
|
|
|
|
CheckConfigs();
|
|
|
|
//if (false)
|
|
//{
|
|
|
|
|
|
|
|
// gpLAA.Enabled = false;
|
|
// gbDeveloper.Enabled = false;
|
|
|
|
|
|
// foreach (var item in gpGerneral.Controls)
|
|
// {
|
|
// if (item is Button btn)
|
|
// {
|
|
// btn.Enabled = false;
|
|
// }
|
|
// }
|
|
// btnPressure.Enabled = true;
|
|
//}
|
|
|
|
}
|
|
|
|
private void CheckConfigs()
|
|
{
|
|
|
|
var nLogFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData),
|
|
"Genesis", ProgramConfig.NlogConfig);
|
|
var dir = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Genesis");
|
|
|
|
if (!Directory.Exists(dir))
|
|
{
|
|
Directory.CreateDirectory(dir);
|
|
}
|
|
|
|
if (!File.Exists(nLogFile))
|
|
{
|
|
const String fileCop = ProgramConfig.NlogConfig;
|
|
try
|
|
{
|
|
File.Copy(fileCop, nLogFile);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
MessageBox.Show(@"Unable to create log files!");
|
|
}
|
|
}
|
|
|
|
if (!File.Exists(_configFile))
|
|
{
|
|
//btnZeroFlow.Enabled = false;
|
|
//btnOBS.Enabled = false;
|
|
btnRegisterStore.Enabled = false;
|
|
btnPassword.Enabled = false;
|
|
var text = "Configuration file cannot be found!\nExecute setup.";
|
|
MessageBox.Show(text);
|
|
}
|
|
}
|
|
|
|
//private void BtnLegacyTestApp_Click(Object sender, EventArgs e)
|
|
//{
|
|
// var form = new FrmLegacyTestApp();
|
|
// form.Show();
|
|
// form.Closed += Form_Closed;
|
|
// Hide();
|
|
//}
|
|
|
|
private void btnAlarm_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmAlarmMng();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnTempLogger_Click(Object sender, EventArgs e)
|
|
{
|
|
//String command = " -h"; //common help flag for console apps
|
|
//System.Diagnostics.Process pRun;
|
|
//pRun = new System.Diagnostics.Process();
|
|
//pRun.EnableRaisingEvents = true;
|
|
//pRun.Exited += new EventHandler(pRun_Exited);
|
|
//pRun.StartInfo.FileName = "TempLogger.exe";
|
|
//pRun.StartInfo.Arguments = command;
|
|
//pRun.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Normal;
|
|
|
|
//pRun.Start();
|
|
//pRun.WaitForExit();
|
|
|
|
var form = new FrmTempMeter();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
|
|
}
|
|
|
|
//private void pRun_Exited(Object sender, EventArgs e)
|
|
//{
|
|
// //Do Something Here
|
|
//}
|
|
|
|
private void btnRelatePCbID_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmResearchMapping();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnStreamingQuality_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmStreamingQuality();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnFwUpdate_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmFwUpdate();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnCalender_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new frmCalenderSeconds();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnCustomerText_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmConfigurations();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnFiles_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmFileCURD();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
//private void btnFWMulti_Click(object sender, EventArgs e)
|
|
//{
|
|
// var form = new FrmMultiUpdate();
|
|
// form.Show();
|
|
// form.Closed += Form_Closed;
|
|
// Hide();
|
|
//}
|
|
|
|
private void btnRegHistory_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmRegisterHistory();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnCalibrationResult_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmRawDataInterpreter();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void BtnFileSplit_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmLogSplit();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnPara_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmParameterization();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnLegacyTestApp_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmLegacyTestApp();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnPressure_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmPressure();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void button1_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmLog();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void button2_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmTempMeter();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void gbDeveloper_Enter(Object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void button2_Click_1(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmProductionData();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnLutUpdate_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmLutUpdate();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void button4_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmLutManagement();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void button5_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmMasterMapping();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void button1_Click_1(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmConfigurations();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
|
|
private void btnLog_Click(Object sender, EventArgs e)
|
|
{
|
|
var form = new FrmLowLevelTools();
|
|
form.Show();
|
|
form.Closed += Form_Closed;
|
|
Hide();
|
|
}
|
|
}
|
|
}
|