FwUpdateBuilder: -Fw update safes info, -Fw update report file inspection
This commit is contained in:
parent
05ecaf61af
commit
43ff6e8af0
@ -96,5 +96,11 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateConfig.Consts
|
||||
/// </summary>
|
||||
public const Char FwUpdateFileFieldSeparator = '_';
|
||||
|
||||
/// <summary>
|
||||
/// Separator in file name between OrderNumber and position for the FW-Update Safe and all report
|
||||
/// files.
|
||||
/// </summary>
|
||||
public const Char FwUpdateFileOrderPosSeparator = '-';
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -332,7 +332,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
try
|
||||
{
|
||||
var url = ServiceUrls.ListAllFwUpdateBuilderOperatorsServiceUrl();
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 1200);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 5000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -455,7 +455,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
try
|
||||
{
|
||||
var url = ServiceUrls.ListAllConfigurationFilePackages();
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 5000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -518,7 +518,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
try
|
||||
{
|
||||
var url = ServiceUrls.ListAllFwUpdateSafes();
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 5000);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -559,7 +559,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
{
|
||||
var url = ServiceUrls.ListAllFwUpdateSafesForUserServiceUrl();
|
||||
url += $"{userId}";
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 3000);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -597,7 +597,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
{
|
||||
var url = ServiceUrls.DownloadFileParts();
|
||||
url += $"{fileId}&readContent={readContent}";
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 5000);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -635,7 +635,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
{
|
||||
var url = ServiceUrls.DownloadFileParts();
|
||||
url += $"{fileId}&readContent={readContent}";
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 5000);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -675,7 +675,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
{
|
||||
var url = ServiceUrls.ListAllCordonelCustomersWithFilterServiceUrl();
|
||||
url += searchPattern;
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 1200);
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -1293,6 +1293,40 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Download all pcbIds contained in a special FW update safe for information referenced by container id
|
||||
/// </summary>
|
||||
/// <param name="containerId"></param>
|
||||
/// <returns>true if file content exists</returns>
|
||||
/// <remarks date="2021-Oct-29" author="Roland Drabesch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
public List<String> GetFwUpdateSafePcbIdsFromDb(Int32 containerId)
|
||||
{
|
||||
var fwUpdateSafesPcbIds = new List<String>();
|
||||
try
|
||||
{
|
||||
var url = ServiceUrls.ListAllPcbIdsFromSafe();
|
||||
url += $"{containerId}";
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
return fwUpdateSafesPcbIds;
|
||||
}
|
||||
|
||||
DbIsConnected = true;
|
||||
fwUpdateSafesPcbIds = JsonConvert.DeserializeObject<List<String>>(requestResponse);
|
||||
|
||||
return fwUpdateSafesPcbIds;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
DbIsConnected = false;
|
||||
return fwUpdateSafesPcbIds;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Getting file contents referenced by file part id.
|
||||
/// -http://localhost:56011/GetFileContent?FileId=3831
|
||||
@ -1333,20 +1367,25 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
/// Get reports from DB.
|
||||
/// It can be searched for:
|
||||
/// PCB ID,
|
||||
/// User ID or
|
||||
/// Order Number.
|
||||
/// User ID,
|
||||
/// Order Number,
|
||||
/// Read content ( if false, a preview is available only).
|
||||
/// Leaving all empty will search all reports.
|
||||
/// </summary>
|
||||
/// <param name="fwUpdRpt">list of reports</param>
|
||||
/// <param name="pcbId">optional pcbId</param>
|
||||
/// <param name="userId">optional userId</param>
|
||||
/// <param name="orderNr">optional order number</param>
|
||||
/// <returns>true if app list could be loaded</returns>
|
||||
/// <param name="readContent">if false a preview of the reports will be loaded</param>
|
||||
/// <returns>true reports could be loaded</returns>
|
||||
/// <remarks date="2021-Apr-30" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Read content.
|
||||
/// </remarks>
|
||||
public Boolean DownloadFwUpdateReportsFromDb(out List<FwUpdateReportDb> fwUpdRpt, Int64 pcbId = 0,
|
||||
Int32 userId = 0, Int64 orderNr = 0)
|
||||
Int32 userId = 0, Int64 orderNr = 0, Boolean readContent = false)
|
||||
{
|
||||
fwUpdRpt = new List<FwUpdateReportDb>();
|
||||
try
|
||||
@ -1368,7 +1407,9 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
url += $"OrderNr={orderNr}";
|
||||
}
|
||||
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 10000);
|
||||
url += $"&readContent={readContent}";
|
||||
|
||||
var requestResponse = LocalWebRequest.GetRequest(url, 20000);
|
||||
if (string.IsNullOrEmpty(requestResponse))
|
||||
{
|
||||
DbIsConnected = false;
|
||||
@ -1454,7 +1495,7 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
|
||||
url = ServiceUrls.AddPcbIdsToSafeServiceUrl();
|
||||
url += containerId;
|
||||
if (LocalWebRequest.PostRequestAsync(url, 1200, pcbIds))
|
||||
if (LocalWebRequest.PostRequestAsync(url, 10000, pcbIds))
|
||||
{
|
||||
DbIsConnected = true;
|
||||
return true;
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
{
|
||||
@ -39,6 +40,11 @@ namespace Xylem.ServiceFwUpdate.Common.FwUpdateDb
|
||||
/// </summary>
|
||||
public Int32 FilePartId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// List of PcbIds
|
||||
/// </summary>
|
||||
public List<String> PcbIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// automatic (DB-job) delete all FwUpdateSafeContainer with invalid date
|
||||
/// </summary>
|
||||
|
||||
@ -61,13 +61,17 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder.Const
|
||||
/// <summary>
|
||||
/// Load all Cordonel FW update safes from DB
|
||||
/// </summary>
|
||||
GetFwUpdateSafesFromDb,
|
||||
GetFwUpdateSafesInfosFromDb,
|
||||
|
||||
/// <summary>
|
||||
/// Load all Cordonel FW update report files from DB
|
||||
/// </summary>
|
||||
GetReportFilesFromDb,
|
||||
GetReportsFromDb,
|
||||
|
||||
/// <summary>
|
||||
/// Load selected Cordonel FW update report file from DB and display it
|
||||
/// </summary>
|
||||
GetAndDisplaySingleReportFromDb,
|
||||
/// <summary>
|
||||
/// Load all Cordonel serial numbers off a specific order from DB
|
||||
/// </summary>
|
||||
|
||||
@ -91,7 +91,13 @@
|
||||
this.tabPageSafeBuildReport = new System.Windows.Forms.TabPage();
|
||||
this.rtbReport = new System.Windows.Forms.RichTextBox();
|
||||
this.tabPageFwUpdateSafes = new System.Windows.Forms.TabPage();
|
||||
this.tblFwUpdateSafeSelection = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tblPanelFwUpdateSafeSearch = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.gridViewFwUpdateSafeSelection = new System.Windows.Forms.DataGridView();
|
||||
this.tabPageReports = new System.Windows.Forms.TabPage();
|
||||
this.tblPanelFwUpdateReports = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tblPanelFwUpdateReportsSearch = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.gridViewFwUpdateReportSelection = new System.Windows.Forms.DataGridView();
|
||||
this.tblPanelLayer1Top = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tblPanelSafeInfo = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.lblCustomerNameText = new System.Windows.Forms.Label();
|
||||
@ -154,6 +160,12 @@
|
||||
this.tabPagePreBuildSummary.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridViewPreBuildSummary)).BeginInit();
|
||||
this.tabPageSafeBuildReport.SuspendLayout();
|
||||
this.tabPageFwUpdateSafes.SuspendLayout();
|
||||
this.tblFwUpdateSafeSelection.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridViewFwUpdateSafeSelection)).BeginInit();
|
||||
this.tabPageReports.SuspendLayout();
|
||||
this.tblPanelFwUpdateReports.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridViewFwUpdateReportSelection)).BeginInit();
|
||||
this.tblPanelLayer1Top.SuspendLayout();
|
||||
this.tblPanelSafeInfo.SuspendLayout();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
@ -645,16 +657,71 @@
|
||||
//
|
||||
this.tabPageFwUpdateSafes.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tabPageFwUpdateSafes.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tabPageFwUpdateSafes.Controls.Add(this.tblFwUpdateSafeSelection);
|
||||
resources.ApplyResources(this.tabPageFwUpdateSafes, "tabPageFwUpdateSafes");
|
||||
this.tabPageFwUpdateSafes.Name = "tabPageFwUpdateSafes";
|
||||
//
|
||||
// tblFwUpdateSafeSelection
|
||||
//
|
||||
resources.ApplyResources(this.tblFwUpdateSafeSelection, "tblFwUpdateSafeSelection");
|
||||
this.tblFwUpdateSafeSelection.Controls.Add(this.tblPanelFwUpdateSafeSearch, 0, 0);
|
||||
this.tblFwUpdateSafeSelection.Controls.Add(this.gridViewFwUpdateSafeSelection, 0, 1);
|
||||
this.tblFwUpdateSafeSelection.Name = "tblFwUpdateSafeSelection";
|
||||
//
|
||||
// tblPanelFwUpdateSafeSearch
|
||||
//
|
||||
resources.ApplyResources(this.tblPanelFwUpdateSafeSearch, "tblPanelFwUpdateSafeSearch");
|
||||
this.tblPanelFwUpdateSafeSearch.Name = "tblPanelFwUpdateSafeSearch";
|
||||
//
|
||||
// gridViewFwUpdateSafeSelection
|
||||
//
|
||||
this.gridViewFwUpdateSafeSelection.AllowUserToAddRows = false;
|
||||
this.gridViewFwUpdateSafeSelection.AllowUserToDeleteRows = false;
|
||||
this.gridViewFwUpdateSafeSelection.AllowUserToResizeColumns = false;
|
||||
this.gridViewFwUpdateSafeSelection.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
|
||||
this.gridViewFwUpdateSafeSelection.BackgroundColor = System.Drawing.SystemColors.Control;
|
||||
this.gridViewFwUpdateSafeSelection.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
resources.ApplyResources(this.gridViewFwUpdateSafeSelection, "gridViewFwUpdateSafeSelection");
|
||||
this.gridViewFwUpdateSafeSelection.EnableHeadersVisualStyles = false;
|
||||
this.gridViewFwUpdateSafeSelection.GridColor = System.Drawing.SystemColors.ControlLight;
|
||||
this.gridViewFwUpdateSafeSelection.Name = "gridViewFwUpdateSafeSelection";
|
||||
this.gridViewFwUpdateSafeSelection.ReadOnly = true;
|
||||
//
|
||||
// tabPageReports
|
||||
//
|
||||
this.tabPageReports.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.tabPageReports.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
|
||||
this.tabPageReports.Controls.Add(this.tblPanelFwUpdateReports);
|
||||
resources.ApplyResources(this.tabPageReports, "tabPageReports");
|
||||
this.tabPageReports.Name = "tabPageReports";
|
||||
//
|
||||
// tblPanelFwUpdateReports
|
||||
//
|
||||
resources.ApplyResources(this.tblPanelFwUpdateReports, "tblPanelFwUpdateReports");
|
||||
this.tblPanelFwUpdateReports.Controls.Add(this.tblPanelFwUpdateReportsSearch, 0, 0);
|
||||
this.tblPanelFwUpdateReports.Controls.Add(this.gridViewFwUpdateReportSelection, 0, 1);
|
||||
this.tblPanelFwUpdateReports.Name = "tblPanelFwUpdateReports";
|
||||
//
|
||||
// tblPanelFwUpdateReportsSearch
|
||||
//
|
||||
resources.ApplyResources(this.tblPanelFwUpdateReportsSearch, "tblPanelFwUpdateReportsSearch");
|
||||
this.tblPanelFwUpdateReportsSearch.Name = "tblPanelFwUpdateReportsSearch";
|
||||
//
|
||||
// gridViewFwUpdateReportSelection
|
||||
//
|
||||
this.gridViewFwUpdateReportSelection.AllowUserToAddRows = false;
|
||||
this.gridViewFwUpdateReportSelection.AllowUserToDeleteRows = false;
|
||||
this.gridViewFwUpdateReportSelection.AllowUserToResizeRows = false;
|
||||
this.gridViewFwUpdateReportSelection.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells;
|
||||
this.gridViewFwUpdateReportSelection.BackgroundColor = System.Drawing.SystemColors.Control;
|
||||
this.gridViewFwUpdateReportSelection.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
resources.ApplyResources(this.gridViewFwUpdateReportSelection, "gridViewFwUpdateReportSelection");
|
||||
this.gridViewFwUpdateReportSelection.EnableHeadersVisualStyles = false;
|
||||
this.gridViewFwUpdateReportSelection.GridColor = System.Drawing.SystemColors.ControlLight;
|
||||
this.gridViewFwUpdateReportSelection.Name = "gridViewFwUpdateReportSelection";
|
||||
this.gridViewFwUpdateReportSelection.ReadOnly = true;
|
||||
this.gridViewFwUpdateReportSelection.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.gridViewFwUpdateReportSelection_CellClick);
|
||||
//
|
||||
// tblPanelLayer1Top
|
||||
//
|
||||
resources.ApplyResources(this.tblPanelLayer1Top, "tblPanelLayer1Top");
|
||||
@ -933,6 +1000,12 @@
|
||||
this.tabPagePreBuildSummary.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridViewPreBuildSummary)).EndInit();
|
||||
this.tabPageSafeBuildReport.ResumeLayout(false);
|
||||
this.tabPageFwUpdateSafes.ResumeLayout(false);
|
||||
this.tblFwUpdateSafeSelection.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridViewFwUpdateSafeSelection)).EndInit();
|
||||
this.tabPageReports.ResumeLayout(false);
|
||||
this.tblPanelFwUpdateReports.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.gridViewFwUpdateReportSelection)).EndInit();
|
||||
this.tblPanelLayer1Top.ResumeLayout(false);
|
||||
this.tblPanelSafeInfo.ResumeLayout(false);
|
||||
this.tblPanelSafeInfo.PerformLayout();
|
||||
@ -1047,6 +1120,12 @@
|
||||
private System.Windows.Forms.Label lblCordonelSelectedCountText;
|
||||
private System.Windows.Forms.Label lblCordonelsSelectedCount;
|
||||
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel1;
|
||||
private System.Windows.Forms.TableLayoutPanel tblPanelFwUpdateReports;
|
||||
private System.Windows.Forms.TableLayoutPanel tblPanelFwUpdateReportsSearch;
|
||||
private System.Windows.Forms.DataGridView gridViewFwUpdateReportSelection;
|
||||
private System.Windows.Forms.TableLayoutPanel tblFwUpdateSafeSelection;
|
||||
private System.Windows.Forms.TableLayoutPanel tblPanelFwUpdateSafeSearch;
|
||||
private System.Windows.Forms.DataGridView gridViewFwUpdateSafeSelection;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -97,12 +97,34 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
private DataTable _dataTableCordonels;
|
||||
private DataTable _dataTableUpdateOperators;
|
||||
private DataTable _dataTableCustomers;
|
||||
private DataTable _dataTableReportFiles;
|
||||
private DataTable _dataTableUpdateSafes;
|
||||
|
||||
|
||||
// external update remarks form
|
||||
|
||||
// external update remarks form
|
||||
private readonly FrmHistory _frmFwUpdateReport = new FrmHistory();
|
||||
///<summary>
|
||||
/// Collection of software needed for the FW-Update safe!
|
||||
/// </summary>
|
||||
private SoftwareContainer _fwUpdateSwContainer;
|
||||
///<summary>
|
||||
/// All report files from the DB!
|
||||
/// This information will only be used by the FW Update Builder!
|
||||
/// </summary>
|
||||
private readonly List<FwUpdateReportDb> _fwUpdateReports = new List<FwUpdateReportDb>();
|
||||
///<summary>
|
||||
/// One selected report file on grid view by the user from the DB!
|
||||
/// This information will only be used by the FW Update Builder!
|
||||
/// </summary>
|
||||
private readonly FwUpdateReportDb _selectedReport = new FwUpdateReportDb();
|
||||
///<summary>
|
||||
/// All FW update safes from the DB!
|
||||
/// This information will only be used by the FW Update Builder!
|
||||
/// </summary>
|
||||
private readonly List<FwUpdateSafeDb> _fwUpdateSafesInfos = new List<FwUpdateSafeDb>();
|
||||
///<summary>
|
||||
/// All customer specific production order numbers to search mask from the DB!
|
||||
/// This information will only be used by the FW Update Builder!
|
||||
/// </summary>
|
||||
@ -176,7 +198,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
private Boolean _customersPropertyChanged;
|
||||
private Boolean _cordonelsPropertyChanged;
|
||||
private Boolean _fwPackagePropertyChanged;
|
||||
private Boolean _fwReportFilesPropertyChanged;
|
||||
private Boolean _fwReportsPropertyChanged;
|
||||
private Boolean _fwUpdateSafesPropertyChanged;
|
||||
private Boolean _preBuildSummaryPropertyChanged;
|
||||
|
||||
@ -285,12 +307,16 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
LoadDbCordonelCustomersTask();
|
||||
break;
|
||||
|
||||
case ProcessState.GetReportFilesFromDb:
|
||||
LoadDbReportFilesTask();
|
||||
case ProcessState.GetReportsFromDb:
|
||||
LoadDbReportsTask();
|
||||
break;
|
||||
|
||||
case ProcessState.GetFwUpdateSafesFromDb:
|
||||
LoadDbOutstandingFwUpdateSafesTask();
|
||||
case ProcessState.GetAndDisplaySingleReportFromDb:
|
||||
LoadDbReportAndDisplayTask();
|
||||
break;
|
||||
|
||||
case ProcessState.GetFwUpdateSafesInfosFromDb:
|
||||
LoadDbFwUpdateSafesInfosTask();
|
||||
break;
|
||||
|
||||
case ProcessState.GetFwUpdateOperatorsFromDb:
|
||||
@ -396,7 +422,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
CheckCordonelChange();
|
||||
CheckFwPackageChange();
|
||||
CheckFwUpdateSafesChange();
|
||||
CheckReportFilesChange();
|
||||
CheckReportsChange();
|
||||
break;
|
||||
case ProcessState.BuildFwUpdateSafe:
|
||||
SetStatusProgressBar(ProgressBarStatus.Value + 1 > 100 ? 0 : ProgressBarStatus.Value + 1);
|
||||
@ -407,8 +433,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
case ProcessState.GetCustomersFromDb:
|
||||
case ProcessState.GetFwPackagesFromDb:
|
||||
case ProcessState.GetCordonelSerialNumbersFromDb:
|
||||
case ProcessState.GetFwUpdateSafesFromDb:
|
||||
case ProcessState.GetReportFilesFromDb:
|
||||
case ProcessState.GetFwUpdateSafesInfosFromDb:
|
||||
case ProcessState.GetReportsFromDb:
|
||||
case ProcessState.GetAndDisplaySingleReportFromDb:
|
||||
case ProcessState.UploadFwUpdateSafeToDb:
|
||||
CheckDbConnectionTimeout();
|
||||
SetStatusProgressBar(ProgressBarStatus.Value + 1 > 100 ? 0 : ProgressBarStatus.Value + 1);
|
||||
@ -686,17 +713,17 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorSuccess, Resources.StrReadingFwUpdateSafes);
|
||||
SetStatusProgressBar();
|
||||
_dbAccessDelayCtrMs = 0;
|
||||
_processState = ProcessState.GetFwUpdateSafesFromDb;
|
||||
_processState = ProcessState.GetFwUpdateSafesInfosFromDb;
|
||||
|
||||
}
|
||||
|
||||
|
||||
if (e.TabPage == tabPageReports)
|
||||
{
|
||||
DisableAllControlsInvoked();
|
||||
UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorSuccess, Resources.StrReadingReportFiles);
|
||||
UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorSuccess, Resources.StrReadingReports);
|
||||
SetStatusProgressBar();
|
||||
_dbAccessDelayCtrMs = 0;
|
||||
_processState = ProcessState.GetReportFilesFromDb;
|
||||
_processState = ProcessState.GetReportsFromDb;
|
||||
|
||||
}
|
||||
|
||||
@ -1081,6 +1108,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// </remarks>
|
||||
private void FrmFwUpdateBuilder_FormClosing(Object sender, FormClosingEventArgs e)
|
||||
{
|
||||
_frmFwUpdateReport?.Close();
|
||||
_datePicker?.Dispose();
|
||||
_cbxFwReleaseSelection?.Dispose();
|
||||
_processToken?.Cancel();
|
||||
@ -1128,6 +1156,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// <remarks date="2021-Oct-27" author="Thomas Wiedebusch">
|
||||
/// - Added BuildFwUpdateSwContainerFromDb, not longer taken from locally file system!
|
||||
/// </remarks>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Skip loading of FW upadte SW if already done in preceding run.
|
||||
/// </remarks>
|
||||
public Boolean BuildFwUpdateSafe()
|
||||
{
|
||||
if (string.IsNullOrEmpty(lblUpdateOperator.Text)) return false;
|
||||
@ -1186,9 +1217,8 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
LogSuccessText($@"{Resources.StrSwLicenseLoadedSuccessfully} {FwUpdateProjectName}" +
|
||||
$" {fwUpdateSafe.License.Major}.{fwUpdateSafe.License.Minor}.{fwUpdateSafe.License.Build}");
|
||||
|
||||
// local files: if (!BuildFwUpdateSwContainer(fwUpdateSafe.License) ||
|
||||
if (!BuildFwUpdateSwContainerFromDb(fwUpdateSafe.License) ||
|
||||
_fwUpdateSwContainer?.RegisterDefinitionFile == null ||
|
||||
// Skip loading of FW update SW if already done in preceding run
|
||||
if (_fwUpdateSwContainer?.RegisterDefinitionFile == null ||
|
||||
_fwUpdateSwContainer.SoftwareSetupFile == null ||
|
||||
_fwUpdateSwContainer.MeterFilesEraseRestore == null ||
|
||||
string.IsNullOrEmpty(_fwUpdateSwContainer.RegisterDefinitionFile.FileName) ||
|
||||
@ -1197,12 +1227,26 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
_fwUpdateSwContainer.SoftwareDynLinkLibs == null ||
|
||||
_fwUpdateSwContainer.SoftwareDynLinkLibs.Count == 0)
|
||||
{
|
||||
LogErrorText(Resources.StrSwContainerCollectionFailed);
|
||||
MessageBoxShow(Resources.StrSwContainerCollectionFailed, Resources.StrError, MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
_processState = ProcessState.Error;
|
||||
return false;
|
||||
// local files: if (!BuildFwUpdateSwContainer(fwUpdateSafe.License) ||
|
||||
if (!BuildFwUpdateSwContainerFromDb(fwUpdateSafe.License) ||
|
||||
_fwUpdateSwContainer?.RegisterDefinitionFile == null ||
|
||||
_fwUpdateSwContainer.SoftwareSetupFile == null ||
|
||||
_fwUpdateSwContainer.MeterFilesEraseRestore == null ||
|
||||
string.IsNullOrEmpty(_fwUpdateSwContainer.RegisterDefinitionFile.FileName) ||
|
||||
string.IsNullOrEmpty(_fwUpdateSwContainer.SoftwareSetupFile.FileName) ||
|
||||
string.IsNullOrEmpty(_fwUpdateSwContainer.MeterFilesEraseRestore.FileName) ||
|
||||
_fwUpdateSwContainer.SoftwareDynLinkLibs == null ||
|
||||
_fwUpdateSwContainer.SoftwareDynLinkLibs.Count == 0)
|
||||
{
|
||||
LogErrorText(Resources.StrSwContainerCollectionFailed);
|
||||
MessageBoxShow(Resources.StrSwContainerCollectionFailed, Resources.StrError,
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Error);
|
||||
_processState = ProcessState.Error;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
fwUpdateSafe.Software = _fwUpdateSwContainer;
|
||||
LogSuccessText(Resources.StrSwContainerCollectionSuccess);
|
||||
|
||||
@ -1812,7 +1856,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
// update output information
|
||||
FillDataGridWithUpdateOperatorInfos();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Check for change of customer.
|
||||
/// </summary>
|
||||
@ -1831,7 +1875,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
// update output information
|
||||
FillDataGridWithCustomerInfos();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Check for change of Cordonels.
|
||||
/// </summary>
|
||||
@ -1885,13 +1929,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// <remarks date="2021-Mar-31" author="Thomas Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
private void CheckReportFilesChange()
|
||||
private void CheckReportsChange()
|
||||
{
|
||||
if (!_fwReportFilesPropertyChanged) return;
|
||||
if (!_fwReportsPropertyChanged) return;
|
||||
|
||||
_fwReportFilesPropertyChanged = false;
|
||||
_fwReportsPropertyChanged = false;
|
||||
// update output information
|
||||
FillDataGridWithReportFilesInfos();
|
||||
FillDataGridWithReportsInfos();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -1911,6 +1955,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
#endregion --------------------------------------- Checks -----------------------------------------------------
|
||||
|
||||
#region ------------------------------------------ Tools ------------------------------------------------------
|
||||
|
||||
///// <summary>
|
||||
///// Build the meter file update ruler to define releases which can be updated to another release.
|
||||
///// </summary>
|
||||
@ -2065,7 +2110,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Common message window.
|
||||
/// </summary>
|
||||
@ -2457,13 +2502,44 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Acquire one report file from DB and display it.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
private void LoadDbReportAndDisplayTask()
|
||||
{
|
||||
_invokerProcessState = _processState;
|
||||
|
||||
Task.Factory.StartNew(() =>
|
||||
{
|
||||
Thread.CurrentThread.CurrentUICulture = _cultureInfo;
|
||||
Thread.CurrentThread.CurrentCulture = _cultureInfo;
|
||||
try
|
||||
{
|
||||
// check DB connection in advance to overcome the timing issues for DB service startup
|
||||
_fwUpdateDbAccess.CheckDbConnection();
|
||||
GetAndDisplaySingleReportFromDb();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_processState = ProcessState.Error;
|
||||
}
|
||||
}).ContinueWith(delegate
|
||||
{
|
||||
_fwReportsPropertyChanged = true;
|
||||
_processState = ProcessState.Idle;
|
||||
});
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Acquire all report files from DB.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-28" author="Thomas Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
private void LoadDbReportFilesTask()
|
||||
private void LoadDbReportsTask()
|
||||
{
|
||||
_invokerProcessState = _processState;
|
||||
Task.Factory.StartNew(() =>
|
||||
@ -2474,7 +2550,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
{
|
||||
// check DB connection in advance to overcome the timing issues for DB service startup
|
||||
_fwUpdateDbAccess.CheckDbConnection();
|
||||
GetReportFilesFromDb();
|
||||
GetReportsFromDb();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@ -2482,7 +2558,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
}
|
||||
}).ContinueWith(delegate
|
||||
{
|
||||
_fwReportFilesPropertyChanged = true;
|
||||
_fwReportsPropertyChanged = true;
|
||||
_processState = ProcessState.Idle;
|
||||
});
|
||||
}
|
||||
@ -2493,7 +2569,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// <remarks date="2021-Oct-28" author="Thomas Wiedebusch">
|
||||
/// - Initial
|
||||
/// </remarks>
|
||||
private void LoadDbOutstandingFwUpdateSafesTask()
|
||||
private void LoadDbFwUpdateSafesInfosTask()
|
||||
{
|
||||
_invokerProcessState = _processState;
|
||||
Task.Factory.StartNew(() =>
|
||||
@ -2504,7 +2580,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
{
|
||||
// check DB connection in advance to overcome the timing issues for DB service startup
|
||||
_fwUpdateDbAccess.CheckDbConnection();
|
||||
GetOutstandingFwUpdateSafesFromDb();
|
||||
GetFwUpdateSafesInfosFromDb();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@ -2817,23 +2893,197 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// <summary>
|
||||
/// Build data grid for FW-Update update safes
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-28" author="Thomas Wiedebusch">
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void FillDataGridWithFwUpdateSafesInfos()
|
||||
{
|
||||
grpLanguageSelection.Enabled = false;
|
||||
|
||||
_dataTableUpdateSafes?.Dispose();
|
||||
Thread.CurrentThread.CurrentUICulture = _cultureInfo;
|
||||
Thread.CurrentThread.CurrentCulture = _cultureInfo;
|
||||
_dataTableUpdateSafes = new DataTable();
|
||||
|
||||
_dataTableUpdateSafes.Columns.Add(Resources.StrTableUserValidDate, typeof(DateTime));
|
||||
_dataTableUpdateSafes.Columns.Add(Resources.StrTableCordonelPcbId, typeof(String));
|
||||
|
||||
_dataTableUpdateSafes.Columns.Add(Resources.StrTableCordonelUpdateOrder, typeof(Int64));
|
||||
_dataTableUpdateSafes.Columns.Add(Resources.StrTableCordonelProductionPos, typeof(Int64));
|
||||
|
||||
_dataTableUpdateSafes.Columns.Add(Resources.StrTableCustomerName, typeof(String));
|
||||
_dataTableUpdateSafes.Columns.Add(Resources.StrTableUserFullName, typeof(String));
|
||||
|
||||
try
|
||||
{
|
||||
foreach (var safeInfo in _fwUpdateSafesInfos)
|
||||
{
|
||||
|
||||
// create one line per PcbId
|
||||
foreach (var pcbId in safeInfo.PcbIds)
|
||||
{
|
||||
var row = _dataTableUpdateSafes.NewRow();
|
||||
|
||||
row[Resources.StrTableUserValidDate] = safeInfo.ValidDate.DateTime;
|
||||
row[Resources.StrTableCordonelPcbId] = pcbId;
|
||||
|
||||
// extract customer name , order and position from file name
|
||||
var info = safeInfo.Name.Split(FwUpdateConfig.FwUpdateFileFieldSeparator);
|
||||
var replace = info[1].Replace(FwUpdateConfig.FwUpdateFileExtension, "");
|
||||
var orderPos = replace.Split(FwUpdateConfig.FwUpdateFileOrderPosSeparator);
|
||||
|
||||
|
||||
row[Resources.StrTableCordonelUpdateOrder] = orderPos[0];
|
||||
row[Resources.StrTableCordonelProductionPos] = orderPos[1];
|
||||
|
||||
row[Resources.StrTableCustomerName] = info[0];
|
||||
var userName = "?";
|
||||
foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators.Where(user =>
|
||||
user.Id == safeInfo.UserId))
|
||||
{
|
||||
userName = user.FullName;
|
||||
break;
|
||||
}
|
||||
|
||||
row[Resources.StrTableUserFullName] = userName;
|
||||
_dataTableUpdateSafes.Rows.Add(row);
|
||||
}
|
||||
}
|
||||
|
||||
gridViewFwUpdateSafeSelection.DataSource = _dataTableUpdateSafes;
|
||||
|
||||
foreach (DataGridViewColumn column in gridViewFwUpdateSafeSelection.Columns)
|
||||
{
|
||||
column.SortMode = DataGridViewColumnSortMode.Automatic;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_processState = ProcessState.Error;
|
||||
}
|
||||
finally
|
||||
{
|
||||
grpLanguageSelection.Enabled = true;
|
||||
}
|
||||
}
|
||||
#endregion --------------------------------------- Data Grid Update Safes --------------------------------------
|
||||
|
||||
#region ------------------------------------------ Data Grid Report Files --------------------------------------
|
||||
/// <summary>
|
||||
/// Build data grid for FW-Update report files
|
||||
/// Overwrite cell click, because edit of cells is denied (read only == true).
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-28" author="Thomas Wiedebusch">
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
/// <remarks date="2021-Mar-31" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void FillDataGridWithReportFilesInfos()
|
||||
private void gridViewFwUpdateReportSelection_CellClick(Object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0 || _dataTableReportFiles == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (var columnIndex = 0; columnIndex < gridViewFwUpdateReportSelection.ColumnCount; columnIndex++)
|
||||
{
|
||||
if (gridViewFwUpdateReportSelection.Columns[columnIndex].Name == Resources.StrTableSelect)
|
||||
_selectedReport.UserId =
|
||||
Convert.ToInt32(gridViewFwUpdateReportSelection.Rows[e.RowIndex].Cells[columnIndex].Value);
|
||||
if (gridViewFwUpdateReportSelection.Columns[columnIndex].Name == Resources.StrTableDate)
|
||||
_selectedReport.Date = Convert.ToDateTime(
|
||||
gridViewFwUpdateReportSelection.Rows[e.RowIndex].Cells[columnIndex].Value);
|
||||
if (gridViewFwUpdateReportSelection.Columns[columnIndex].Name == Resources.StrTableCordonelPcbId)
|
||||
_selectedReport.PcbId =
|
||||
Convert.ToInt64(gridViewFwUpdateReportSelection.Rows[e.RowIndex].Cells[columnIndex].Value);
|
||||
if (gridViewFwUpdateReportSelection.Columns[columnIndex].Name ==
|
||||
Resources.StrTableCordonelUpdateOrder)
|
||||
_selectedReport.OrderNr =
|
||||
Convert.ToInt64(gridViewFwUpdateReportSelection.Rows[e.RowIndex].Cells[columnIndex].Value);
|
||||
if (gridViewFwUpdateReportSelection.Columns[columnIndex].Name ==
|
||||
Resources.StrTableCordonelProductionPos)
|
||||
_selectedReport.OrderPos =
|
||||
Convert.ToInt64(gridViewFwUpdateReportSelection.Rows[e.RowIndex].Cells[columnIndex].Value);
|
||||
}
|
||||
DisableAllControlsInvoked();
|
||||
UiInvoker.ToolStripLabelInvoker(lblStatusDbConnect, ColorSuccess, Resources.StrReadingReports);
|
||||
SetStatusProgressBar();
|
||||
_dbAccessDelayCtrMs = 0;
|
||||
|
||||
_processState = ProcessState.GetAndDisplaySingleReportFromDb;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_processState = ProcessState.Error;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Build data grid for FW-Update report files
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void FillDataGridWithReportsInfos()
|
||||
{
|
||||
grpLanguageSelection.Enabled = false;
|
||||
|
||||
_dataTableReportFiles?.Dispose();
|
||||
Thread.CurrentThread.CurrentUICulture = _cultureInfo;
|
||||
Thread.CurrentThread.CurrentCulture = _cultureInfo;
|
||||
_dataTableReportFiles = new DataTable();
|
||||
|
||||
_dataTableReportFiles.Columns.Add(Resources.StrTableDate, typeof(DateTime));
|
||||
_dataTableReportFiles.Columns.Add(Resources.StrTableCordonelPcbId, typeof(String));
|
||||
|
||||
_dataTableReportFiles.Columns.Add(Resources.StrTableCordonelUpdateOrder, typeof(Int64));
|
||||
_dataTableReportFiles.Columns.Add(Resources.StrTableCordonelProductionPos, typeof(Int64));
|
||||
|
||||
_dataTableReportFiles.Columns.Add(Resources.StrTableUserFullName, typeof(String));
|
||||
_dataTableReportFiles.Columns.Add(Resources.StrTableSelect, typeof(Int32));
|
||||
|
||||
try
|
||||
{
|
||||
foreach (var report in _fwUpdateReports)
|
||||
{
|
||||
|
||||
var row = _dataTableReportFiles.NewRow();
|
||||
|
||||
row[Resources.StrTableDate] = report.Date.Date;
|
||||
row[Resources.StrTableCordonelPcbId] = report.PcbId;
|
||||
|
||||
row[Resources.StrTableCordonelUpdateOrder] = report.OrderNr;
|
||||
row[Resources.StrTableCordonelProductionPos] = report.OrderPos;
|
||||
|
||||
var userName = "?";
|
||||
foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators.Where(user => user.Id == report.UserId))
|
||||
{
|
||||
userName = user.FullName;
|
||||
break;
|
||||
}
|
||||
|
||||
row[Resources.StrTableUserFullName] = userName;
|
||||
row[Resources.StrTableSelect] = report.UserId;
|
||||
|
||||
_dataTableReportFiles.Rows.Add(row);
|
||||
}
|
||||
|
||||
gridViewFwUpdateReportSelection.DataSource = _dataTableReportFiles;
|
||||
|
||||
foreach (DataGridViewColumn column in gridViewFwUpdateReportSelection.Columns)
|
||||
{
|
||||
column.SortMode = DataGridViewColumnSortMode.Automatic;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
_processState = ProcessState.Error;
|
||||
}
|
||||
finally
|
||||
{
|
||||
grpLanguageSelection.Enabled = true;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion --------------------------------------- Data Grid Report Files --------------------------------------
|
||||
@ -4157,31 +4407,126 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all FW update report files from DB.
|
||||
/// Get the content of one selected FW update report from DB.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-28" author="Thomas Wiedebusch">
|
||||
/// <param name="reportText">content of report</param>
|
||||
/// <param name="pcbId"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <param name="orderNo"></param>
|
||||
/// <param name="position"></param>
|
||||
/// <param name="dateTime"></param>
|
||||
/// <returns>true if text is set with valid content</returns>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void GetReportFilesFromDb()
|
||||
private Boolean GetOneSelectedReportFromDb(out String reportText, Int64 pcbId, Int32 userId, Int64 orderNo,
|
||||
Int64 position, DateTimeOffset dateTime)
|
||||
{
|
||||
var fwUpdateReports = new List<FwUpdateReportDb>();
|
||||
_fwUpdateDbAccess?.DownloadFwUpdateReportsFromDb(out fwUpdateReports);
|
||||
reportText = "";
|
||||
// The DB access will load a list of all reports assigned to the input.
|
||||
if (_fwUpdateDbAccess == null ||
|
||||
!_fwUpdateDbAccess.DownloadFwUpdateReportsFromDb(out var fwUpdateReports, pcbId, userId, orderNo))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//The order number has to be extracted and the date has to match!
|
||||
foreach (var report in fwUpdateReports.Where(report => report.Date == dateTime &&
|
||||
report.OrderPos == position))
|
||||
{
|
||||
reportText = report.Content;
|
||||
break;
|
||||
}
|
||||
|
||||
return !string.IsNullOrEmpty(reportText);
|
||||
}
|
||||
/// <summary>
|
||||
/// Get one selected FW update report from DB and display it.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void GetAndDisplaySingleReportFromDb()
|
||||
{
|
||||
//open rich text view with report details
|
||||
if (_frmFwUpdateReport == null) return;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
_frmFwUpdateReport.rtbHistory?.Clear();
|
||||
}));
|
||||
|
||||
if (!GetOneSelectedReportFromDb(out var reportText, _selectedReport.PcbId, _selectedReport.UserId,
|
||||
_selectedReport.OrderNr, _selectedReport.OrderPos, _selectedReport.Date)) return;
|
||||
|
||||
//open rich text view with report details
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (_frmFwUpdateReport.rtbHistory != null)
|
||||
{
|
||||
_frmFwUpdateReport.rtbHistory.AppendText(reportText);
|
||||
_frmFwUpdateReport.rtbHistory.ScrollToCaret();
|
||||
}
|
||||
|
||||
_frmFwUpdateReport.Show();
|
||||
}));
|
||||
}
|
||||
/// <summary>
|
||||
/// 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.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void GetReportsFromDb()
|
||||
{
|
||||
if (_fwUpdateDbAccess == null) return;
|
||||
|
||||
_fwUpdateReports.Clear();
|
||||
// if the users are not acquired, get these first
|
||||
if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null ||
|
||||
_fwUpdateDbAccess.DbFullQualifiedUpdateOperators.Count == 0)
|
||||
{
|
||||
GetAllUpdateOperatorsFromDb();
|
||||
}
|
||||
|
||||
if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null) return;
|
||||
foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators)
|
||||
{
|
||||
var fwUpdateReportsOfUser = new List<FwUpdateReportDb>();
|
||||
_fwUpdateDbAccess?.DownloadFwUpdateReportsFromDb(out fwUpdateReportsOfUser, userId: user.Id);
|
||||
_fwUpdateReports.AddRange(fwUpdateReportsOfUser);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get all active FW update safes from DB. Outdated safes cannot be accessed.
|
||||
/// </summary>
|
||||
/// <remarks date="2021-Oct-28" author="Thomas Wiedebusch">
|
||||
/// <remarks date="2021-Oct-29" author="Thomas Wiedebusch">
|
||||
/// - Initial.
|
||||
/// </remarks>
|
||||
private void GetOutstandingFwUpdateSafesFromDb()
|
||||
private void GetFwUpdateSafesInfosFromDb()
|
||||
{
|
||||
var fwUpdateSafes= new List<FwUpdateSafeDb>();
|
||||
if (_fwUpdateDbAccess != null)
|
||||
if (_fwUpdateDbAccess == null) return;
|
||||
|
||||
_fwUpdateSafesInfos.Clear();
|
||||
// if the users are not acquired, get these first
|
||||
if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null ||
|
||||
_fwUpdateDbAccess.DbFullQualifiedUpdateOperators.Count == 0)
|
||||
{
|
||||
foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators)
|
||||
GetAllUpdateOperatorsFromDb();
|
||||
}
|
||||
|
||||
if (_fwUpdateDbAccess.DbFullQualifiedUpdateOperators == null) return;
|
||||
foreach (var user in _fwUpdateDbAccess.DbFullQualifiedUpdateOperators)
|
||||
{
|
||||
_fwUpdateDbAccess.ListAllFwUpdateSafesOfUserFromDb(user.Id, out var fwUpdateSafesOfUser);
|
||||
|
||||
foreach (var safe in fwUpdateSafesOfUser)
|
||||
{
|
||||
_fwUpdateDbAccess.ListAllFwUpdateSafesOfUserFromDb(user.Id, out var fwUpdateSafesOfUser);
|
||||
fwUpdateSafes.AddRange(fwUpdateSafesOfUser);
|
||||
var pcbIdsOfSafe = _fwUpdateDbAccess.GetFwUpdateSafePcbIdsFromDb(safe.ContainerId);
|
||||
var fwUpdateSafe = safe;
|
||||
fwUpdateSafe.PcbIds = pcbIdsOfSafe;
|
||||
_fwUpdateSafesInfos.Add(fwUpdateSafe);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -4303,13 +4648,13 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
{
|
||||
// Copy MeterFwUpdateRuler either to exe-path or if existing to Library-subfolder
|
||||
var fwUpdateBuilderExePath = AppDomain.CurrentDomain.BaseDirectory;
|
||||
var fwUpdateBuilderLibraryPath = Path.Combine(fwUpdateBuilderExePath,
|
||||
var fwUpdateBuilderLibraryPath = Path.Combine(fwUpdateBuilderExePath,
|
||||
FwUpdateConfig.LibrarySubFolderName);
|
||||
|
||||
// check the Library path existence (will be used in Release build)
|
||||
var meterFwUpdateRulerPath = Directory.Exists(fwUpdateBuilderLibraryPath) ?
|
||||
var meterFwUpdateRulerPath = Directory.Exists(fwUpdateBuilderLibraryPath) ?
|
||||
fwUpdateBuilderLibraryPath : fwUpdateBuilderExePath;
|
||||
|
||||
|
||||
var sourceFile = Path.Combine(meterFwUpdateRulerPath, f.FileName);
|
||||
var fs = File.Open(sourceFile, FileMode.Create);
|
||||
fs.Write(f.FileContent, 0, f.FileContent.Length);
|
||||
@ -4338,6 +4683,10 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
/// </remarks>
|
||||
private Boolean BuildFwUpdateSwContainerFromDb(SoftwareLicense fwUpdateSwLicense)
|
||||
{
|
||||
if (_fwUpdateDbAccess?.DbFwUpdateConfigFiles == null ||
|
||||
_fwUpdateDbAccess.DbFwUpdateConfigFiles.Count == 0)
|
||||
GetFwUpdateConfigFilesFromDb();
|
||||
|
||||
if (_fwUpdateDbAccess?.DbFwUpdateConfigFiles == null ||
|
||||
!_fwUpdateDbAccess.DownloadFwUpdateSwContainerFromDb() ||
|
||||
_fwUpdateDbAccess.DbFwUpdateSwPackage.Count == 0 ||
|
||||
@ -4794,7 +5143,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
_customersPropertyChanged = true;
|
||||
_cordonelsPropertyChanged = true;
|
||||
_fwPackagePropertyChanged = true;
|
||||
_fwReportFilesPropertyChanged = true;
|
||||
_fwReportsPropertyChanged = true;
|
||||
_fwUpdateSafesPropertyChanged = true;
|
||||
_preBuildSummaryPropertyChanged = true;
|
||||
|
||||
|
||||
@ -1684,6 +1684,105 @@
|
||||
<data name=">>tabPageSafeBuildReport.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>986, 31</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateSafeSearch.Name" xml:space="preserve">
|
||||
<value>tblPanelFwUpdateSafeSearch</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateSafeSearch.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateSafeSearch.Parent" xml:space="preserve">
|
||||
<value>tblFwUpdateSafeSelection</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateSafeSearch.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateSafeSearch.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls /><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateSafeSelection.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateSafeSelection.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 31</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateSafeSelection.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateSafeSelection.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>986, 390</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateSafeSelection.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateSafeSelection.Name" xml:space="preserve">
|
||||
<value>gridViewFwUpdateSafeSelection</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateSafeSelection.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateSafeSelection.Parent" xml:space="preserve">
|
||||
<value>tblFwUpdateSafeSelection</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateSafeSelection.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>986, 421</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tblFwUpdateSafeSelection.Name" xml:space="preserve">
|
||||
<value>tblFwUpdateSafeSelection</value>
|
||||
</data>
|
||||
<data name=">>tblFwUpdateSafeSelection.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tblFwUpdateSafeSelection.Parent" xml:space="preserve">
|
||||
<value>tabPageFwUpdateSafes</value>
|
||||
</data>
|
||||
<data name=">>tblFwUpdateSafeSelection.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tblFwUpdateSafeSelection.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?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></value>
|
||||
</data>
|
||||
<data name="tabPageFwUpdateSafes.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
</data>
|
||||
@ -1711,6 +1810,105 @@
|
||||
<data name=">>tabPageFwUpdateSafes.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.ColumnCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.RowCount" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>986, 31</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReportsSearch.Name" xml:space="preserve">
|
||||
<value>tblPanelFwUpdateReportsSearch</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReportsSearch.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReportsSearch.Parent" xml:space="preserve">
|
||||
<value>tblPanelFwUpdateReports</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReportsSearch.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReportsSearch.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls /><Columns Styles="Percent,50,Percent,50" /><Rows Styles="Percent,50" /></TableLayoutSettings></value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateReportSelection.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateReportSelection.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>0, 31</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateReportSelection.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateReportSelection.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>986, 390</value>
|
||||
</data>
|
||||
<data name="gridViewFwUpdateReportSelection.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateReportSelection.Name" xml:space="preserve">
|
||||
<value>gridViewFwUpdateReportSelection</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateReportSelection.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.DataGridView, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateReportSelection.Parent" xml:space="preserve">
|
||||
<value>tblPanelFwUpdateReports</value>
|
||||
</data>
|
||||
<data name=">>gridViewFwUpdateReportSelection.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
|
||||
<value>Fill</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>3, 3</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
|
||||
<value>0, 0, 0, 0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.RowCount" type="System.Int32, mscorlib">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>986, 421</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReports.Name" xml:space="preserve">
|
||||
<value>tblPanelFwUpdateReports</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReports.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TableLayoutPanel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReports.Parent" xml:space="preserve">
|
||||
<value>tabPageReports</value>
|
||||
</data>
|
||||
<data name=">>tblPanelFwUpdateReports.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="tblPanelFwUpdateReports.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
|
||||
<value><?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></value>
|
||||
</data>
|
||||
<data name="tabPageReports.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
</data>
|
||||
|
||||
124
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.Designer.cs
generated
Normal file
124
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.Designer.cs
generated
Normal file
@ -0,0 +1,124 @@
|
||||
namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
{
|
||||
partial class FrmHistory
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmHistory));
|
||||
this.rtbHistory = new System.Windows.Forms.RichTextBox();
|
||||
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.picBoxLogo = new System.Windows.Forms.PictureBox();
|
||||
this.tableLayoutPanel1.SuspendLayout();
|
||||
this.tableLayoutPanel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picBoxLogo)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// rtbHistory
|
||||
//
|
||||
this.rtbHistory.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.rtbHistory.Location = new System.Drawing.Point(3, 53);
|
||||
this.rtbHistory.Name = "rtbHistory";
|
||||
this.rtbHistory.Size = new System.Drawing.Size(568, 673);
|
||||
this.rtbHistory.TabIndex = 31;
|
||||
this.rtbHistory.Text = "";
|
||||
this.rtbHistory.TextChanged += new System.EventHandler(this.rtbHistory_TextChanged);
|
||||
//
|
||||
// tableLayoutPanel1
|
||||
//
|
||||
this.tableLayoutPanel1.ColumnCount = 1;
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tableLayoutPanel1.Controls.Add(this.rtbHistory, 0, 1);
|
||||
this.tableLayoutPanel1.Controls.Add(this.tableLayoutPanel2, 0, 0);
|
||||
this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
|
||||
this.tableLayoutPanel1.RowCount = 2;
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 50F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 111F));
|
||||
this.tableLayoutPanel1.Size = new System.Drawing.Size(574, 729);
|
||||
this.tableLayoutPanel1.TabIndex = 38;
|
||||
//
|
||||
// tableLayoutPanel2
|
||||
//
|
||||
this.tableLayoutPanel2.ColumnCount = 2;
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 50F));
|
||||
this.tableLayoutPanel2.Controls.Add(this.picBoxLogo, 1, 0);
|
||||
this.tableLayoutPanel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tableLayoutPanel2.Location = new System.Drawing.Point(3, 3);
|
||||
this.tableLayoutPanel2.Name = "tableLayoutPanel2";
|
||||
this.tableLayoutPanel2.RowCount = 1;
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
|
||||
this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
|
||||
this.tableLayoutPanel2.Size = new System.Drawing.Size(568, 44);
|
||||
this.tableLayoutPanel2.TabIndex = 36;
|
||||
//
|
||||
// picBoxLogo
|
||||
//
|
||||
this.picBoxLogo.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.picBoxLogo.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.picBoxLogo.ErrorImage = null;
|
||||
this.picBoxLogo.Image = ((System.Drawing.Image)(resources.GetObject("picBoxLogo.Image")));
|
||||
this.picBoxLogo.ImeMode = System.Windows.Forms.ImeMode.NoControl;
|
||||
this.picBoxLogo.InitialImage = null;
|
||||
this.picBoxLogo.Location = new System.Drawing.Point(460, 3);
|
||||
this.picBoxLogo.Name = "picBoxLogo";
|
||||
this.picBoxLogo.Size = new System.Drawing.Size(105, 38);
|
||||
this.picBoxLogo.TabIndex = 35;
|
||||
this.picBoxLogo.TabStop = false;
|
||||
//
|
||||
// FrmHistory
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.ClientSize = new System.Drawing.Size(574, 729);
|
||||
this.Controls.Add(this.tableLayoutPanel1);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.MinimumSize = new System.Drawing.Size(400, 768);
|
||||
this.Name = "FrmHistory";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
|
||||
this.Text = "FW-Update Report";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.FrmHistory_FormClosing);
|
||||
this.tableLayoutPanel1.ResumeLayout(false);
|
||||
this.tableLayoutPanel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.picBoxLogo)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
|
||||
private System.Windows.Forms.PictureBox picBoxLogo;
|
||||
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel2;
|
||||
public System.Windows.Forms.RichTextBox rtbHistory;
|
||||
}
|
||||
}
|
||||
37
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.cs
Normal file
37
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.cs
Normal file
@ -0,0 +1,37 @@
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder
|
||||
{
|
||||
/// <summary>
|
||||
/// History display of update process
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public partial class FrmHistory : Form
|
||||
{
|
||||
/// <summary>
|
||||
/// Ctor
|
||||
/// </summary>
|
||||
public FrmHistory()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void FrmHistory_FormClosing(Object sender, FormClosingEventArgs e)
|
||||
{
|
||||
//avoid destroying of object
|
||||
e.Cancel = true;
|
||||
//instead just hide it
|
||||
Hide();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Select always the last line for the display.
|
||||
/// </summary>
|
||||
private void rtbHistory_TextChanged(Object sender, EventArgs e)
|
||||
{
|
||||
//rtbHistory.SelectionStart = rtbHistory.Text.Length;
|
||||
//rtbHistory.ScrollToCaret();
|
||||
}
|
||||
}
|
||||
}
|
||||
150
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.de.resx
Normal file
150
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.de.resx
Normal file
@ -0,0 +1,150 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="rtbHistory.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>428, 673</value>
|
||||
</data>
|
||||
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>434, 729</value>
|
||||
</data>
|
||||
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
|
||||
<value>434, 729</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3d3cAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAA
|
||||
AAAABwAAAAAAAAAAAAAAAAB3cAcAAAAAAAAAAAAHcHAAd3AHAABwAAAAAAAAdwAHAHhwAAAABwAAAAAA
|
||||
B3CAAAd4dwAAcABwAAAAAAcIiAd3d3d3B3cABwAAAAAAj4iHf///B3iHcAcAAAAAAAiIiPiIiP8IhwBw
|
||||
AAAAAAAAiAiIh3d48HAAcAAAAAd3CIiIiAAHd493AHd3cABwAAjwiAB3dwd/BwAAAHAHAACPCIgIAAd3
|
||||
ePdwAABwBwiIjwiA8I+AcHj3d3cAcAcI+I8HgPBw8HB494h3AHAHCIiPB4Dwd4BwiPd3dwBwBwAAjweI
|
||||
/wAICIj3cAAAcAAAAAjweA//8AiPdwBwAAAAAAAI8HeIAAiIiHcAcAAAAAAAAI8HeIiIiAhwAHAAAAAA
|
||||
AAiP8Ad3iAiIhwAHAAAAAACPiI/wAAD4eIdwBwAAAAAHCPgIj///iAeHAHAAAAAAB3CAAAiIiAAAcAcA
|
||||
AAAAAAB3AHAAiIAHAABwAAAAAAAAB3cAAI+ABwAHAAAAAAAAAAAAAACIgAcAAAAAAAAAAAAAAAAAAAAH
|
||||
AAAAAAAAAAAAAAAAB3d3dwAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////wP///8D///+A////gP//4Y
|
||||
Dn/8AAQ/+AAAH/gAAA/4AAAP/AAAH/4AAB/gAAABwAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB/AAAH/wA
|
||||
AB/+AAAf/AAAD/gAAA/4AAAf+AAAP/wYDH/+OA7///gP///4D///+A///////w==
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>FW-Update Info</value>
|
||||
</data>
|
||||
</root>
|
||||
202
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.resx
Normal file
202
ServiceFwUpdate/Ui/ServiceFwUpdateBuilder/FrmHistory.resx
Normal file
@ -0,0 +1,202 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="picBoxLogo.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
/9j/4AAQSkZJRgABAQEAYABgAAD/4QC8RXhpZgAATU0AKgAAAAgABAESAAMAAAABAAEAAAE7AAIAAAAH
|
||||
AAAAPodpAAQAAAABAAAARpydAAEAAAAOAAAApgAAAABUaG9tYXMAAAAEkAMAAgAAABQAAAB8kAQAAgAA
|
||||
ABQAAACQkpEAAgAAAAM1MwAAkpIAAgAAAAM1MwAAAAAAADIwMjE6MDQ6MDEgMTQ6NTk6MjkAMjAyMTow
|
||||
NDowMSAxNDo1OToyOQAAAFQAaABvAG0AYQBzAAAA/9sAQwACAQECAQECAgICAgICAgMFAwMDAwMGBAQD
|
||||
BQcGBwcHBgcHCAkLCQgICggHBwoNCgoLDAwMDAcJDg8NDA4LDAwM/9sAQwECAgIDAwMGAwMGDAgHCAwM
|
||||
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAIwBkAwEi
|
||||
AAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAAB
|
||||
fQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNE
|
||||
RUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1
|
||||
tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEA
|
||||
AAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRC
|
||||
kaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpz
|
||||
dHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ
|
||||
2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A/fi5vYbML50scW7gb2C5p28Yrzr9qv8AZm0H
|
||||
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
|
||||
wxRrtSJFACqo7AAAAUUUVhvqzsSSVkf/2Q==
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAICAQAAAAAADoAgAAFgAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB3d3cAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAA
|
||||
AAAABwAAAAAAAAAAAAAAAAB3cAcAAAAAAAAAAAAHcHAAd3AHAABwAAAAAAAAdwAHAHhwAAAABwAAAAAA
|
||||
B3CAAAd4dwAAcABwAAAAAAcIiAd3d3d3B3cABwAAAAAAj4iHf///B3iHcAcAAAAAAAiIiPiIiP8IhwBw
|
||||
AAAAAAAAiAiIh3d48HAAcAAAAAd3CIiIiAAHd493AHd3cABwAAjwiAB3dwd/BwAAAHAHAACPCIgIAAd3
|
||||
ePdwAABwBwiIjwiA8I+AcHj3d3cAcAcI+I8HgPBw8HB494h3AHAHCIiPB4Dwd4BwiPd3dwBwBwAAjweI
|
||||
/wAICIj3cAAAcAAAAAjweA//8AiPdwBwAAAAAAAI8HeIAAiIiHcAcAAAAAAAAI8HeIiIiAhwAHAAAAAA
|
||||
AAiP8Ad3iAiIhwAHAAAAAACPiI/wAAD4eIdwBwAAAAAHCPgIj///iAeHAHAAAAAAB3CAAAiIiAAAcAcA
|
||||
AAAAAAB3AHAAiIAHAABwAAAAAAAAB3cAAI+ABwAHAAAAAAAAAAAAAACIgAcAAAAAAAAAAAAAAAAAAAAH
|
||||
AAAAAAAAAAAAAAAAB3d3dwAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///////wP///8D///+A////gP//4Y
|
||||
Dn/8AAQ/+AAAH/gAAA/4AAAP/AAAH/4AAB/gAAABwAAAAYAAAAGAAAABgAAAAYAAAAGAAAAB/AAAH/wA
|
||||
AB/+AAAf/AAAD/gAAA/4AAAf+AAAP/wYDH/+OA7///gP///4D///+A///////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@ -101,6 +101,12 @@
|
||||
<Compile Include="FrmFwUpdateBuilder.Designer.cs">
|
||||
<DependentUpon>FrmFwUpdateBuilder.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmHistory.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FrmHistory.Designer.cs">
|
||||
<DependentUpon>FrmHistory.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FrmRegister.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@ -118,6 +124,13 @@
|
||||
<DependentUpon>FrmFwUpdateBuilder.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmHistory.de.resx">
|
||||
<DependentUpon>FrmHistory.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmHistory.resx">
|
||||
<DependentUpon>FrmHistory.cs</DependentUpon>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="FrmRegister.de.resx">
|
||||
<DependentUpon>FrmRegister.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
@ -362,9 +362,9 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder.Properties {
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Acquiring Report Files.....
|
||||
/// </summary>
|
||||
internal static string StrReadingReportFiles {
|
||||
internal static string StrReadingReports {
|
||||
get {
|
||||
return ResourceManager.GetString("StrReadingReportFiles", resourceCulture);
|
||||
return ResourceManager.GetString("StrReadingReports", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
@ -629,6 +629,15 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to FW-Update Order Number.
|
||||
/// </summary>
|
||||
internal static string StrTableCordonelUpdateOrder {
|
||||
get {
|
||||
return ResourceManager.GetString("StrTableCordonelUpdateOrder", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Customer Location.
|
||||
/// </summary>
|
||||
@ -656,6 +665,15 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Date.
|
||||
/// </summary>
|
||||
internal static string StrTableDate {
|
||||
get {
|
||||
return ResourceManager.GetString("StrTableDate", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Core Max.
|
||||
/// </summary>
|
||||
@ -747,7 +765,7 @@ namespace Xylem.ServiceFwUpdate.Ui.FwUpdateBuilder.Properties {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Full Name.
|
||||
/// Looks up a localized string similar to Update Operator.
|
||||
/// </summary>
|
||||
internal static string StrTableUserFullName {
|
||||
get {
|
||||
|
||||
@ -156,7 +156,7 @@
|
||||
<data name="StrReadingFwUpdateSafes" xml:space="preserve">
|
||||
<value>Ermittelle FW Update Safes....</value>
|
||||
</data>
|
||||
<data name="StrReadingReportFiles" xml:space="preserve">
|
||||
<data name="StrReadingReports" xml:space="preserve">
|
||||
<value>Ermittelle Berichte....</value>
|
||||
</data>
|
||||
<data name="StrReadingCustomers" xml:space="preserve">
|
||||
@ -279,6 +279,9 @@
|
||||
<data name="StrTableCordonelProductionOrder" xml:space="preserve">
|
||||
<value>Produktionsnummer</value>
|
||||
</data>
|
||||
<data name="StrTableCordonelUpdateOrder" xml:space="preserve">
|
||||
<value>FW-Update Auftragsnummer</value>
|
||||
</data>
|
||||
<data name="StrTableCordonelProductionPos" xml:space="preserve">
|
||||
<value>Position</value>
|
||||
</data>
|
||||
@ -321,6 +324,9 @@
|
||||
<data name="StrTableReleaseDate" xml:space="preserve">
|
||||
<value>Releasedatum</value>
|
||||
</data>
|
||||
<data name="StrTableDate" xml:space="preserve">
|
||||
<value>Datum</value>
|
||||
</data>
|
||||
<data name="StrTableRegion" xml:space="preserve">
|
||||
<value>Region</value>
|
||||
</data>
|
||||
@ -328,7 +334,7 @@
|
||||
<value>Funkfrequenz [MHz]</value>
|
||||
</data>
|
||||
<data name="StrTableUserFullName" xml:space="preserve">
|
||||
<value>Benutzername</value>
|
||||
<value>Update Operator</value>
|
||||
</data>
|
||||
<data name="StrTableUserDomain" xml:space="preserve">
|
||||
<value>Domain</value>
|
||||
|
||||
@ -162,7 +162,7 @@
|
||||
<data name="StrReadingFwUpdateSafes" xml:space="preserve">
|
||||
<value>Acquiring FW Update Safes....</value>
|
||||
</data>
|
||||
<data name="StrReadingReportFiles" xml:space="preserve">
|
||||
<data name="StrReadingReports" xml:space="preserve">
|
||||
<value>Acquiring Report Files....</value>
|
||||
</data>
|
||||
<data name="StrReadingCordonels" xml:space="preserve">
|
||||
@ -282,6 +282,9 @@
|
||||
<data name="StrTableCordonelProductionOrder" xml:space="preserve">
|
||||
<value>Order Number</value>
|
||||
</data>
|
||||
<data name="StrTableCordonelUpdateOrder" xml:space="preserve">
|
||||
<value>FW-Update Order Number</value>
|
||||
</data>
|
||||
<data name="StrTableCordonelProductionPos" xml:space="preserve">
|
||||
<value>Position</value>
|
||||
</data>
|
||||
@ -324,6 +327,9 @@
|
||||
<data name="StrTableReleaseDate" xml:space="preserve">
|
||||
<value>Release Date</value>
|
||||
</data>
|
||||
<data name="StrTableDate" xml:space="preserve">
|
||||
<value>Date</value>
|
||||
</data>
|
||||
<data name="StrTableRegion" xml:space="preserve">
|
||||
<value>Region</value>
|
||||
</data>
|
||||
@ -331,7 +337,7 @@
|
||||
<value>Radio Frequency [MHz]</value>
|
||||
</data>
|
||||
<data name="StrTableUserFullName" xml:space="preserve">
|
||||
<value>Full Name</value>
|
||||
<value>Update Operator</value>
|
||||
</data>
|
||||
<data name="StrTableUserDomain" xml:space="preserve">
|
||||
<value>Domain</value>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user