From e45ddcfa5bf3eb1980ca5acff4bfb9dbf77934b3 Mon Sep 17 00:00:00 2001 From: Thomas Wiedebusch Date: Fri, 13 May 2022 10:54:41 +0200 Subject: [PATCH] FwUpdateBuilder: - Improved speed for pre-build summary, - only one FW-update package can be selected for one FW update safe, - Pre-build summary fills the FW-package to all devices and validates it, - Validation can be manually corrected / overwritten --- Common/.shared/SharedAssemblyInfo.cs | 4 +- Common/.vs/config/applicationhost.config | 2 +- ...erRegisters.csproj.CoreCompileInputs.cache | 2 +- .../Const/ProcessState.cs | 5 + .../FrmFwUpdateBuilder.Designer.cs | 1 + .../FrmFwUpdateBuilder.cs | 635 ++-- .../FrmFwUpdateBuilder.resx | 2710 ++++++++++++----- 7 files changed, 2325 insertions(+), 1034 deletions(-) diff --git a/Common/.shared/SharedAssemblyInfo.cs b/Common/.shared/SharedAssemblyInfo.cs index 6ca088d3..d54b7d0d 100644 --- a/Common/.shared/SharedAssemblyInfo.cs +++ b/Common/.shared/SharedAssemblyInfo.cs @@ -14,5 +14,5 @@ using System.Reflection; //[assembly: AssemblyVersion("1.2.*.0")] -[assembly: AssemblyVersion("2.2.5.*")] -[assembly: AssemblyFileVersion("2.2.5.0")] \ No newline at end of file +[assembly: AssemblyVersion("2.2.6.*")] +[assembly: AssemblyFileVersion("2.2.6.0")] \ No newline at end of file diff --git a/Common/.vs/config/applicationhost.config b/Common/.vs/config/applicationhost.config index 40cde372..1b9332b4 100644 --- a/Common/.vs/config/applicationhost.config +++ b/Common/.vs/config/applicationhost.config @@ -155,7 +155,7 @@ - + diff --git a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache index f22623aa..d8b5c8f6 100644 --- a/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache +++ b/Common/Hardware/WaterMeter/WaterMeterCore/WaterMeterRegisters/obj/Debug/WaterMeterRegisters.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -5ed75d99ee45ff67821090f1b3dbb001dd9e4fe3 +1a3d4919c9c702245832d925951f2b7cb72fc333 diff --git a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/Const/ProcessState.cs b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/Const/ProcessState.cs index cf98c05e..d03984b2 100644 --- a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/Const/ProcessState.cs +++ b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/Const/ProcessState.cs @@ -97,6 +97,11 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder.Const /// UserRegistration, + /// + /// Updatedata tables + /// + UpdateDataTables, + /// /// Stop entire update process /// diff --git a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.Designer.cs b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.Designer.cs index 67f4e289..d7d1b218 100644 --- a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.Designer.cs +++ b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.Designer.cs @@ -951,6 +951,7 @@ // TmrDbAccess // this.TmrDbAccess.Enabled = true; + this.TmrDbAccess.Interval = 250; this.TmrDbAccess.Tick += new System.EventHandler(this.TmrProgressUpdate_Tick); // // FrmFwUpdateBuilder diff --git a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.cs b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.cs index fcc2c4b1..72468748 100644 --- a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.cs +++ b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.cs @@ -149,7 +149,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// in the FW-Update Safe and therefore passed to the FW-Update SW. /// private readonly List _cordonelUpdateList = new List(); - private String _fwPackageCordonelPcbId; + + //private String _fwPackageCordonelPcbId; + /// /// The FW-Update package is a collection of all needed applications and settings to install into the Cordonel! /// This information will be passed to the FW-Update SW if any Cordonel requires this package. @@ -354,6 +356,10 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder case ProcessState.UserRegistration: // Process state change catcher to leave state as is break; + + case ProcessState.UpdateDataTables: + // Process state change catcher to leave state as is + break; default: _processState = ProcessState.Idle; @@ -579,7 +585,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // reading if customer is selected if (string.IsNullOrEmpty(lblCustomerNumber.Text) || string.IsNullOrEmpty(cbxCordonelProductionOrdersSearch.Text) || - _fwUpdateDbAccess?.DbCordonelCustomerOrders == null) return; + _fwUpdateDbAccess?.DbCordonelCustomerOrders == null) + return; try { @@ -668,7 +675,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void btnFwPackageSearch_Click(Object sender, EventArgs e) { // Load fw packages only if not selected indicated in count - if (_fwUpdatePackages.Count > 0) return; + if (_fwUpdatePackages.Count > 0) + return; DisableAllControlsInvoked(); _dataTableFwPackages?.Clear(); @@ -730,10 +738,12 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder if (e.TabPage == tabPageCordonelSelection) { // avoid reading of DB contents and reset of selection if customer remains identical - if (!_fwUpdateDbAccess.DbIsConnected) _customerNumberBeforeLastCordonelDbSearch = ""; + if (!_fwUpdateDbAccess.DbIsConnected) + _customerNumberBeforeLastCordonelDbSearch = ""; if (string.IsNullOrEmpty(lblCustomerNumber.Text) || - _customerNumberBeforeLastCordonelDbSearch == lblCustomerNumber.Text) return; + _customerNumberBeforeLastCordonelDbSearch == lblCustomerNumber.Text) + return; _customerNumberBeforeLastCordonelDbSearch = lblCustomerNumber.Text; DisableAllControlsInvoked(); @@ -757,7 +767,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { // Load fw packages only if not selected indicated in count if (_fwUpdatePackages.Count > 0 || - _cordonelFwPackageInfoSearch != null && _cordonelFwPackageInfoSearch.Count > 0) return; + _cordonelFwPackageInfoSearch != null && _cordonelFwPackageInfoSearch.Count > 0) + return; DisableAllControlsInvoked(); _dataTableFwPackages?.Clear(); @@ -773,7 +784,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // If not, an update of the update operators may be sufficient, as the builder operator may call the // update operator and require a new registration, so the update may immediately show the new registered // or refreshed update operator without program exit and restart - if (!string.IsNullOrEmpty(lblUpdateOperator.Text)) return; + if (!string.IsNullOrEmpty(lblUpdateOperator.Text)) + return; DisableAllControlsInvoked(); UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorSuccess, Resources.StrReadingUpdateOperators); @@ -993,8 +1005,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder var rulerPathName = Path.Combine(fwUpdateBuilderLibraryPath, FwUpdateConfig.MeterFwUpdateRulerConfigFileName); - if (!File.Exists(rulerPathName)) rulerPathName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, - FwUpdateConfig.MeterFwUpdateRulerConfigFileName); + if (!File.Exists(rulerPathName)) + rulerPathName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, + FwUpdateConfig.MeterFwUpdateRulerConfigFileName); if (File.Exists(rulerPathName)) { var rulerFile = File.ReadAllText(rulerPathName, Encoding.UTF8); @@ -1016,8 +1029,10 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder InitializeComponent(); - if (_cultureInfo.IetfLanguageTag.Contains("de-")) radioBtnGermanLanguage.Checked = true; - else radioBtnEnglishLanguage.Checked = true; + if (_cultureInfo.IetfLanguageTag.Contains("de-")) + radioBtnGermanLanguage.Checked = true; + else + radioBtnEnglishLanguage.Checked = true; lblFwUpdateInfo.Text = $@"Version: {_version.Major}.{_version.Minor}.{_version.Build}"; @@ -1155,11 +1170,12 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// - Added BuildFwUpdateSwContainerFromDb, not longer taken from locally file system! /// /// - /// - Skip loading of FW upadte SW if already done in preceding run. + /// - Skip loading of FW update SW if already done in preceding run. /// public Boolean BuildFwUpdateSafe() { - if (string.IsNullOrEmpty(lblUpdateOperator.Text)) return false; + if (string.IsNullOrEmpty(lblUpdateOperator.Text)) + return false; DisableAllControlsInvoked(); Invoke(new Action(() => { @@ -1299,7 +1315,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder FwUpdateConfig.FwUpdateFileExtension; // prepare FwUpdateSafeDb - if (string.IsNullOrEmpty(_regUser.FullName)) _regUser.FullName = ""; + if (string.IsNullOrEmpty(_regUser.FullName)) + _regUser.FullName = ""; _fwUpdateSafeDb = new FwUpdateSafeDb { OperatorNameBuilder = _regUser.FullName, @@ -1379,7 +1396,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void CheckUserRegistration() { - if (_fwUpdateDbAccess == null || _regUser == null) return; + if (_fwUpdateDbAccess == null || _regUser == null) + return; _regUser.Domain = CryptInformation.GetSysDomain(); _regUser.LogInName = CryptInformation.GetSysUserLoginName(); _fwUpdateDbAccess.GetAllBuilderOperatorsFromDb(); @@ -1387,7 +1405,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // If the connection to the DB cannot be established if (!_fwUpdateDbAccess.GetAllBuilderOperatorsFromDb() || _fwUpdateDbAccess.DbAllBuilderOperators == null || - _fwUpdateDbAccess.DbAllBuilderOperators.Count == 0) return; + _fwUpdateDbAccess.DbAllBuilderOperators.Count == 0) + return; // search for this system user specified by Domain and LogInName foreach (var user in _fwUpdateDbAccess.DbAllBuilderOperators.Where(user => user.Domain == _regUser.Domain && @@ -1408,6 +1427,70 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder _processState = ProcessState.DbAccessLocked; } + /// + /// Pre-select FW package if not already set. + /// Uses all information of fw-package and cordonel. + /// Presets the Approval or Removal. + /// + /// + /// - Initial. + /// + private String PreSelectFwPackages(CordonelProductionInfosDb cordonel) + { + + if (cordonel == null) + return "?"; + + // preset to unknown FW-package + cordonel.IsRemoved = true; + cordonel.IsApproved = false; + cordonel.RequiredReleaseNameVersion = null; + + if (_fwUpdatePackages == null || _fwUpdatePackages.Count == 0) + { + return "?"; + } + + foreach (var fwPack in _fwUpdatePackages) + { + foreach (var fw in _cordonelFwPackageInfoSearch) + { + // as for the _cordonelFwPackageInfoSearch all fields are extracted, these can be used to + // check if this is compatible to the Cordonel, the _fwUpdatePackages do not contain this info! + if (fwPack.ReleaseNameVersion != fw.ReleaseNameVersion) + continue; + + // assign the unique version for all devices, even if these are having a lack of information + cordonel.RequiredReleaseNameVersion = fw.ReleaseNameVersion; + + if (cordonel.CoreRevision != null && !cordonel.CoreRevision.Contains("?")) + { + + // extract the Cordonel core version + var coreVersion = cordonel.CoreRevision; + coreVersion = coreVersion.Replace(".", ""); + Int32.TryParse(coreVersion, out var requiredCoreVersion); + + if (cordonel.Region.Contains(fw.Region) && + (cordonel.RadioFrequency.Contains(fw.RadioFrequencyMhz) || + string.IsNullOrEmpty(fw.RadioFrequencyMhz) || + fw.RadioFrequencyMhz.Contains("*") || + fw.RadioFrequencyMhz.Contains("?")) && + requiredCoreVersion <= fw.CoreVersionMax && + requiredCoreVersion >= fw.CoreVersionMin) + { + cordonel.IsRemoved = false; + cordonel.IsApproved = true; + } + } + + return cordonel.RequiredReleaseNameVersion; + } + } + + return "?"; + } + ///// ///// Check the update capability of all selected Cordonels ///// @@ -1447,7 +1530,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { // stop connectivity test after response timeout if (_fwUpdateDbAccess == null || _fwUpdateDbAccess.DbIsConnected || - _dbAccessDelayCtrMs <= DbConnectionTimeoutMs) return; + _dbAccessDelayCtrMs <= DbConnectionTimeoutMs) + return; EnableInputsInvoked(); _dbAccessDelayCtrMs = 0; @@ -1496,11 +1580,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { _dbLicenseRefreshDelayCtrMs = 0; RefreshLicense(); - if (_licenseUnchecked) _processState = ProcessState.ValidateSoftware; + if (_licenseUnchecked) + _processState = ProcessState.ValidateSoftware; } // If the progress bar is visible, the DB connection status has just changed from NOT connected - if (!ProgressBarStatus.Visible && lblStatusDbConnect.Text != Resources.StrNotConnectedToDb) return; + if (!ProgressBarStatus.Visible && lblStatusDbConnect.Text != Resources.StrNotConnectedToDb) + return; // Stop connection test SetStatusProgressBar(0, false); @@ -1512,10 +1598,12 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder else { UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorProcessFailed, Resources.StrNotConnectedToDb); - if (ProgressBarStatus.Visible) SetStatusProgressBar(0, false); + if (ProgressBarStatus.Visible) + SetStatusProgressBar(0, false); // kick off new connectivity check if retry delay exceeded and DB is NOT connected - if (_dbAccessDelayCtrMs <= DbConnectionRetryDelayMs) return; + if (_dbAccessDelayCtrMs <= DbConnectionRetryDelayMs) + return; DisableAllControlsInvoked(); UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorSuccess, Resources.StrConnectingToDb); @@ -1579,7 +1667,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // Check the order numbers (add one for the "*" ) if (_fwUpdateDbAccess?.DbCordonelCustomerOrders != null) { - if (cbxCordonelProductionOrdersSearch.Items.Count != + if (cbxCordonelProductionOrdersSearch.Items.Count != _fwUpdateDbAccess.DbCordonelCustomerOrders.Count + 1) { cbxCordonelProductionOrdersSearch.Items.Clear(); @@ -1603,7 +1691,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { tabPageUpdateOperator.ImageIndex = 0; } - else tabPageUpdateOperator.ImageIndex = 1; + else + tabPageUpdateOperator.ImageIndex = 1; } // Validation Time for FW update -------------------------------------------------------------------------- @@ -1656,11 +1745,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder if (_cordonelProductionPreSelectInfos.Count == 0) { - if (tabPageCordonelSelection.ImageIndex != 0) tabPageCordonelSelection.ImageIndex = 0; + if (tabPageCordonelSelection.ImageIndex != 0) + tabPageCordonelSelection.ImageIndex = 0; } else { - if (tabPageCordonelSelection.ImageIndex != 1) tabPageCordonelSelection.ImageIndex = 1; + if (tabPageCordonelSelection.ImageIndex != 1) + tabPageCordonelSelection.ImageIndex = 1; } // Selected FW-Packages ----------------------------------------------------------------------------------- @@ -1688,12 +1779,14 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder lblSelectedFwPackages.BackColor = backGroundColor; if (backGroundColor == ColorBkMissing) { - if (!btnFwPackageSearch.Enabled) btnFwPackageSearch.Enabled = true; + if (!btnFwPackageSearch.Enabled) + btnFwPackageSearch.Enabled = true; tabPageFwPackageSelection.ImageIndex = 0; } else { - if (btnFwPackageSearch.Enabled) btnFwPackageSearch.Enabled = false; + if (btnFwPackageSearch.Enabled) + btnFwPackageSearch.Enabled = false; tabPageFwPackageSelection.ImageIndex = 1; } } @@ -1805,17 +1898,24 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // Control Activation/ Deactivation ----------------------------------------------------------------------- if (_fwUpdateDbAccess != null && !_fwUpdateDbAccess.DbIsConnected) { - if (btnBuildFwUpdateSafe.Enabled) btnBuildFwUpdateSafe.Enabled = false; - if (btnLicenseFwUpdateSw.Enabled) btnLicenseFwUpdateSw.Enabled = false; - if (btnLicenseFwUpdateBuilder.Enabled) btnLicenseFwUpdateBuilder.Enabled = false; - if (btnCordonelSearch.Enabled) btnCordonelSearch.Enabled = false; - if (btnSearchCustomer.Enabled) btnSearchCustomer.Enabled = false; + if (btnBuildFwUpdateSafe.Enabled) + btnBuildFwUpdateSafe.Enabled = false; + if (btnLicenseFwUpdateSw.Enabled) + btnLicenseFwUpdateSw.Enabled = false; + if (btnLicenseFwUpdateBuilder.Enabled) + btnLicenseFwUpdateBuilder.Enabled = false; + if (btnCordonelSearch.Enabled) + btnCordonelSearch.Enabled = false; + if (btnSearchCustomer.Enabled) + btnSearchCustomer.Enabled = false; } else { // license can be activated soon the DB is connected - if (!btnLicenseFwUpdateSw.Enabled) btnLicenseFwUpdateSw.Enabled = true; - if (!btnLicenseFwUpdateBuilder.Enabled) btnLicenseFwUpdateBuilder.Enabled = true; + if (!btnLicenseFwUpdateSw.Enabled) + btnLicenseFwUpdateSw.Enabled = true; + if (!btnLicenseFwUpdateBuilder.Enabled) + btnLicenseFwUpdateBuilder.Enabled = true; if (!string.IsNullOrEmpty(lblCustomerNumber.Text) && !btnCordonelSearch.Enabled) btnCordonelSearch.Enabled = true; if (string.IsNullOrEmpty(lblCustomerNumber.Text) && btnCordonelSearch.Enabled) @@ -1830,11 +1930,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder _cordonelUpdateList.Count == 0 || updateLocked) { - if (btnBuildFwUpdateSafe.Enabled) btnBuildFwUpdateSafe.Enabled = false; + if (btnBuildFwUpdateSafe.Enabled) + btnBuildFwUpdateSafe.Enabled = false; return; } - if (!btnBuildFwUpdateSafe.Enabled) btnBuildFwUpdateSafe.Enabled = true; + if (!btnBuildFwUpdateSafe.Enabled) + btnBuildFwUpdateSafe.Enabled = true; } } @@ -1850,7 +1952,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void CheckUpdateOperatorAccountChange() { if (!_fwUpdateOperatorsPropertyChanged || _fwUpdateDbAccess?.DbFullQualifiedUpdateOperators == null || - _fwUpdateDbAccess.DbFullQualifiedUpdateOperators.Count == 0) return; + _fwUpdateDbAccess.DbFullQualifiedUpdateOperators.Count == 0) + return; _fwUpdateOperatorsPropertyChanged = false; // update output information @@ -1869,7 +1972,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void CheckCustomerChange() { if (!_customersPropertyChanged || _fwUpdateDbAccess?.DbSearchedCordonelCustomers == null || - _fwUpdateDbAccess.DbSearchedCordonelCustomers.Count == 0) return; + _fwUpdateDbAccess.DbSearchedCordonelCustomers.Count == 0) + return; _customersPropertyChanged = false; // update output information @@ -1897,7 +2001,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder FillDataGridWithCordonelInfos(); } - if (!_preBuildSummaryPropertyChanged) return; + if (!_preBuildSummaryPropertyChanged) + return; _preBuildSummaryPropertyChanged = false; // update output information @@ -1916,7 +2021,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void CheckFwPackageChange() { if (!_fwPackagePropertyChanged || _fwUpdateDbAccess?.DbCordonelFwPackages == null || - _fwUpdateDbAccess.DbCordonelFwPackages.Count == 0) return; + _fwUpdateDbAccess.DbCordonelFwPackages.Count == 0) + return; _fwPackagePropertyChanged = false; // update output information @@ -1931,7 +2037,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void CheckReportsChange() { - if (!_fwReportsPropertyChanged) return; + if (!_fwReportsPropertyChanged) + return; _fwReportsPropertyChanged = false; // update output information @@ -1946,7 +2053,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void CheckFwUpdateSafesChange() { - if (!_fwUpdateSafesPropertyChanged) return; + if (!_fwUpdateSafesPropertyChanged) + return; _fwUpdateSafesPropertyChanged = false; // update output information @@ -1956,6 +2064,52 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder #region ------------------------------------------ Tools ------------------------------------------------------ + ///// + ///// Event on closing the fw package selection + ///// + ///// + ///// + ///// + ///// - Initial + ///// + ///// + ///// - Pre build summary changed + ///// + ///// + ///// - Production pre select infos from production search infos. + ///// + //private void CbxFwReleaseSelection_DropDownClosed(Object sender, EventArgs e) + //{ + // _cbxFwReleaseSelection.DropDownClosed -= CbxFwReleaseSelection_DropDownClosed; + // if (!string.IsNullOrEmpty(_fwPackageCordonelPcbId) && _cbxFwReleaseSelection.SelectedItem != null) + // { + // // attach fw update package name to eventually unselected in production search list Cordonels + // foreach (var cordonel in _cordonelProductionSearchInfos.Where(cordonel => + // cordonel.PcbId == _fwPackageCordonelPcbId)) + // { + // cordonel.RequiredReleaseNameVersion = _cbxFwReleaseSelection.SelectedItem.ToString(); + // break; + // } + // // attach fw update package name in production pre selected list Cordonels + // foreach (var cordonel in _cordonelProductionPreSelectInfos.Where(cordonel => + // cordonel.PcbId == _fwPackageCordonelPcbId)) + // { + // cordonel.RequiredReleaseNameVersion = _cbxFwReleaseSelection.SelectedItem.ToString(); + // break; + // } + // // attach fw update package name in update list Cordonels + // foreach (var cordonel in _cordonelUpdateList.Where(cordonel => + // cordonel.PcbId == _fwPackageCordonelPcbId)) + // { + // cordonel.RequiredRelease = _cbxFwReleaseSelection.SelectedItem.ToString(); + // break; + // } + // } + // _cbxFwReleaseSelection.Visible = false; + // _cordonelsPropertyChanged = true; + // _preBuildSummaryPropertyChanged = true; + //} + ///// ///// Build the meter file update ruler to define releases which can be updated to another release. ///// @@ -1967,6 +2121,23 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // var meterFwUpdateRuler = new List(); // var rule = new MeterFwUpdateRuler // { + // Release = "R1241", + // Region = "EMEA", + // RadioFrequencyMhz = "*", + // CoreVersionMin = "162", + // CoreVersionMax = "171", + // MetrologyVersion = "302", + // MeterSizes = new List + // { + // "DN80", + // "DN100" + // }, + // ApproverName = "", + // ApprovalDate = new DateTime(2022, 04, 04) + // }; + // meterFwUpdateRuler.Add(rule); + // rule = new MeterFwUpdateRuler + // { // Release = "R1066", // Region = "EMEA", // RadioFrequencyMhz = "433", @@ -2117,7 +2288,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// /// - Forcing message box being modal and on top. /// - private static void MessageBoxShow(String text, String caption, + private static void MessageBoxShow(String text, String caption, MessageBoxButtons buttons = MessageBoxButtons.OK, MessageBoxIcon icon = MessageBoxIcon.Asterisk) { @@ -2184,7 +2355,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void SetStatusProgressBar(Int32 value = 0, Boolean visible = true) { - if (ProgressBarStatus == null || ProgressBarStatus.Visible == false && visible == false) return; + if (ProgressBarStatus == null || ProgressBarStatus.Visible == false && visible == false) + return; ProgressBarStatus.Value = value; ProgressBarStatus.Visible = visible; } @@ -2262,7 +2434,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void EnableInputsInvoked() { - if (_licenseUnchecked || _regUser == null || !_regUser.AccountActive) return; + if (_licenseUnchecked || _regUser == null || !_regUser.AccountActive) + return; UiInvoker.ControlEnableInvoker(grpLanguageSelection, true); UiInvoker.ControlEnableInvoker(lblFwUpdateDutyDate, true); UiInvoker.ControlEnableInvoker(tbxOrderNumber, true); @@ -2460,7 +2633,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder _licenseValidDateTimeOffset = DateTimeServer.GetDateTimeTodayUntilMidnight(); _processState = ProcessState.Idle; } - else _processState = ProcessState.DbAccessLocked; + else + _processState = ProcessState.DbAccessLocked; }); } @@ -2717,6 +2891,10 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// - User search from Cordonel FW-Packages as this contains lot more selected information than the clustered /// file. /// + /// + /// - Simply one unique FW-package allowed to select, + /// - Reset status of pre-selected Cordonels. + /// private void gridViewFwPackagesSelection_CellClick(Object sender, DataGridViewCellEventArgs e) { try @@ -2739,6 +2917,22 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // select FW package if (gridViewFwPackageSelection.Columns[e.ColumnIndex].Name == Resources.StrTableSelect) { + // clear list of FW-packages + _fwUpdatePackages.Clear(); + + // reset status of Cordonels being able to auto-assign new FW-package + foreach (var cordonel in _cordonelProductionPreSelectInfos) + { + cordonel.IsRemoved = false; + cordonel.IsApproved = false; + cordonel.RequiredReleaseNameVersion = null; + } + + // reset status of Cordonels being able to auto-assign new FW-package + foreach (var cordonel in _cordonelUpdateList) + { + cordonel.RequiredRelease = null; + } // Search the FW package name in data table, select if found foreach (var fw in _cordonelFwPackageInfoSearch) { @@ -2749,35 +2943,35 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { // remove FW package from list fw.IsSelected = false; - foreach (var x in _fwUpdatePackages.Where(x => x.ReleaseNameVersion == - fw.ReleaseNameVersion)) - { - _fwUpdatePackages.Remove(x); - break; - } } else { // add selected package to list if not already in list if (_fwUpdatePackages.All(x => x.ReleaseNameVersion != fw.ReleaseNameVersion)) _fwUpdatePackages.Add(fwPackage); + // add new FW-package to all Cordonels in update list + foreach (var cordonel in _cordonelUpdateList) + { + cordonel.RequiredRelease = fw.ReleaseNameVersion; + } fw.IsSelected = true; } + } + else + { + fw.IsSelected = false; + } - //search FW package in data table for update - for (var idx = 0; idx < _dataTableFwPackages.Rows.Count; idx++) + //search FW package in data table for update + for (var idx = 0; idx < _dataTableFwPackages.Rows.Count; idx++) + { + var dataRow = _dataTableFwPackages.Rows[idx]; + if (fw.ReleaseNameVersion == (String)dataRow[Resources.StrTableCordonelFwToInstall]) { - var dataRow = _dataTableFwPackages.Rows[idx]; - if (fw.ReleaseNameVersion != (String)dataRow[Resources.StrTableCordonelFwToInstall]) - continue; - dataRow[Resources.StrTableSelect] = fw.IsSelected; - break; } + } - break; - - } // FW package found } // Cordonel search list files } _fwPackagePropertyChanged = false; @@ -2844,7 +3038,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder (fw.CoreVersionMin > requiredCoreVersion || requiredCoreVersion > fw.CoreVersionMax) && cbxFwPackageSearchCore.Text != @"*" || fw.MetrologyVersion != cbxFwPackageSearchMetrology.Text && - cbxFwPackageSearchMetrology.Text != @"*") continue; + cbxFwPackageSearchMetrology.Text != @"*") + continue; var row = _dataTableFwPackages.NewRow(); row[Resources.StrTableSelect] = fw.IsSelected; @@ -2983,7 +3178,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder foreach (DataGridViewRow dataGridRow in gridViewFwUpdateSafeSelection.Rows) { dataGridRow.DefaultCellStyle = DateTimeServer.GetDateTimeOffsetFromDateString( - dataGridRow.Cells[Resources.StrTableUserValidDate].Value.ToString()) >= DateTimeOffset.Now ? + dataGridRow.Cells[Resources.StrTableUserValidDate].Value.ToString()) >= DateTimeOffset.Now ? _styleValid : _styleInvalid; } } @@ -3098,7 +3293,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder row[Resources.StrTableUserFullName] = userName; row[Resources.StrTableUpdateOperatorId] = report.UserId; row[Resources.StrTableFileId] = report.FileId; - + _dataTableReportFiles.Rows.Add(row); } @@ -3134,6 +3329,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// /// - Production pre select infos from production search infos. /// + /// + /// - Removed FW-package combo box as FW-package is one unique one and can only be exchanged in the FW-package + /// selection tab. + /// + /// + /// - Removed IsApproved or IsRemoved if selection de-selected. + /// private void gridViewPreBuildSummary_CellClick(Object sender, DataGridViewCellEventArgs e) { try @@ -3160,26 +3362,26 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder } // select FW package with combo box - if (gridViewPreBuildSummary.Columns[e.ColumnIndex].Name == Resources.StrTableCordonelFwToInstall) - { - // take the actual cell value as default - _cbxFwReleaseSelection.Text = cordonelDeviceInfo.RequiredRelease; - // Adding combo box control into DataGridView - gridViewPreBuildSummary.Controls.Add(_cbxFwReleaseSelection); + //if (gridViewPreBuildSummary.Columns[e.ColumnIndex].Name == Resources.StrTableCordonelFwToInstall) + //{ + // // take the actual cell value as default + // _cbxFwReleaseSelection.Text = cordonelDeviceInfo.RequiredRelease; + // // Adding combo box control into DataGridView + // gridViewPreBuildSummary.Controls.Add(_cbxFwReleaseSelection); - // Rectangular area that represents the display area for a cell - var location = gridViewPreBuildSummary.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true); + // // Rectangular area that represents the display area for a cell + // var location = gridViewPreBuildSummary.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true); - // Setting Location and size to fit within the cell - _cbxFwReleaseSelection.Height = location.Height; - _cbxFwReleaseSelection.Width = 200; - _cbxFwReleaseSelection.Location = new Point(location.X, location.Y); + // // Setting Location and size to fit within the cell + // _cbxFwReleaseSelection.Height = location.Height; + // _cbxFwReleaseSelection.Width = 200; + // _cbxFwReleaseSelection.Location = new Point(location.X, location.Y); - // The final selection of the fw package - _fwPackageCordonelPcbId = cordonelDeviceInfo.PcbId; - _cbxFwReleaseSelection.DropDownClosed += CbxFwReleaseSelection_DropDownClosed; - _cbxFwReleaseSelection.Visible = true; - } + // // The final selection of the fw package + // _fwPackageCordonelPcbId = cordonelDeviceInfo.PcbId; + // _cbxFwReleaseSelection.DropDownClosed += CbxFwReleaseSelection_DropDownClosed; + // _cbxFwReleaseSelection.Visible = true; + //} // select Cordonel if (gridViewPreBuildSummary.Columns[e.ColumnIndex].Name == Resources.StrTableApprove) @@ -3200,7 +3402,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder for (var idx = 0; idx < _dataTableSummary.Rows.Count; idx++) { var dataRow = _dataTableSummary.Rows[idx]; - if (cordonel.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) continue; + if (cordonel.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) + continue; dataRow[Resources.StrTableApprove] = cordonel.IsApproved; dataRow[Resources.StrTableRemove] = cordonel.IsRemoved; @@ -3226,7 +3429,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder for (var idx = 0; idx < _dataTableSummary.Rows.Count; idx++) { var dataRow = _dataTableSummary.Rows[idx]; - if (cordonel.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) continue; + if (cordonel.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) + continue; dataRow[Resources.StrTableApprove] = cordonel.IsApproved; dataRow[Resources.StrTableRemove] = cordonel.IsRemoved; @@ -3251,6 +3455,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { // remove cordonel from list cordPre.IsSelected = false; + cordPre.IsRemoved = false; + cordPre.IsApproved = false; foreach (var x in _cordonelUpdateList.Where(x => x.PcbId == cordonelDeviceInfo.PcbId)) { _cordonelUpdateList.Remove(x); @@ -3260,7 +3466,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder else { // add cordonel to list - if (cordPre.IsApproved && _cordonelUpdateList.All(x => x.PcbId != cordonelDeviceInfo.PcbId)) + if (_cordonelUpdateList.All(x => x.PcbId != cordonelDeviceInfo.PcbId)) _cordonelUpdateList.Add(cordonelDeviceInfo); cordPre.IsSelected = true; } @@ -3268,9 +3474,12 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder for (var idx = 0; idx < _dataTableSummary.Rows.Count; idx++) { var dataRow = _dataTableSummary.Rows[idx]; - if (cordPre.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) continue; + if (cordPre.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) + continue; dataRow[Resources.StrTableSelect] = cordPre.IsSelected; + dataRow[Resources.StrTableApprove] = cordPre.IsApproved; + dataRow[Resources.StrTableRemove] = cordPre.IsRemoved; break; } @@ -3298,13 +3507,23 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// - Production pre select infos from production search infos. /// /// - /// - Fill search masks of GFW packages for core revision, diameter, radio, region and metrology based + /// - Fill search masks of FW packages for core revision, diameter, radio, region and metrology based /// on selected Cordonels /// + /// + /// - Pre-select FW package, + /// - Unique FW-package support cannot be exchanged here anymore. + /// + /// + /// - Moved masks from PreBuildSummery tab to Cordonel selection tab. + /// private void FillDataGridWithPreBuildSummaryInfos() { grpLanguageSelection.Enabled = false; + var processStateRestore = _processState; + _processState = ProcessState.UpdateDataTables; + _dataTableSummary?.Dispose(); Thread.CurrentThread.CurrentUICulture = _cultureInfo; Thread.CurrentThread.CurrentCulture = _cultureInfo; @@ -3331,46 +3550,26 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder _dataTableSummary.Columns.Add(Resources.StrTableReason, typeof(String)); + gridViewPreBuildSummary.DataSource = _dataTableSummary; + gridViewPreBuildSummary.Refresh(); try { foreach (var cordonel in _cordonelProductionPreSelectInfos) { - // fill search masks for FW package selection - if (!string.IsNullOrEmpty(cordonel.Diameter) && cordonel.Diameter != "?" && - !_sizeSearchItems.Contains(cordonel.Diameter)) - { - _sizeSearchItems.Add(cordonel.Diameter); - } - // fill search masks for FW package selection - if (!string.IsNullOrEmpty(cordonel.RadioFrequency) && cordonel.RadioFrequency != "?" && - !_radioSearchItems.Contains(cordonel.RadioFrequency)) - { - _radioSearchItems.Add(cordonel.RadioFrequency); - } - // fill search masks for FW package selection - if (!string.IsNullOrEmpty(cordonel.Region) && cordonel.Region != "?" && - !_regionSearchItems.Contains(cordonel.Region)) - { - _regionSearchItems.Add(cordonel.Region); - } - // fill search masks for FW package selection - if (!string.IsNullOrEmpty(cordonel.CoreRevision) && cordonel.CoreRevision != "?" && - !_coreSearchItems.Contains(cordonel.CoreRevision)) - { - _coreSearchItems.Add(cordonel.CoreRevision); - } - // fill search masks for FW package selection - if (!string.IsNullOrEmpty(cordonel.Metrology) && cordonel.Metrology != "?" && - !_metrologySearchItems.Contains(cordonel.Metrology)) - { - _metrologySearchItems.Add(cordonel.Metrology); - } - // search if this Cordonel is already in cordonelDeviceInfo list as this is the marker // to update it and a new selection may overwrite the update (IsSelected == true) status - if (_cordonelUpdateList.Any(x => x.PcbId == cordonel.PcbId)) cordonel.IsSelected = true; + //if (_cordonelUpdateList.Any(x => x.PcbId == cordonel.PcbId)) + // cordonel.IsSelected = true; var row = _dataTableSummary.NewRow(); + // keep FW-package if already assigned, if NOT, check if the unique package matches the requirements + // this step has to be executed before filling the SELECT information, because it changes the content + // to preset the SELECT based on the initial FW-package to Cordonel requirement comparison. + if (!cordonel.IsRemoved && !cordonel.IsApproved) + row[Resources.StrTableCordonelFwToInstall] = PreSelectFwPackages(cordonel); + else + row[Resources.StrTableCordonelFwToInstall] = cordonel.RequiredReleaseNameVersion ?? "?"; + row[Resources.StrTableSelect] = cordonel.IsSelected; row[Resources.StrTableApprove] = cordonel.IsApproved; row[Resources.StrTableRemove] = cordonel.IsRemoved; @@ -3378,7 +3577,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder row[Resources.StrTableCordonelCustomerSerialNumber] = cordonel.CustomerSerialNumber ?? "?"; row[Resources.StrTableCordonelPcbId] = cordonel.PcbId ?? "?"; - row[Resources.StrTableCordonelFwToInstall] = cordonel.RequiredReleaseNameVersion ?? "?"; row[Resources.StrTableCordonelMetrology] = cordonel.Metrology ?? "?"; row[Resources.StrTableCordonelMetrologyIsUpdateable] = cordonel.MetrologyIsUpdateable; @@ -3393,9 +3591,20 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder row[Resources.StrTableReason] = cordonel.ReasonForUpdateDenied ?? ""; _dataTableSummary.Rows.Add(row); - } - gridViewPreBuildSummary.DataSource = _dataTableSummary; + // add approved cordonels to upgrade list, remove the not approved ones + //if (cordonel.IsApproved && cordonel.IsSelected && + if (cordonel.IsSelected && + _cordonelUpdateList.All(x => x.PcbId != cordonel.PcbId)) + { + var cordonelDeviceInfo = new CordonelDeviceInfo + { + PcbId = cordonel.PcbId, + RequiredRelease = cordonel.RequiredReleaseNameVersion + }; + _cordonelUpdateList.Add(cordonelDeviceInfo); + } + } foreach (DataGridViewColumn column in gridViewPreBuildSummary.Columns) { @@ -3403,6 +3612,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder } // color the results of the compare PreBuildSummaryInformationStyleSet(); + _processState = processStateRestore; + } catch (Exception) { @@ -3495,6 +3706,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// /// - Production pre select infos from production search infos. /// + /// + /// - Removed FW-Package selection from Cordonel selection tab. + /// + /// + /// - Moved masks from PreBuildSummery tab to Cordonel selection tab, + /// - Removed trigger to update PreBuildSummery. + /// private void gridViewCordonelsSelection_CellClick(Object sender, DataGridViewCellEventArgs e) { try @@ -3514,32 +3732,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder cordSelect.PcbId = gridViewCordonelSelection.Rows[e.RowIndex].Cells[columnIndex].Value.ToString(); - // add here the required release - if (gridViewCordonelSelection.Columns[columnIndex].Name == Resources.StrTableCordonelFwToInstall) - cordSelect.RequiredReleaseNameVersion = - gridViewCordonelSelection.Rows[e.RowIndex].Cells[columnIndex].Value.ToString(); - } - - // select FW package with combo box - if (gridViewCordonelSelection.Columns[e.ColumnIndex].Name == Resources.StrTableCordonelFwToInstall) - { - // take the actual cell value as default - _cbxFwReleaseSelection.Text = cordSelect.RequiredReleaseNameVersion; - // Adding combo box control into DataGridView - gridViewCordonelSelection.Controls.Add(_cbxFwReleaseSelection); - - // Rectangular area that represents the display area for a cell - var location = gridViewCordonelSelection.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, true); - - // Setting Location and size to fit within the cell - _cbxFwReleaseSelection.Height = location.Height; - _cbxFwReleaseSelection.Width = 200; - _cbxFwReleaseSelection.Location = new Point(location.X, location.Y); - - // The final selection of the fw package - _fwPackageCordonelPcbId = cordSelect.PcbId; - _cbxFwReleaseSelection.DropDownClosed += CbxFwReleaseSelection_DropDownClosed; - _cbxFwReleaseSelection.Visible = true; } // select Cordonel @@ -3550,6 +3742,37 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { if (cordSearch.PcbId == cordSelect.PcbId) { + // fill search masks for FW package selection + if (!string.IsNullOrEmpty(cordSearch.Diameter) && cordSearch.Diameter != "?" && + !_sizeSearchItems.Contains(cordSearch.Diameter)) + { + _sizeSearchItems.Add(cordSearch.Diameter); + } + // fill search masks for FW package selection + if (!string.IsNullOrEmpty(cordSearch.RadioFrequency) && cordSearch.RadioFrequency != "?" && + !_radioSearchItems.Contains(cordSearch.RadioFrequency)) + { + _radioSearchItems.Add(cordSearch.RadioFrequency); + } + // fill search masks for FW package selection + if (!string.IsNullOrEmpty(cordSearch.Region) && cordSearch.Region != "?" && + !_regionSearchItems.Contains(cordSearch.Region)) + { + _regionSearchItems.Add(cordSearch.Region); + } + // fill search masks for FW package selection + if (!string.IsNullOrEmpty(cordSearch.CoreRevision) && cordSearch.CoreRevision != "?" && + !_coreSearchItems.Contains(cordSearch.CoreRevision)) + { + _coreSearchItems.Add(cordSearch.CoreRevision); + } + // fill search masks for FW package selection + if (!string.IsNullOrEmpty(cordSearch.Metrology) && cordSearch.Metrology != "?" && + !_metrologySearchItems.Contains(cordSearch.Metrology)) + { + _metrologySearchItems.Add(cordSearch.Metrology); + } + // toggle selection and set information on main screen if (cordSearch.IsSelected) { @@ -3570,14 +3793,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder cordSearch.IsRemoved = false; if (_cordonelProductionPreSelectInfos.All(x => x.PcbId != cordSelect.PcbId)) _cordonelProductionPreSelectInfos.Add(cordSearch); - - _preBuildSummaryPropertyChanged = true; } //search cordonel in data table for update of "select" checkbox for (var idx = 0; idx < _dataTableCordonels.Rows.Count; idx++) { var dataRow = _dataTableCordonels.Rows[idx]; - if (cordSearch.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) continue; + if (cordSearch.PcbId != (String)dataRow[Resources.StrTableCordonelPcbId]) + continue; dataRow[Resources.StrTableSelect] = cordSearch.IsSelected; break; @@ -3589,7 +3811,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder } _cordonelsPropertyChanged = false; - // _preBuildSummaryPropertyChanged = false; } catch (Exception) { @@ -3597,52 +3818,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder } } - /// - /// Event on closing the fw package selection - /// - /// - /// - /// - /// - Initial - /// - /// - /// - Pre build summary changed - /// - /// - /// - Production pre select infos from production search infos. - /// - private void CbxFwReleaseSelection_DropDownClosed(Object sender, EventArgs e) - { - _cbxFwReleaseSelection.DropDownClosed -= CbxFwReleaseSelection_DropDownClosed; - if (!string.IsNullOrEmpty(_fwPackageCordonelPcbId) && _cbxFwReleaseSelection.SelectedItem != null) - { - // attach fw update package name to eventually unselected in production search list Cordonels - foreach (var cordonel in _cordonelProductionSearchInfos.Where(cordonel => - cordonel.PcbId == _fwPackageCordonelPcbId)) - { - cordonel.RequiredReleaseNameVersion = _cbxFwReleaseSelection.SelectedItem.ToString(); - break; - } - // attach fw update package name in production pre selected list Cordonels - foreach (var cordonel in _cordonelProductionPreSelectInfos.Where(cordonel => - cordonel.PcbId == _fwPackageCordonelPcbId)) - { - cordonel.RequiredReleaseNameVersion = _cbxFwReleaseSelection.SelectedItem.ToString(); - break; - } - // attach fw update package name in update list Cordonels - foreach (var cordonel in _cordonelUpdateList.Where(cordonel => - cordonel.PcbId == _fwPackageCordonelPcbId)) - { - cordonel.RequiredRelease = _cbxFwReleaseSelection.SelectedItem.ToString(); - break; - } - } - _cbxFwReleaseSelection.Visible = false; - _cordonelsPropertyChanged = true; - _preBuildSummaryPropertyChanged = true; - } - /// /// Build data grid for cordonels /// @@ -3661,6 +3836,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// /// - Added customer serial number search. /// + /// + /// - Removed FW-Package selection from Cordonel selection tab. + /// private void FillDataGridWithCordonelInfos() { grpLanguageSelection.Enabled = false; @@ -3675,7 +3853,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder _dataTableCordonels.Columns.Add(Resources.StrTableCordonelCustomerSerialNumber, typeof(String)); _dataTableCordonels.Columns.Add(Resources.StrTableCordonelPcbId, typeof(String)); - _dataTableCordonels.Columns.Add(Resources.StrTableCordonelFwToInstall, typeof(String)); _dataTableCordonels.Columns.Add(Resources.StrTableCordonelInstalledFw, typeof(String)); _dataTableCordonels.Columns.Add(Resources.StrTableCordonelMetrology, typeof(String)); @@ -3697,7 +3874,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder { // pre-selection of displayed production order if (!cordSearch.CustomerSerialNumber.Contains(tbxCordonelProductionOrdersSearch.Text) - && tbxCordonelProductionOrdersSearch.Text != @"*") continue; + && tbxCordonelProductionOrdersSearch.Text != @"*") + continue; // search if this Cordonel is already in production pre select list as this is the marker foreach (var cordPre in _cordonelProductionPreSelectInfos.Where(x => x.PcbId == cordSearch.PcbId)) @@ -3714,7 +3892,6 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder row[Resources.StrTableCordonelCustomerSerialNumber] = cordSearch.CustomerSerialNumber ?? "?"; row[Resources.StrTableCordonelPcbId] = cordSearch.PcbId ?? "?"; - row[Resources.StrTableCordonelFwToInstall] = cordSearch.RequiredReleaseNameVersion ?? "?"; row[Resources.StrTableCordonelInstalledFw] = cordSearch.InstalledReleaseNameVersion ?? "?"; row[Resources.StrTableCordonelMetrology] = cordSearch.Metrology ?? "?"; @@ -3829,7 +4006,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder user.IsSelected = true; } } - else user.IsSelected = false; + else + user.IsSelected = false; //search user in data table for update for (var idx = 0; idx < _dataTableUpdateOperators.Rows.Count; idx++) @@ -4045,7 +4223,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder var customerNumber = 0L; for (var columnIndex = 0; columnIndex < gridViewCustomerSelection.ColumnCount; columnIndex++) { - if (gridViewCustomerSelection.Columns[columnIndex].Name != Resources.StrTableCustomerNumber) continue; + if (gridViewCustomerSelection.Columns[columnIndex].Name != Resources.StrTableCustomerNumber) + continue; customerNumber = Convert.ToInt64(gridViewCustomerSelection.Rows[e.RowIndex].Cells[columnIndex].Value); break; } @@ -4086,7 +4265,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder customer.IsSelected = true; } } - else customer.IsSelected = false; + else + customer.IsSelected = false; //search user in data table for update for (var idx = 0; idx < _dataTableCustomers.Rows.Count; idx++) @@ -4186,7 +4366,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void GetAllCordonelOrdersOfCustomerFromDb() { // get the customer ID - if (_fwUpdateDbAccess == null || string.IsNullOrEmpty(lblCustomerNumber.Text)) return; + if (_fwUpdateDbAccess == null || string.IsNullOrEmpty(lblCustomerNumber.Text)) + return; if (Int64.TryParse(lblCustomerNumber.Text, out var customerId)) { @@ -4217,7 +4398,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void GetAllCordonelSerialNumbersOfOrderFromDb() { // get the customer ID - if (_fwUpdateDbAccess == null || string.IsNullOrEmpty(lblCustomerNumber.Text)) return; + if (_fwUpdateDbAccess == null || string.IsNullOrEmpty(lblCustomerNumber.Text)) + return; // remove last search infos _cordonelProductionSearchInfos.Clear(); @@ -4272,7 +4454,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder msbNumber -= 5; cordonel.InstalledReleaseNameVersion = $"B{msbNumber}{lsb}"; } - else cordonel.InstalledReleaseNameVersion = "R" + appVersion.Version; + else + cordonel.InstalledReleaseNameVersion = "R" + appVersion.Version; } } @@ -4351,7 +4534,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder var fwPackInfo = new CordonelFwPackageInfo { ReleaseNameVersion = dbCordonelFwFile.FileName, - Region = + Region = dbCordonelFwFile.FileName.Contains("_NA_") ? "NA" : dbCordonelFwFile.FileName.Contains("_EMEA_") ? "EMEA" : dbCordonelFwFile.FileName.Contains("_China_") ? "China" : "*", @@ -4373,7 +4556,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder var msb = binfile.FileName.Substring(10, 2); // remove leading 0 var msbMsb = msb.Substring(0, 1); - if (msbMsb == "0") msb = msb.Remove(0, 1); + if (msbMsb == "0") + msb = msb.Remove(0, 1); var lsb = binfile.FileName.Substring(12, 2); fwPackInfo.MetrologyVersion = $"{msb}.{lsb}"; break; @@ -4464,7 +4648,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// /// - File ID added to get the correct file even if multiple files have been reported at the same day (retries). /// - private Boolean GetOneSelectedReportFromDb(out FwUpdateReportDb reportDb, Int64 pcbId, Int32 userId, Int32 fileId, + private Boolean GetOneSelectedReportFromDb(out FwUpdateReportDb reportDb, Int64 pcbId, Int32 userId, Int32 fileId, Int64 orderNo, Int64 position, DateTimeOffset dateTime) { reportDb = null; @@ -4495,7 +4679,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void GetAndDisplaySingleReportFromDb() { //open rich text view with report details - if (_frmFwUpdateReport == null) return; + if (_frmFwUpdateReport == null) + return; Invoke(new Action(() => { _frmFwUpdateReport.rtbHistory?.Clear(); @@ -4503,8 +4688,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder })); if (!GetOneSelectedReportFromDb(out var reportDb, _selectedReport.PcbId, _selectedReport.UserId, - _selectedReport.FileId, _selectedReport.OrderNr, _selectedReport.OrderPos, - _selectedReport.Date)) return; + _selectedReport.FileId, _selectedReport.OrderNr, _selectedReport.OrderPos, + _selectedReport.Date)) + return; //open rich text view with report details Invoke(new Action(() => @@ -4516,7 +4702,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder var fwIsUpToDate = false; foreach (var searchString in FwUpdateConfig.FirmwareUpToDateSearchStrings) { - if (reportDb.Content.Contains(searchString)) fwIsUpToDate = true; + if (reportDb.Content.Contains(searchString)) + fwIsUpToDate = true; } _frmFwUpdateReport.rtbHistory.ForeColor = fwIsUpToDate ? ColorSuccess : ColorProcessFailed; @@ -4525,7 +4712,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder })); } - + /// /// Get all FW update report files from DB. Loading only the preview (readContent = false as default) to speed up /// the access, as the content will only be needed on inspection of the report. @@ -4535,7 +4722,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void GetReportsFromDb() { - if (_fwUpdateDbAccess == null) return; + if (_fwUpdateDbAccess == null) + return; _fwUpdateReports.Clear(); // if the users are not acquired, get these first @@ -4545,7 +4733,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder GetAllUpdateOperatorsFromDb(); } - if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null) return; + if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null) + return; foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators) { var fwUpdateReportsOfUser = new List(); @@ -4562,7 +4751,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder /// private void GetFwUpdateSafesInfosFromDb() { - if (_fwUpdateDbAccess == null) return; + if (_fwUpdateDbAccess == null) + return; _fwUpdateSafesInfos.Clear(); // if the users are not acquired, get these first @@ -4572,7 +4762,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder GetAllUpdateOperatorsFromDb(); } - if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null) return; + if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null) + return; foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators) { _fwUpdateDbAccess.ListAllFwUpdateSafesOfUserFromDb(user.Id, out var fwUpdateSafesOfUser); @@ -4846,7 +5037,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder // copy all elements of software release in the main directory var fileList = new List(); - if (SystemControl.GetFilesOfDirectoryAndSubDirectory(FwUpdateSwSourcePath, fileList)) return false; + if (SystemControl.GetFilesOfDirectoryAndSubDirectory(FwUpdateSwSourcePath, fileList)) + return false; foreach (var f in fileList) { // extract the file name @@ -4931,7 +5123,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder private void BuildSwLicense(String swName, out SoftwareLicense license, Version version = null) { // If version is not set, get the actual of this compilation - if (version == null) version = Assembly.GetExecutingAssembly().GetName().Version; + if (version == null) + version = Assembly.GetExecutingAssembly().GetName().Version; license = new SoftwareLicense { Major = version.Major, diff --git a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.resx b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.resx index 68baa706..254ace01 100644 --- a/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.resx +++ b/ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmFwUpdateBuilder.resx @@ -241,6 +241,54 @@ 0 + + radioBtnGermanLanguage + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpLanguageSelection + + + 0 + + + radioBtnEnglishLanguage + + + System.Windows.Forms.RadioButton, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + grpLanguageSelection + + + 1 + + + 6, 78 + + + 101, 61 + + + 42 + + + Language + + + grpLanguageSelection + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelInfo + + + 1 + True @@ -301,33 +349,33 @@ 1 - - 6, 78 - - - 101, 61 - - - 42 - - - Language - - - grpLanguageSelection - - - System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panelInfo - - - 1 - 17, 17 + + 0, 707 + + + 1008, 22 + + + 44 + + + Main Status + + + StatusDisplay + + + System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 1 + MiddleRight @@ -358,63 +406,9 @@ False - - 0, 707 - - - 1008, 22 - - - 44 - - - Main Status - - - StatusDisplay - - - System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - - 1 - 133, 17 - - 93, 22 - - - E&xit - - - 37, 20 - - - &File - - - 55, 20 - - - &Wizard - - - 95, 22 - - - &Info - - - 44, 20 - - - &Help - 0, 0 @@ -439,6 +433,36 @@ 2 + + 37, 20 + + + &File + + + 93, 22 + + + E&xit + + + 55, 20 + + + &Wizard + + + 44, 20 + + + &Help + + + 95, 22 + + + &Info + Fill @@ -469,15 +493,456 @@ 1 + + panelSelection + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer0 + + + 0 + + + tblPanelLayer1Top + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer0 + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelSafeInfo" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pictureBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelInfo" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,150,Percent,100,Absolute,120" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + tblPanelLayer1Bottom + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer0 + + + 2 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelSpecialButtons" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tblPanelStandardButtons" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="tblPanelDebugDevices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,396,Absolute,220" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + Fill + + + 0, 24 + + + 3 + + + 1008, 683 + + + 50 + + + tblPanelLayer0 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="panelSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelLayer1Top" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelLayer1Bottom" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,163,Percent,100,Absolute,59" /></TableLayoutSettings> + GrowAndShrink + + tabControlSelection + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelSelection + + + 0 + + + Fill + + + 3, 166 + + + 1002, 455 + + + 43 + + + panelSelection + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer0 + + + 0 + + + tabPageCustomerSelection + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 0 + + + tabPageCordonelSelection + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 1 + + + tabPageFwPackageSelection + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 2 + + + tabPageUpdateOperator + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 3 + + + tabPagePreBuildSummary + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 4 + + + tabPageSafeBuildReport + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 5 + + + tabPageFwUpdateSafes + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 6 + + + tabPageReports + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 7 + + + Fill + + + 0, 0 + + + 0, 31 + + + 1002, 455 + + + 50 + + + tabControlSelection + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelSelection + + + 0 + + + panelCustomerSelection + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageCustomerSelection + + + 0 + + + 4, 22 + + + 3, 3, 3, 3 + + + 994, 429 + + + 4 + + + Customer Selection + + + tabPageCustomerSelection + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 0 + + + tblPanelCustomerSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelCustomerSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelCustomerSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewCustomerSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + + + Fill + + + 3, 3 + + + 0, 0, 0, 0 + + + 986, 421 + + + 1 + + + panelCustomerSelection + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageCustomerSelection + + + 0 + 1 + + tblPanelCustomerSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCustomerSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tbxCustomerSearchMask" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lblCustomerMaskText" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnSearchCustomer" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,145,Absolute,150,Absolute,120,Absolute,106,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + gridViewCustomerSelection + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCustomerSelection + + + 1 + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 2 + + + 986, 421 + + + 1 + + + tblPanelCustomerSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelCustomerSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelCustomerSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewCustomerSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + 5 + + tbxCustomerSearchMask + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCustomerSearch + + + 0 + + + lblCustomerMaskText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCustomerSearch + + + 1 + + + btnSearchCustomer + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCustomerSearch + + + 2 + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 1 + + + 986, 31 + + + 0 + + + tblPanelCustomerSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCustomerSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tbxCustomerSearchMask" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lblCustomerMaskText" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnSearchCustomer" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,145,Absolute,150,Absolute,120,Absolute,106,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings> + None @@ -565,39 +1030,6 @@ 2 - - Fill - - - 0, 0 - - - 0, 0, 0, 0 - - - 1 - - - 986, 31 - - - 0 - - - tblPanelCustomerSearch - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelCustomerSelection - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tbxCustomerSearchMask" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lblCustomerMaskText" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnSearchCustomer" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,145,Absolute,150,Absolute,120,Absolute,106,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings> - Fill @@ -625,96 +1057,150 @@ 1 - - Fill + + panelCordonelSelection - - 0, 0 - - - 0, 0, 0, 0 - - - 2 - - - 986, 421 - - - 1 - - - tblPanelCustomerSelection - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panelCustomerSelection - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelCustomerSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewCustomerSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> - - - Fill - - - 3, 3 - - - 0, 0, 0, 0 - - - 986, 421 - - - 1 - - - panelCustomerSelection - - + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPageCustomerSelection + + tabPageCordonelSelection - + 0 - + 4, 22 - + 3, 3, 3, 3 - + 994, 429 - - 4 + + 0 - - Customer Selection + + Cordonel Selection - - tabPageCustomerSelection + + tabPageCordonelSelection - + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tabControlSelection - + + 1 + + + tblPanelCordonelSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelCordonelSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gridViewCordonelSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelCordonelSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + + + Fill + + + 3, 3 + + + 0, 0, 0, 0 + + + 986, 421 + + + 1 + + + panelCordonelSelection + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageCordonelSelection + + 0 1 + + gridViewCordonelSelection + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSelection + + + 0 + + + tblPanelCordonelSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSelection + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tbxCordonelProductionOrdersSearch" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cbxCordonelProductionOrdersSearch" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lblInfoSelectCustomer" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnCordonelSearch" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lblCordonelProductionNumberSearch" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelCustomerSerialNumberSearch" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,122,Absolute,141,Absolute,108,Absolute,134,Absolute,104,Absolute,108,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 2 + + + 986, 421 + + + 0 + + + tblPanelCordonelSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelCordonelSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gridViewCordonelSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelCordonelSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + Fill @@ -745,6 +1231,111 @@ 7 + + tbxCordonelProductionOrdersSearch + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSearch + + + 0 + + + cbxCordonelProductionOrdersSearch + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSearch + + + 1 + + + lblInfoSelectCustomer + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSearch + + + 2 + + + btnCordonelSearch + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSearch + + + 3 + + + lblCordonelProductionNumberSearch + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSearch + + + 4 + + + lblCordonelCustomerSerialNumberSearch + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSearch + + + 5 + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 1 + + + 986, 31 + + + 1 + + + tblPanelCordonelSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelCordonelSelection + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tbxCordonelProductionOrdersSearch" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cbxCordonelProductionOrdersSearch" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lblInfoSelectCustomer" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnCordonelSearch" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lblCordonelProductionNumberSearch" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelCustomerSerialNumberSearch" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,122,Absolute,141,Absolute,108,Absolute,134,Absolute,104,Absolute,108,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings> + Left, Right @@ -928,129 +1519,153 @@ 5 - - Fill + + panelFwPackageSelection - - 0, 0 - - - 0, 0, 0, 0 - - - 1 - - - 986, 31 - - - 1 - - - tblPanelCordonelSearch - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelCordonelSelection - - - 1 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tbxCordonelProductionOrdersSearch" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cbxCordonelProductionOrdersSearch" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="lblInfoSelectCustomer" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="btnCordonelSearch" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /><Control Name="lblCordonelProductionNumberSearch" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelCustomerSerialNumberSearch" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /></Controls><Columns Styles="Absolute,122,Absolute,141,Absolute,108,Absolute,134,Absolute,104,Absolute,108,Percent,100" /><Rows Styles="Percent,100" /></TableLayoutSettings> - - - Fill - - - 0, 0 - - - 0, 0, 0, 0 - - - 2 - - - 986, 421 - - - 0 - - - tblPanelCordonelSelection - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panelCordonelSelection - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gridViewCordonelSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelCordonelSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> - - - Fill - - - 3, 3 - - - 0, 0, 0, 0 - - - 986, 421 - - - 1 - - - panelCordonelSelection - - + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPageCordonelSelection + + tabPageFwPackageSelection - + 0 - + 4, 22 - + 3, 3, 3, 3 - + 994, 429 - - 0 + + 5 - - Cordonel Selection + + FW-Package Selection - - tabPageCordonelSelection + + tabPageFwPackageSelection - + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tabControlSelection - + + 2 + + + tblFwPackageSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelFwPackageSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gridViewFwPackageSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelFwPackageSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,62,Percent,100" /></TableLayoutSettings> + + + Fill + + + 3, 3 + + + 0, 0, 0, 0 + + + 986, 421 + + 1 + + panelFwPackageSelection + + + System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageFwPackageSelection + + + 0 + + + True + 1 + + gridViewFwPackageSelection + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblFwPackageSelection + + + 0 + + + tblPanelFwPackageSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblFwPackageSelection + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblFwPackageSearchRegion" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwPackageSearchFrequency" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="cbxFwPackageRegionMask" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="cbxFwPackageRadioMask" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="btnFwPackageSearch" Row="0" RowSpan="1" Column="8" ColumnSpan="1" /><Control Name="lblFwPackageSearchSize" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cbxFwPackageSizeMask" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblFwPackageSearchMetrology" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="cbxFwPackageSearchMetrology" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblFwPackageSearchCore" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cbxFwPackageSearchCore" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /></Controls><Columns Styles="Absolute,60,Absolute,80,Absolute,80,Absolute,80,Absolute,80,Absolute,80,Absolute,60,Absolute,80,Absolute,106,Absolute,60,Percent,100" /><Rows Styles="Absolute,31,Absolute,31" /></TableLayoutSettings> + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 2 + + + 986, 421 + + + 0 + + + tblFwPackageSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panelFwPackageSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gridViewFwPackageSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelFwPackageSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,62,Percent,100" /></TableLayoutSettings> + Fill @@ -1084,6 +1699,171 @@ 11 + + lblFwPackageSearchRegion + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 0 + + + lblFwPackageSearchFrequency + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 1 + + + cbxFwPackageRegionMask + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 2 + + + cbxFwPackageRadioMask + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 3 + + + btnFwPackageSearch + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 4 + + + lblFwPackageSearchSize + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 5 + + + cbxFwPackageSizeMask + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 6 + + + lblFwPackageSearchMetrology + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 7 + + + cbxFwPackageSearchMetrology + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 8 + + + lblFwPackageSearchCore + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 9 + + + cbxFwPackageSearchCore + + + System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwPackageSearch + + + 10 + + + Fill + + + 0, 0 + + + 0, 0, 0, 0 + + + 2 + + + 986, 62 + + + 1 + + + tblPanelFwPackageSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblFwPackageSelection + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblFwPackageSearchRegion" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwPackageSearchFrequency" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="cbxFwPackageRegionMask" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="cbxFwPackageRadioMask" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="btnFwPackageSearch" Row="0" RowSpan="1" Column="8" ColumnSpan="1" /><Control Name="lblFwPackageSearchSize" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cbxFwPackageSizeMask" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblFwPackageSearchMetrology" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="cbxFwPackageSearchMetrology" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblFwPackageSearchCore" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cbxFwPackageSearchCore" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /></Controls><Columns Styles="Absolute,60,Absolute,80,Absolute,80,Absolute,80,Absolute,80,Absolute,80,Absolute,60,Absolute,80,Absolute,106,Absolute,60,Percent,100" /><Rows Styles="Absolute,31,Absolute,31" /></TableLayoutSettings> + Right @@ -1405,141 +2185,6 @@ 10 - - Fill - - - 0, 0 - - - 0, 0, 0, 0 - - - 2 - - - 986, 62 - - - 1 - - - tblPanelFwPackageSearch - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblFwPackageSelection - - - 1 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblFwPackageSearchRegion" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwPackageSearchFrequency" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="cbxFwPackageRegionMask" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="cbxFwPackageRadioMask" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="btnFwPackageSearch" Row="0" RowSpan="1" Column="8" ColumnSpan="1" /><Control Name="lblFwPackageSearchSize" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="cbxFwPackageSizeMask" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblFwPackageSearchMetrology" Row="1" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="cbxFwPackageSearchMetrology" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblFwPackageSearchCore" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="cbxFwPackageSearchCore" Row="0" RowSpan="1" Column="5" ColumnSpan="1" /></Controls><Columns Styles="Absolute,60,Absolute,80,Absolute,80,Absolute,80,Absolute,80,Absolute,80,Absolute,60,Absolute,80,Absolute,106,Absolute,60,Percent,100" /><Rows Styles="Absolute,31,Absolute,31" /></TableLayoutSettings> - - - Fill - - - 0, 0 - - - 0, 0, 0, 0 - - - 2 - - - 986, 421 - - - 0 - - - tblFwPackageSelection - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panelFwPackageSelection - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="gridViewFwPackageSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelFwPackageSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,62,Percent,100" /></TableLayoutSettings> - - - Fill - - - 3, 3 - - - 0, 0, 0, 0 - - - 986, 421 - - - 1 - - - panelFwPackageSelection - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPageFwPackageSelection - - - 0 - - - 4, 22 - - - 3, 3, 3, 3 - - - 994, 429 - - - 5 - - - FW-Package Selection - - - tabPageFwPackageSelection - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControlSelection - - - 2 - - - Fill - - - 3, 3 - - - 0, 0, 0, 0 - - - 986, 421 - - - 0 - gridViewUpdateOperators @@ -1579,16 +2224,31 @@ 3 - + Fill - + 3, 3 - + + 0, 0, 0, 0 + + 986, 421 - + + 0 + + + gridViewUpdateOperators + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageUpdateOperator + + 0 @@ -1630,20 +2290,29 @@ 4 - + Fill - + 3, 3 - + 986, 421 - + 0 - - + + gridViewPreBuildSummary + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPagePreBuildSummary + + + 0 rtbReport @@ -1684,9 +2353,138 @@ 5 + + Fill + + + 3, 3 + + + 986, 421 + + + 0 + + + + + + rtbReport + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageSafeBuildReport + + + 0 + + + tblFwUpdateSafeSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageFwUpdateSafes + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelFwUpdateSafeSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewFwUpdateSafeSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + + + 4, 22 + + + 3, 3, 3, 3 + + + 994, 429 + + + 8 + + + FW-Update Safes + + + tabPageFwUpdateSafes + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControlSelection + + + 6 + 1 + + tblPanelFwUpdateSafeSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblFwUpdateSafeSelection + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls /><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + gridViewFwUpdateSafeSelection + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblFwUpdateSafeSelection + + + 1 + + + Fill + + + 3, 3 + + + 0, 0, 0, 0 + + + 2 + + + 986, 421 + + + 0 + + + tblFwUpdateSafeSelection + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageFwUpdateSafes + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelFwUpdateSafeSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewFwUpdateSafeSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + 2 @@ -1750,69 +2548,111 @@ 1 - - Fill + + tblPanelFwUpdateReports - - 3, 3 - - - 0, 0, 0, 0 - - - 2 - - - 986, 421 - - - 0 - - - tblFwUpdateSafeSelection - - + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - tabPageFwUpdateSafes + + tabPageReports - + 0 - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelFwUpdateSafeSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewFwUpdateSafeSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelFwUpdateReportsSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewFwUpdateReportSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> - + 4, 22 - + 3, 3, 3, 3 - + 994, 429 - - 8 + + 7 - - FW-Update Safes + + FW-Update Reports - - tabPageFwUpdateSafes + + tabPageReports - + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + tabControlSelection - - 6 + + 7 1 + + tblPanelFwUpdateReportsSearch + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwUpdateReports + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls /><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings> + + + gridViewFwUpdateReportSelection + + + System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelFwUpdateReports + + + 1 + + + Fill + + + 3, 3 + + + 0, 0, 0, 0 + + + 2 + + + 986, 421 + + + 0 + + + tblPanelFwUpdateReports + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabPageReports + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelFwUpdateReportsSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewFwUpdateReportSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> + 2 @@ -1876,129 +2716,330 @@ 1 - - Fill - - - 3, 3 - - - 0, 0, 0, 0 - - - 2 - - - 986, 421 - - - 0 - - - tblPanelFwUpdateReports - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabPageReports - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelFwUpdateReportsSearch" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gridViewFwUpdateReportSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,31,Percent,100" /></TableLayoutSettings> - - - 4, 22 - - - 3, 3, 3, 3 - - - 994, 429 - - - 7 - - - FW-Update Reports - - - tabPageReports - - - System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tabControlSelection - - - 7 - - - Fill - - - 0, 0 - - - 0, 31 - - - 1002, 455 - - - 50 - - - tabControlSelection - - - System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panelSelection - - - 0 - - - Fill - - - 3, 166 - - - 1002, 455 - - - 43 - - - panelSelection - - - System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelLayer0 - - - 0 - + + True + GrowAndShrink 3 + + tblPanelSafeInfo + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Top + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblCustomerNameText" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblCustomerNumber" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCustomerNumberText" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwUpdateDutyDateText" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwUpdateDutyDate" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblUpdateOperatorText" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblOrderNumberText" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblUpdateOperator" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelsCustomerText" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="tbxCustomerName" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tbxCordonelsCustomerCount" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="tableLayoutPanel1" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelSelectedCountText" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblCordonelsSelectedCount" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lblSelectedFwPackagesText" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblSelectedFwPackages" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lblCordonelApprovedCountText" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblCordonelsApprovedCount" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="Absolute,129,Absolute,131,Absolute,40,Absolute,150,Absolute,50,Percent,100" /><Rows Styles="Absolute,25,Absolute,25,Percent,100,Absolute,25,Absolute,25,Absolute,25" /></TableLayoutSettings> + + + pictureBox1 + + + System.Windows.Forms.PictureBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Top + + + 1 + + + Fill + + + 3, 3 + + + 1 + + + 1002, 157 + + + 44 + + + tblPanelLayer1Top + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer0 + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelSafeInfo" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pictureBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelInfo" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,150,Percent,100,Absolute,120" /><Rows Styles="Percent,100" /></TableLayoutSettings> + True + + True + 6 + + lblCustomerNameText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 0 + + + lblCustomerNumber + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 1 + + + lblCustomerNumberText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 2 + + + lblFwUpdateDutyDateText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 3 + + + lblFwUpdateDutyDate + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 4 + + + lblUpdateOperatorText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 5 + + + lblOrderNumberText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 6 + + + lblUpdateOperator + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 7 + + + lblCordonelsCustomerText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 8 + + + tbxCustomerName + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 9 + + + tbxCordonelsCustomerCount + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 10 + + + tableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 11 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tbxOrderNumber" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tbxOrderPosition" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,15,Absolute,35" /><Rows Styles="Percent,100" /></TableLayoutSettings> + + + lblCordonelSelectedCountText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 12 + + + lblCordonelsSelectedCount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 13 + + + lblSelectedFwPackagesText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 14 + + + lblSelectedFwPackages + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 15 + + + lblCordonelApprovedCountText + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 16 + + + lblCordonelsApprovedCount + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 17 + + + Left + + + 153, 3 + + + 6 + + + 508, 151 + + + 48 + + + tblPanelSafeInfo + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Top + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblCustomerNameText" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblCustomerNumber" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCustomerNumberText" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwUpdateDutyDateText" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwUpdateDutyDate" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblUpdateOperatorText" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblOrderNumberText" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblUpdateOperator" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelsCustomerText" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="tbxCustomerName" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tbxCordonelsCustomerCount" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="tableLayoutPanel1" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelSelectedCountText" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblCordonelsSelectedCount" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lblSelectedFwPackagesText" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblSelectedFwPackages" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lblCordonelApprovedCountText" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblCordonelsApprovedCount" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="Absolute,129,Absolute,131,Absolute,40,Absolute,150,Absolute,50,Percent,100" /><Rows Styles="Absolute,25,Absolute,25,Percent,100,Absolute,25,Absolute,25,Absolute,25" /></TableLayoutSettings> + Top, Bottom, Left, Right @@ -2395,6 +3436,75 @@ 3 + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanel1 + + + 0 + + + tbxOrderNumber + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanel1 + + + 1 + + + tbxOrderPosition + + + System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tableLayoutPanel1 + + + 2 + + + Fill + + + 129, 76 + + + 0, 0, 0, 0 + + + 1 + + + 131, 25 + + + 20 + + + tableLayoutPanel1 + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSafeInfo + + + 11 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tbxOrderNumber" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tbxOrderPosition" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,15,Absolute,35" /><Rows Styles="Percent,100" /></TableLayoutSettings> + Left @@ -2479,39 +3589,6 @@ 2 - - Fill - - - 129, 76 - - - 0, 0, 0, 0 - - - 1 - - - 131, 25 - - - 20 - - - tableLayoutPanel1 - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelSafeInfo - - - 11 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="label1" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tbxOrderNumber" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tbxOrderPosition" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,15,Absolute,35" /><Rows Styles="Percent,100" /></TableLayoutSettings> - Left @@ -2731,36 +3808,6 @@ 17 - - Left - - - 153, 3 - - - 6 - - - 508, 151 - - - 48 - - - tblPanelSafeInfo - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelLayer1Top - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="lblCustomerNameText" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblCustomerNumber" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCustomerNumberText" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwUpdateDutyDateText" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblFwUpdateDutyDate" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblUpdateOperatorText" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblOrderNumberText" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="lblUpdateOperator" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelsCustomerText" Row="0" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="tbxCustomerName" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tbxCordonelsCustomerCount" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="tableLayoutPanel1" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="lblCordonelSelectedCountText" Row="1" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblCordonelsSelectedCount" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lblSelectedFwPackagesText" Row="2" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblSelectedFwPackages" Row="2" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="lblCordonelApprovedCountText" Row="3" RowSpan="1" Column="3" ColumnSpan="1" /><Control Name="lblCordonelsApprovedCount" Row="3" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="Absolute,129,Absolute,131,Absolute,40,Absolute,150,Absolute,50,Percent,100" /><Rows Styles="Absolute,25,Absolute,25,Percent,100,Absolute,25,Absolute,25,Absolute,25" /></TableLayoutSettings> - @@ -2913,45 +3960,150 @@ 1 - - Fill - - - 3, 3 - - - 1 - - - 1002, 157 - - - 44 - - - tblPanelLayer1Top - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelLayer0 - - - 1 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelSafeInfo" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="pictureBox1" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="panelInfo" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="Absolute,150,Percent,100,Absolute,120" /><Rows Styles="Percent,100" /></TableLayoutSettings> - GrowAndShrink 3 + + tblPanelSpecialButtons + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Bottom + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="btnLicenseFwUpdateBuilder" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnLicenseFwUpdateSw" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,41,Absolute,38,Absolute,34,Absolute,105" /><Rows Styles="Absolute,30,Percent,100" /></TableLayoutSettings> + + + tblPanelStandardButtons + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Bottom + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="btnBuildFwUpdateSafe" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnUploadSafeToDb" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,106,Absolute,114" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings> + + + tblPanelDebugDevices + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Bottom + + + 2 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="cbxAddDebugCordonels" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,10" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings> + + + Fill + + + 0, 624 + + + 0, 0, 0, 0 + + + 1 + + + 1008, 59 + + + 45 + + + tblPanelLayer1Bottom + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer0 + + + 2 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelSpecialButtons" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tblPanelStandardButtons" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="tblPanelDebugDevices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,396,Absolute,220" /><Rows Styles="Percent,100" /></TableLayoutSettings> + 5 + + btnLicenseFwUpdateBuilder + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSpecialButtons + + + 0 + + + btnLicenseFwUpdateSw + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelSpecialButtons + + + 1 + + + Right + + + 398, 0 + + + 0, 0, 0, 0 + + + 2 + + + 390, 59 + + + 0 + + + tblPanelSpecialButtons + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Bottom + + + 0 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="btnLicenseFwUpdateBuilder" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnLicenseFwUpdateSw" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,41,Absolute,38,Absolute,34,Absolute,105" /><Rows Styles="Absolute,30,Percent,100" /></TableLayoutSettings> + None @@ -3021,42 +4173,66 @@ 1 - - Right - - - 398, 0 - - - 0, 0, 0, 0 - - - 2 - - - 390, 59 - - - 0 - - - tblPanelSpecialButtons - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelLayer1Bottom - - - 0 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="btnLicenseFwUpdateBuilder" Row="1" RowSpan="1" Column="4" ColumnSpan="1" /><Control Name="btnLicenseFwUpdateSw" Row="0" RowSpan="1" Column="4" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,41,Absolute,38,Absolute,34,Absolute,105" /><Rows Styles="Absolute,30,Percent,100" /></TableLayoutSettings> - 2 + + btnBuildFwUpdateSafe + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelStandardButtons + + + 0 + + + btnUploadSafeToDb + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelStandardButtons + + + 1 + + + Fill + + + 788, 0 + + + 0, 0, 0, 0 + + + 2 + + + 220, 59 + + + 1 + + + tblPanelStandardButtons + + + System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelLayer1Bottom + + + 1 + + + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="btnBuildFwUpdateSafe" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnUploadSafeToDb" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,106,Absolute,114" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings> + None @@ -3120,66 +4296,9 @@ 1 - - Fill - - - 788, 0 - - - 0, 0, 0, 0 - - - 2 - - - 220, 59 - - - 1 - - - tblPanelStandardButtons - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelLayer1Bottom - - - 1 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="btnBuildFwUpdateSafe" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="btnUploadSafeToDb" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /></Controls><Columns Styles="Absolute,106,Absolute,114" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings> - 2 - - Left - - - True - - - 9, 6 - - - 9, 3, 3, 3 - - - 130, 17 - - - 0 - - - Add Debug Cordonels - - - False - cbxAddDebugCordonels @@ -3222,68 +4341,41 @@ <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="cbxAddDebugCordonels" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,10" /><Rows Styles="Percent,50,Percent,50" /></TableLayoutSettings> - - Fill + + Left - - 0, 624 + + True - - 0, 0, 0, 0 + + 9, 6 - - 1 + + 9, 3, 3, 3 - - 1008, 59 + + 130, 17 - - 45 - - - tblPanelLayer1Bottom - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - tblPanelLayer0 - - - 2 - - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="tblPanelSpecialButtons" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="tblPanelStandardButtons" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /><Control Name="tblPanelDebugDevices" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100,Absolute,396,Absolute,220" /><Rows Styles="Percent,100" /></TableLayoutSettings> - - - Fill - - - 0, 24 - - - 3 - - - 1008, 683 - - - 50 - - - tblPanelLayer0 - - - System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - $this - - + 0 - - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="panelSelection" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelLayer1Top" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="tblPanelLayer1Bottom" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Absolute,163,Percent,100,Absolute,59" /></TableLayoutSettings> + + Add Debug Cordonels + + + False + + + cbxAddDebugCordonels + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tblPanelDebugDevices + + + 0 243, 17