Unit selection in UI.Procedures.ProcedureDlg and UI.Procedures.TestWizard, ver. 3.1.1801

This commit is contained in:
Milan Hanajik
2021-11-09 08:48:27 +01:00
parent 5996fda348
commit 0f5c4b083d
15 changed files with 1092 additions and 440 deletions
+107 -16
View File
@@ -36,10 +36,16 @@ namespace TBF.Rig.DataContainer.BenchInfo
public int WaterMetersCount; /// 10
public int LinesCount; /// 11
public int CompoundMetersCount; /// 12
public ProcedureSelection Source1; /// 13
public ProcedureSelection Source2; /// 14
public ProcedureSelection Source3; /// 15
public ProcedureSelection Source4; /// 16
public Unit VolumeUnit; /// 13
public Unit FlowUnit; /// 14
public Unit MassUnit; /// 15
public Unit TempUnit; /// 16
public Unit PressUnit; /// 17
public Unit LenghtUnit; /// 18
public ProcedureSelection Source1; /// 19
public ProcedureSelection Source2; /// 20
public ProcedureSelection Source3; /// 21
public ProcedureSelection Source4; /// 22
/// Private parameterless constructor invoked by all other (public) constructors
ComponentCfg() {}
@@ -70,6 +76,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
WaterMetersCount = 20;
LinesCount = 2;
CompoundMetersCount = 1;
VolumeUnit = Unit.l;
FlowUnit = Unit.m3ph;
MassUnit = Unit.kg;
TempUnit = Unit.C;
PressUnit = Unit.bar;
LenghtUnit = Unit.mm;
Source1 = ProcedureSelection.FromLocalDB;
Source2 = ProcedureSelection.None;
Source3 = ProcedureSelection.None;
@@ -91,6 +103,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
"Water meters count", /// 10
"Lines count", /// 11
"Compound meters count", /// 12
"Preffered volume unit",
"Preffered flow unit",
"Preffered mass unit",
"Preffered temperature unit",
"Preffered pressure unit",
"Preffered lenght unit",
"Procedure selection source 1", /// 13
"Procedure selection source 2", /// 14
"Procedure selection source 3", /// 15
@@ -101,6 +119,8 @@ namespace TBF.Rig.DataContainer.BenchInfo
public ICollection<string> ParamValues(int i)
{
var list = new List<string>();
switch (i)
{
case 10:
@@ -111,15 +131,42 @@ namespace TBF.Rig.DataContainer.BenchInfo
return new string[] { "0", "1", "2", "3" };
case 13:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Volume))
list.Add(unit.ToDescription());
return list;
case 14:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Flow))
list.Add(unit.ToDescription());
return list;
case 15:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Mass))
list.Add(unit.ToDescription());
return list;
case 16:
IList<string> items = new List<string>();
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Temperature))
list.Add(unit.ToDescription());
return list;
case 17:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Pressure))
list.Add(unit.ToDescription());
return list;
case 18:
for (Unit unit = 0; unit < Unit.Count; unit++)
if (Units.IsQuantity(unit, Quantity.Length))
list.Add(unit.ToDescription());
return list;
case 19:
case 20:
case 21:
case 22:
for (ProcedureSelection src = 0; src < ProcedureSelection.Count; src++)
{
items.Add(src.ToDescription());
}
return items;
list.Add(src.ToDescription());
return list;
default:
return null;
@@ -143,10 +190,16 @@ namespace TBF.Rig.DataContainer.BenchInfo
case 10: return WaterMetersCount.ToString();
case 11: return LinesCount.ToString();
case 12: return CompoundMetersCount.ToString();
case 13: return Source1.ToDescription();
case 14: return Source2.ToDescription();
case 15: return Source3.ToDescription();
case 16: return Source4.ToDescription();
case 13: return VolumeUnit.ToDescription();
case 14: return FlowUnit.ToDescription();
case 15: return MassUnit.ToDescription();
case 16: return TempUnit.ToDescription();
case 17: return PressUnit.ToDescription();
case 18: return LenghtUnit.ToDescription();
case 19: return Source1.ToDescription();
case 20: return Source2.ToDescription();
case 21: return Source3.ToDescription();
case 22: return Source4.ToDescription();
default:
return string.Format("{0}: Bench={1}, ID={2}, Mtrs={3}, Lines={4}, Compund mtrs={5}, S1={6}, S2={7}, S3={8}, S4={9}",
Name, TestBenchName, TestBenchId, WaterMetersCount, LinesCount, CompoundMetersCount, Source1, Source2, Source3, Source4);
@@ -172,27 +225,51 @@ namespace TBF.Rig.DataContainer.BenchInfo
case 12: CompoundMetersCount = int.Parse(str); return CfgUpdateFlags.RestartRqrd;
case 13:
VolumeUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 14:
FlowUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 15:
MassUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 16:
TempUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 17:
PressUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 18:
LenghtUnit = Units.FromDescription(str);
return CfgUpdateFlags.RestartRqrd;
case 19:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source1 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 14:
case 20:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source2 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 15:
case 21:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source3 = source; return CfgUpdateFlags.RestartRqrd; }
}
break;
case 16:
case 22:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) { Source4 = source; return CfgUpdateFlags.RestartRqrd; }
@@ -237,6 +314,14 @@ namespace TBF.Rig.DataContainer.BenchInfo
case 14:
case 15:
case 16:
case 17:
case 18:
if (ParamValues(i).Contains(str)) return true;
break;
case 19:
case 20:
case 21:
case 22:
for (ProcedureSelection source = 0; source < ProcedureSelection.Count; source++)
{
if (str == source.ToDescription()) return true;
@@ -266,6 +351,12 @@ namespace TBF.Rig.DataContainer.BenchInfo
prms.WaterMetersCount = this.WaterMetersCount;
prms.LinesCount = this.LinesCount;
prms.CompoundMetersCount = this.CompoundMetersCount;
prms.VolumeUnit = this.VolumeUnit;
prms.FlowUnit = this.FlowUnit;
prms.MassUnit = this.MassUnit;
prms.TempUnit = this.TempUnit;
prms.PressUnit = this.PressUnit;
prms.LenghtUnit = this.LenghtUnit;
prms.Source1 = this.Source1;
prms.Source2 = this.Source2;
prms.Source3 = this.Source3;