DB 3.6 -> 3.7, PulsesPerLtrAux added to WaterMeterData and to Results items, MainSeqUtils and ProcedureDlg changes, ver. 3.7.2088

This commit is contained in:
Milan Hanajik
2023-08-17 19:57:58 +02:00
parent bc0de96ad9
commit eaf60f3292
10 changed files with 133 additions and 34 deletions
+2 -2
View File
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
[assembly: AssemblyVersion("3.6.2087.0")]
[assembly: AssemblyFileVersion("3.6.2087.0")]
[assembly: AssemblyVersion("3.7.2088.0")]
[assembly: AssemblyFileVersion("3.7.2088.0")]
+3 -2
View File
@@ -555,7 +555,7 @@ namespace TBF.Rig.Sequences
for (int wmNr = 0; wmNr < waterMetersCount; wmNr++)
{
int ix = compound ? (2 * wmNr) : wmNr;
if (WaterMeters.Count > ix)
if (ix < WaterMeters.Count)
{
waterMeterParts[wmNr] = Utils.PartNr(wmNr + 1, compound);
waterMeterData[wmNr] = new Results.Entities.WaterMeterData()
@@ -601,12 +601,13 @@ namespace TBF.Rig.Sequences
}
int auxIx = 2 * wmNr + 1;
if (compound && WaterMeters.Count > auxIx)
if (compound && auxIx < WaterMeters.Count)
{
waterMeterData[wmNr].ProducerAux = WaterMeters[auxIx].Producer;
waterMeterData[wmNr].Q3_Qn_Aux = WaterMeters[auxIx].Q3_Qn;
waterMeterData[wmNr].MetrologicalClassAux = WaterMeters[auxIx].MetrologicalClass;
waterMeterData[wmNr].ApprovalInfoAux = WaterMeters[auxIx].ApprovalInfo;
waterMeterData[wmNr].PulsesPerLtrAux = WaterMeters[auxIx].PulsesPerLtr;
}
}
+55 -7
View File
@@ -271,14 +271,60 @@ namespace TBF.UI.Procedures
///----------------
/// Create a control for the water meters and add it to the list.
IList<IComponent> waterMeters = new List<IComponent>();
foreach (var cmpnt in TbfComponents)
{
if (cmpnt is IWaterMeter) waterMeters.Add(cmpnt);
}
int wmsCount;
int toBeDisplayedWMsCount;
switch (procedure.MetersKind)
{
default:
case MetersKind.Single:
wmsCount = Data.WMsCount;
toBeDisplayedWMsCount = Data.WMsCount;
break;
case MetersKind.Combined:
wmsCount = Data.CompoundWMsCount;
toBeDisplayedWMsCount = 2 * Data.CompoundWMsCount;
break;
case MetersKind.HeatMeter:
wmsCount = Data.WMsCount;
toBeDisplayedWMsCount = 2 * Data.WMsCount;
break;
}
{
var newCtrl = new ProcedureParamsCtrl(this, waterMeters, false);
IList<string> names = new List<string>();
for (int wmNr1 = 1; wmNr1 <= wmsCount; wmNr1++)
{
switch (procedure.MetersKind)
{
default:
case MetersKind.Single:
names.Add(wmNr1.ToString());
break;
case MetersKind.Combined:
names.Add(Strings.Main);
names.Add(Strings.Aux);
break;
case MetersKind.HeatMeter:
names.Add(string.Format("Energy {0}", wmNr1));
names.Add(string.Format("Volume {0}", wmNr1));
break;
}
}
IList<IComponent> waterMeters = new List<IComponent>();
int addedWMsCount = 0;
foreach (var cmpnt in TbfComponents)
{
if (cmpnt is IWaterMeter)
{
waterMeters.Add(cmpnt);
addedWMsCount++;
if (addedWMsCount == toBeDisplayedWMsCount) break;
}
}
var newCtrl = new ProcedureParamsCtrl(this, waterMeters, names);
procedureParamsCtrls.Add(newCtrl);
TabPage newTab = new TabPage(Strings.Water_meters);
@@ -308,13 +354,15 @@ namespace TBF.UI.Procedures
if (usedPath != null)
{
IList<IComponent> cmpntsInMPath = new List<IComponent>();
IList<string> names = new List<string>();
for (int i = 0; i < TBF.Data.WMsCount; i++)
{
IComponent sensor = TbfComponents.FirstOrDefault<IComponent>(x => (x.Cfg.Name.Equals(usedPath.GetSensor(i))));
cmpntsInMPath.Add(sensor);
names.Add((i+1).ToString());
}
var nwCtrl = new ProcedureParamsCtrl(this, cmpntsInMPath, true);
var nwCtrl = new ProcedureParamsCtrl(this, cmpntsInMPath, names);
procedureParamsCtrls.Add(nwCtrl);
TabPage nwTab = new TabPage(usedPathName);
+17 -18
View File
@@ -22,9 +22,9 @@ namespace TBF.UI.Procedures
public partial class ProcedureParamsCtrl : UserControl, IProcParamsCtrl
{
ProcedureDlg parent;
bool showSensorsColumn;
int nrFixedColumns;
IList<IComponent> selectedCmpnts;
IList<string> names;
IList<IParamsProvider> cmpntsParams;
public IList<IParamsProvider> CmpntsParams { get { return cmpntsParams; } }
@@ -40,13 +40,13 @@ namespace TBF.UI.Procedures
cmpntsParams = new List<IParamsProvider>();
}
public ProcedureParamsCtrl(ProcedureDlg parent, IList<IComponent> selectedCmpnts, bool showSensorsColumn)
public ProcedureParamsCtrl(ProcedureDlg parent, IList<IComponent> selectedCmpnts, IList<string> names)
: this()
{
this.parent = parent;
this.selectedCmpnts = selectedCmpnts;
this.showSensorsColumn = showSensorsColumn;
nrFixedColumns = (showSensorsColumn ? 2 : 1);
this.names = names;
nrFixedColumns = 2;
unlocked = false;
this.SuspendLayout();
@@ -88,8 +88,8 @@ namespace TBF.UI.Procedures
if (sampleToCreateHeader != null)
{
if (showSensorsColumn) listViewEx.Columns.Add(Strings.Sensor, 60);
listViewEx.Columns.Add(Strings.Component, 80);
listViewEx.Columns.Add(string.Empty, 35);
listViewEx.Columns.Add(Strings.Component, 70);
paramsCount = sampleToCreateHeader.ParamsCount();
editors = new Control[paramsCount];
@@ -178,10 +178,16 @@ namespace TBF.UI.Procedures
public void RedrawAll()
{
listViewEx.Items.Clear();
foreach (var item in cmpntsParams) DrawOne(item);
if (names.Count >= cmpntsParams.Count)
{
for (int i = 0; i < cmpntsParams.Count; i++)
{
DrawOne(cmpntsParams[i], names[i]);
}
}
}
void DrawOne(IParamsProvider item)
void DrawOne(IParamsProvider item, string name)
{
if (item == null)
{
@@ -189,16 +195,9 @@ namespace TBF.UI.Procedures
return;
}
ListViewItem lvi;
if (showSensorsColumn)
{
lvi = new ListViewItem((listViewEx.Items.Count + 1).ToString());
lvi.SubItems.Add(selectedCmpnts[listViewEx.Items.Count].Cfg.Name);
}
else
{
lvi = new ListViewItem(selectedCmpnts[listViewEx.Items.Count].Cfg.Name);
}
ListViewItem lvi = new ListViewItem(name);
lvi.SubItems.Add(selectedCmpnts[listViewEx.Items.Count].Cfg.Name);
for (int i = 0; i < paramsCount; i++) lvi.SubItems.Add(item.ToString(i));
lvi.Tag = item;
listViewEx.Items.Add(lvi);
+13 -1
View File
@@ -36,6 +36,7 @@
this.upgradeDb_303_304_Button = new System.Windows.Forms.Button();
this.upgradeDb_304_305_Button = new System.Windows.Forms.Button();
this.upgradeDb_305_306_Button = new System.Windows.Forms.Button();
this.upgradeDb_306_307_Button = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// upgradeConfigDBCheckBox
@@ -119,11 +120,22 @@
this.upgradeDb_305_306_Button.UseVisualStyleBackColor = true;
this.upgradeDb_305_306_Button.Click += new System.EventHandler(this.upgradeDb_305_306_Button_Click);
//
// upgradeDb_306_307_Button
//
this.upgradeDb_306_307_Button.Location = new System.Drawing.Point(12, 189);
this.upgradeDb_306_307_Button.Name = "upgradeDb_306_307_Button";
this.upgradeDb_306_307_Button.Size = new System.Drawing.Size(260, 22);
this.upgradeDb_306_307_Button.TabIndex = 28;
this.upgradeDb_306_307_Button.Text = "Upgrade DB from v.3.6 to v.3.7";
this.upgradeDb_306_307_Button.UseVisualStyleBackColor = true;
this.upgradeDb_306_307_Button.Click += new System.EventHandler(this.upgradeDb_306_307_Button_Click);
//
// UpgradeSelectionDlg
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(284, 597);
this.Controls.Add(this.upgradeDb_306_307_Button);
this.Controls.Add(this.upgradePipesButton);
this.Controls.Add(this.upgradeDb_305_306_Button);
this.Controls.Add(this.upgradeDb_304_305_Button);
@@ -149,6 +161,6 @@
private System.Windows.Forms.Button upgradeDb_303_304_Button;
private System.Windows.Forms.Button upgradeDb_304_305_Button;
private System.Windows.Forms.Button upgradeDb_305_306_Button;
private System.Windows.Forms.Button upgradeDb_306_307_Button;
}
}
+28
View File
@@ -386,5 +386,33 @@ namespace TBF.UI.Settings
upgradeDb_305_306_Button.Enabled = false;
}
}
private void upgradeDb_306_307_Button_Click(object sender, EventArgs e)
{
string[] configDbCommands = new string[] { };
string[] resultsDbCommands = new string[]
{
"ALTER TABLE `watermeterdata` ADD `PulsesPerLtrAux` DOUBLE NOT NULL DEFAULT '1' AFTER `ApprovalInfoAux`;",
};
if (!upgradeConfigDBCheckBox.Checked && !upgradeResultsDBCheckBox.Checked)
{
MessageBox.Show("No database selected");
return;
}
ActivityStart();
if ((!upgradeConfigDBCheckBox.Checked || configDbCommands.Length == 0 ||
ExecuteCommands(new MySqlConnection(TBF.DB.CurrentBench.ProceduresDBSettings.ConnectionString), configDbCommands)) &&
(!upgradeResultsDBCheckBox.Checked || resultsDbCommands.Length == 0 ||
ExecuteCommands(new MySqlConnection(Results.DB.ConnectionString), resultsDbCommands)))
{
ActivityEnd();
MessageBox.Show("DB succesfully upgraded", "Confirmation", MessageBoxButtons.OK, MessageBoxIcon.Information);
upgradeDb_306_307_Button.Enabled = false;
}
}
}
}