diff --git a/Config/Config.csproj b/Config/Config.csproj
index 889929c18..4d229dff3 100644
--- a/Config/Config.csproj
+++ b/Config/Config.csproj
@@ -84,6 +84,8 @@
+
+
@@ -106,6 +108,8 @@
+
+
diff --git a/Config/Entities/Enums.cs b/Config/Entities/Enums.cs
index 5b5e7eda7..28e3b03df 100644
--- a/Config/Entities/Enums.cs
+++ b/Config/Entities/Enums.cs
@@ -83,6 +83,14 @@ namespace Config.Entities
Count,
}
+ public enum ProfileType
+ {
+ One,
+ Two,
+ Three,
+ Count,
+ }
+
/// Kind of meters for the procedure / test
public enum MetersKind
{
@@ -294,20 +302,6 @@ namespace Config.Entities
Count
}
- public enum TestRedType
- {
- Fix,
- /// etc.
- Count,
- }
-
- public enum FQC1
- {
- FQC1,
- FQP1,
- Count,
- }
-
public enum Progress
{
JustStarted,
diff --git a/Config/Entities/PTest.cs b/Config/Entities/PTest.cs
new file mode 100644
index 000000000..253468808
--- /dev/null
+++ b/Config/Entities/PTest.cs
@@ -0,0 +1,319 @@
+///
+/// Copyright (c) 2019 Sensus Slovensko a.s.
+///
+using System;
+using System.Globalization;
+using System.IO;
+
+namespace Config.Entities
+{
+ ///
+ /// Test, consisting of one or more repetitions of the test 'SingleTest'.
+ ///
+ public class PTest : IHasName, IHasItemNr
+ {
+ public virtual int Id { get; protected set; }
+ public virtual int ItemNr { get; set; }
+ public virtual string Name { get; set; }
+ public virtual float CoefQfrom { get; set; } /// Water flow low limit in [m3/h]
+ public virtual float CoefQto { get; set; } /// Water flow high limit in [m3/h]
+ public virtual float ErrLimLo { get; set; } /// in [%] usually < 0, in case of heat meters: 1=class1, 2=class2, 3=class3
+ public virtual float ErrLimHi { get; set; } /// in [%] usually > 0, in case of heat meters: -Qn in m3/h
+ public virtual float TempLimLo { get; set; } /// Lower limit for the controlled temperature
+ public virtual float TempLimHi { get; set; } /// Upper limit for the controlled temperature
+ public virtual float PressLimLo { get; set; } /// [bar] min. water pressure
+ public virtual float PressLimHi { get; set; } /// [bar] max. water pressure
+
+ public virtual sbyte E1 { get; set; } /// 0=off, 1=info, 2=evaluate
+ public virtual sbyte E2 { get; set; }
+ public virtual sbyte E3 { get; set; }
+ public virtual sbyte E4 { get; set; }
+ public virtual sbyte E5 { get; set; }
+ public virtual sbyte E6 { get; set; }
+ public virtual sbyte E7 { get; set; }
+ public virtual sbyte E8 { get; set; }
+ public virtual sbyte E9 { get; set; }
+ public virtual sbyte E10 { get; set; }
+ public virtual sbyte E11 { get; set; }
+ public virtual sbyte E12 { get; set; }
+ public virtual sbyte E13 { get; set; }
+ public virtual sbyte E14 { get; set; }
+ public virtual sbyte E15 { get; set; }
+ public virtual sbyte E16 { get; set; }
+ public virtual sbyte E21 { get; set; }
+
+ public virtual float Delta_Q_pct { get; set; } /// [%] max deviation from the mean flow
+ public virtual float Delta_T { get; set; } /// [°C] max. T_up or T_down deviation from the mean temperature
+ public virtual float Delta_Tup_Tdn { get; set; } /// [°C] max. difference abs(T_up - T_down)
+ public virtual float TestTime_min { get; set; } /// [s]
+ public virtual float TestTime_max { get; set; } /// [s]
+ public virtual float AmbTemp_min { get; set; } /// [°C] min. ambient temperature
+ public virtual float AmbTemp_max { get; set; } /// [°C] max. ambient temperature
+
+ public virtual float Coef_E9 { get; set; } /// Coefficient used in E9, default 0.025
+ public virtual float Coef_E10 { get; set; } /// Coefficient used in E10, default 0.04
+ public virtual float Coef_E11 { get; set; } /// Coefficient used in E11, default 0.1
+ public virtual float Coef_E12 { get; set; } /// Coefficient used in E12, default 1
+ public virtual float Offset_E9 { get; set; } /// [s] default 0 (no offset)
+ public virtual float Offset_E12 { get; set; } /// [s] default 0 (no offset)
+
+ public virtual Profile Profile { get; set; }
+
+ /// ------------- Additional stuff not mapped into the database -------------
+
+ public PTest()
+ {
+ ///
+ /// Default values
+ ///
+ CoefQfrom = 0.9f;
+ CoefQto = 1.0f;
+ ErrLimLo = -2.0f; /// [%] lower error limit
+ ErrLimHi = 2.0f; /// [%] upper error limit
+ TempLimLo = 15.0f;
+ TempLimHi = 25.0f;
+ PressLimLo = 0;
+ PressLimHi = 16.0f;
+
+ E1 = 1;
+ E2 = 1;
+ E3 = 1;
+ E4 = 1;
+ E5 = 1;
+ E6 = 1;
+ E7 = 1;
+ E8 = 1;
+ E9 = 1;
+ E10 = 1;
+ E11 = 1;
+ E12 = 1;
+ E13 = 1;
+ E14 = 1;
+ E15 = 1;
+ E16 = 1;
+ E21 = 1;
+
+ Delta_Q_pct = 0;
+ Delta_T = 0;
+ Delta_Tup_Tdn = 0;
+ TestTime_min = 0;
+ TestTime_max = 0;
+ AmbTemp_min = 0;
+ AmbTemp_max = 0;
+
+ Coef_E9 = 0;
+ Coef_E10 = 0;
+ Coef_E11 = 0;
+ Coef_E12 = 0;
+ Offset_E9 = 0;
+ Offset_E12 = 0;
+ }
+
+ public PTest(string name, int itemNr, Profile profile)
+ : this()
+ {
+ Name = name;
+ ItemNr = itemNr;
+ Profile = profile;
+ }
+
+ // Makes a new copy of this object (not just a reference)
+ public virtual PTest Clone()
+ {
+ PTest result = new PTest(Name, ItemNr, Profile);
+
+ result.CoefQfrom = CoefQfrom;
+ result.CoefQto = CoefQto;
+ result.ErrLimLo = ErrLimLo;
+ result.ErrLimHi = ErrLimHi;
+ result.TempLimLo = TempLimLo;
+ result.TempLimHi = TempLimHi;
+ result.PressLimLo = PressLimLo;
+ result.PressLimHi = PressLimHi;
+
+ result.E1 = E1;
+ result.E2 = E2;
+ result.E3 = E3;
+ result.E4 = E4;
+ result.E5 = E5;
+ result.E6 = E6;
+ result.E7 = E7;
+ result.E8 = E8;
+ result.E9 = E9;
+ result.E10 = E10;
+ result.E11 = E11;
+ result.E12 = E12;
+ result.E13 = E13;
+ result.E14 = E14;
+ result.E15 = E15;
+ result.E16 = E16;
+ result.E21 = E21;
+
+ result.Delta_Q_pct = Delta_Q_pct;
+ result.Delta_T = Delta_T;
+ result.Delta_Tup_Tdn = Delta_Tup_Tdn;
+ result.TestTime_min = TestTime_min;
+ result.TestTime_max = TestTime_max;
+ result.AmbTemp_min = AmbTemp_min;
+ result.AmbTemp_max = AmbTemp_max;
+
+ result.Coef_E9 = Coef_E9;
+ result.Coef_E10 = Coef_E10;
+ result.Coef_E11 = Coef_E11;
+ result.Coef_E12 = Coef_E12;
+ result.Offset_E9 = Offset_E9;
+ result.Offset_E12 = Offset_E12;
+
+ return result;
+ }
+
+ public virtual void Export(StreamWriter output)
+ {
+ CultureInfo ci = CultureInfo.InvariantCulture;
+
+ output.WriteLine(Name);
+ output.WriteLine(CoefQfrom.ToString(ci));
+ output.WriteLine(CoefQto.ToString(ci));
+ output.WriteLine(ErrLimLo.ToString(ci));
+ output.WriteLine(ErrLimHi.ToString(ci));
+ output.WriteLine(TempLimLo.ToString(ci));
+ output.WriteLine(TempLimHi.ToString(ci));
+ output.WriteLine(PressLimLo.ToString(ci));
+ output.WriteLine(PressLimHi.ToString(ci));
+
+ output.WriteLine(E1.ToString());
+ output.WriteLine(E2.ToString());
+ output.WriteLine(E3.ToString());
+ output.WriteLine(E4.ToString());
+ output.WriteLine(E5.ToString());
+ output.WriteLine(E6.ToString());
+ output.WriteLine(E7.ToString());
+ output.WriteLine(E8.ToString());
+ output.WriteLine(E9.ToString());
+ output.WriteLine(E10.ToString());
+ output.WriteLine(E11.ToString());
+ output.WriteLine(E12.ToString());
+ output.WriteLine(E13.ToString());
+ output.WriteLine(E14.ToString());
+ output.WriteLine(E15.ToString());
+ output.WriteLine(E16.ToString());
+ output.WriteLine(E21.ToString());
+
+ output.WriteLine(Delta_Q_pct.ToString(ci));
+ output.WriteLine(Delta_T.ToString(ci));
+ output.WriteLine(Delta_Tup_Tdn.ToString(ci));
+ output.WriteLine(TestTime_min.ToString(ci));
+ output.WriteLine(TestTime_max.ToString(ci));
+ output.WriteLine(AmbTemp_min.ToString(ci));
+ output.WriteLine(AmbTemp_max.ToString(ci));
+
+ output.WriteLine(Coef_E9.ToString(ci));
+ output.WriteLine(Coef_E10.ToString(ci));
+ output.WriteLine(Coef_E11.ToString(ci));
+ output.WriteLine(Coef_E12.ToString(ci));
+ output.WriteLine(Offset_E9.ToString(ci));
+ output.WriteLine(Offset_E12.ToString(ci));
+ }
+
+ public static PTest Import(StreamReader input, Profile newProfile)
+ {
+ string firstLine = input.ReadLine();
+ if (string.IsNullOrEmpty(firstLine))
+ {
+ return null;
+ }
+
+ CultureInfo ci = CultureInfo.InvariantCulture;
+ PTest tst = new PTest();
+
+ tst.Name = firstLine;
+ tst.CoefQfrom = float.Parse(input.ReadLine(), ci);
+ tst.CoefQto = float.Parse(input.ReadLine(), ci);
+ tst.ErrLimLo = float.Parse(input.ReadLine(), ci);
+ tst.ErrLimHi = float.Parse(input.ReadLine(), ci);
+ tst.TempLimLo = float.Parse(input.ReadLine(), ci);
+ tst.TempLimHi = float.Parse(input.ReadLine(), ci);
+
+ /// TODO (E1 .. E21)
+
+ tst.Delta_Q_pct = float.Parse(input.ReadLine(), ci);
+ tst.Delta_T = float.Parse(input.ReadLine(), ci);
+ tst.Delta_Tup_Tdn = float.Parse(input.ReadLine(), ci);
+ tst.TestTime_min = float.Parse(input.ReadLine(), ci);
+ tst.TestTime_max = float.Parse(input.ReadLine(), ci);
+ tst.AmbTemp_min = float.Parse(input.ReadLine(), ci);
+ tst.AmbTemp_max = float.Parse(input.ReadLine(), ci);
+
+ tst.Coef_E9 = float.Parse(input.ReadLine(), ci);
+ tst.Coef_E10 = float.Parse(input.ReadLine(), ci);
+ tst.Coef_E11 = float.Parse(input.ReadLine(), ci);
+ tst.Coef_E12 = float.Parse(input.ReadLine(), ci);
+ tst.Offset_E9 = float.Parse(input.ReadLine(), ci);
+ tst.Offset_E12 = float.Parse(input.ReadLine(), ci);
+
+ tst.Profile = newProfile;
+ return tst;
+ }
+
+ public virtual string Compare(StreamReader inp)
+ {
+ System.Text.StringBuilder diff = new System.Text.StringBuilder();
+ string fmt = string.Format("Test {0} : ", Name) + "{0} = {1}\r\n (in the file {2})\r\n";
+ string ln;
+ CultureInfo ci = CultureInfo.InvariantCulture;
+
+ string firstLine = inp.ReadLine();
+ if (string.IsNullOrEmpty(firstLine)) return string.Format("Test {0} is missing in the file\r\n", Name);
+
+ if (Name != firstLine) { diff.AppendFormat(fmt, "Name", Name, firstLine); };
+ ln = inp.ReadLine(); if (ln != CoefQfrom.ToString(ci)) { diff.AppendFormat(fmt, "CoefQfrom", CoefQfrom.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != CoefQto.ToString(ci)) { diff.AppendFormat(fmt, "CoefQto", CoefQto.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != ErrLimLo.ToString(ci)) { diff.AppendFormat(fmt, "ErrLimLo", ErrLimLo.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != ErrLimHi.ToString(ci)) { diff.AppendFormat(fmt, "ErrLimHi", ErrLimHi.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != TempLimLo.ToString(ci)) { diff.AppendFormat(fmt, "TempLimLo", TempLimLo.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != TempLimHi.ToString(ci)) { diff.AppendFormat(fmt, "TempLimHi", TempLimHi.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != PressLimLo.ToString(ci)) { diff.AppendFormat(fmt, "Pressure_min", TempLimLo.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != PressLimHi.ToString(ci)) { diff.AppendFormat(fmt, "Pressure_max", TempLimHi.ToString(ci), ln); };
+
+ ln = inp.ReadLine(); if (ln != E1.ToString()) { diff.AppendFormat(fmt, "E1", E1.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E2.ToString()) { diff.AppendFormat(fmt, "E2", E2.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E3.ToString()) { diff.AppendFormat(fmt, "E3", E3.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E4.ToString()) { diff.AppendFormat(fmt, "E4", E4.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E5.ToString()) { diff.AppendFormat(fmt, "E5", E5.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E6.ToString()) { diff.AppendFormat(fmt, "E6", E6.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E7.ToString()) { diff.AppendFormat(fmt, "E7", E7.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E8.ToString()) { diff.AppendFormat(fmt, "E8", E8.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E9.ToString()) { diff.AppendFormat(fmt, "E9", E9.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E10.ToString()) { diff.AppendFormat(fmt, "E10", E10.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E11.ToString()) { diff.AppendFormat(fmt, "E11", E11.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E12.ToString()) { diff.AppendFormat(fmt, "E12", E12.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E13.ToString()) { diff.AppendFormat(fmt, "E13", E13.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E14.ToString()) { diff.AppendFormat(fmt, "E14", E14.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E15.ToString()) { diff.AppendFormat(fmt, "E15", E15.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E16.ToString()) { diff.AppendFormat(fmt, "E16", E16.ToString(), ln); };
+ ln = inp.ReadLine(); if (ln != E21.ToString()) { diff.AppendFormat(fmt, "E21", E21.ToString(), ln); };
+
+ ln = inp.ReadLine(); if (ln != Delta_Q_pct.ToString(ci)) { diff.AppendFormat(fmt, "Delta_Q_pct", Delta_Q_pct.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Delta_T.ToString(ci)) { diff.AppendFormat(fmt, "Delta_T", Delta_T.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Delta_Tup_Tdn.ToString(ci)) { diff.AppendFormat(fmt, "Delta_Tup_Tdn", Delta_Tup_Tdn.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != TestTime_min.ToString(ci)) { diff.AppendFormat(fmt, "TestTime_min", TestTime_min.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != TestTime_max.ToString(ci)) { diff.AppendFormat(fmt, "TestTime_max", TestTime_max.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != AmbTemp_min.ToString(ci)) { diff.AppendFormat(fmt, "AmbTemp_min", AmbTemp_min.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != AmbTemp_max.ToString(ci)) { diff.AppendFormat(fmt, "AmbTemp_max", AmbTemp_max.ToString(ci), ln); };
+
+ ln = inp.ReadLine(); if (ln != Coef_E9.ToString(ci)) { diff.AppendFormat(fmt, "Coef_E9", Coef_E9.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Coef_E10.ToString(ci)) { diff.AppendFormat(fmt, "Coef_E10", Coef_E10.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Coef_E11.ToString(ci)) { diff.AppendFormat(fmt, "Coef_E11", Coef_E11.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Coef_E12.ToString(ci)) { diff.AppendFormat(fmt, "Coef_E12", Coef_E12.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Offset_E9.ToString(ci)) { diff.AppendFormat(fmt, "Offset_E9", Offset_E9.ToString(ci), ln); };
+ ln = inp.ReadLine(); if (ln != Offset_E12.ToString(ci)) { diff.AppendFormat(fmt, "Offset_E12", Offset_E12.ToString(ci), ln); };
+
+ return diff.ToString();
+ }
+
+ public override string ToString()
+ {
+ return string.Format("{0}", Name);
+ }
+ }
+}
diff --git a/Config/Entities/Profile.cs b/Config/Entities/Profile.cs
new file mode 100644
index 000000000..82cd12af4
--- /dev/null
+++ b/Config/Entities/Profile.cs
@@ -0,0 +1,141 @@
+///
+/// Copyright (c) 2019 Sensus Slovensko a.s.
+///
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.IO;
+
+namespace Config.Entities
+{
+ ///
+ /// Stores one test procedure, supports revisions and history log
+ ///
+ public class Profile : IHasName, IHasItemNr
+ {
+ public virtual int Id { get; protected set; }
+ public virtual int ItemNr { get; set; }
+ public virtual string Name { get; set; }
+ public virtual string Description { get; set; } /// Short description
+ public virtual string CreationUser { get; set; } /// Name of the user who has created or changed this procedure
+ public virtual DateTime CreationTime { get; set; } /// Date and time of the creation or change
+ public virtual string LastChgUser { get; set; } /// Name of the user who has created or changed this procedure
+ public virtual DateTime LastChgTime { get; set; } /// Date and time of the creation or change
+ public virtual ProfileType ProfileType { get; set; }
+
+ public virtual IList Tests { get; set; }
+
+ /// ------------- Additional stuff not mapped into the database -------------
+
+ public Profile()
+ {
+ Tests = new List();
+
+ ///
+ /// Default values
+ ///
+ CreationUser = (Users.GlobalData.CurrentUser != null) ? Users.GlobalData.CurrentUser.UserName : null;
+ CreationTime = DateTime.Now;
+ LastChgUser = CreationUser;
+ LastChgTime = CreationTime;
+ Description = string.Empty;
+ }
+
+ public Profile(string name, int itemNr)
+ : this()
+ {
+ Name = name;
+ ItemNr = itemNr;
+ }
+
+ public virtual Profile Clone()
+ {
+ Profile result = new Profile();
+
+ result.ItemNr = ItemNr;
+ result.Name = Name;
+ result.Description = Description;
+ result.CreationUser = CreationUser;
+ result.CreationTime = CreationTime;
+ result.LastChgUser = LastChgUser;
+ result.LastChgTime = LastChgTime;
+ result.ProfileType = ProfileType;
+
+ foreach (var test in Tests) { result.Tests.Add(test.Clone()); }
+
+ return result;
+ }
+
+ public virtual void Export(StreamWriter output)
+ {
+ output.WriteLine(ItemNr.ToString(CultureInfo.InvariantCulture));
+ output.WriteLine(Name);
+ output.WriteLine(Description);
+ output.WriteLine(CreationUser);
+ output.WriteLine(CreationTime.ToString(CultureInfo.InvariantCulture));
+ output.WriteLine(LastChgUser);
+ output.WriteLine(LastChgTime.ToString(CultureInfo.InvariantCulture));
+
+ foreach (var test in Tests) { test.Export(output); }
+ output.WriteLine();
+
+ output.Close();
+ }
+
+ public static Profile Import(StreamReader input)
+ {
+ Profile result = new Profile();
+
+ result.ItemNr = int.Parse(input.ReadLine(), CultureInfo.InvariantCulture);
+ result.Name = input.ReadLine();
+ result.Description = input.ReadLine();
+ result.CreationUser = input.ReadLine();
+ result.CreationTime = DateTime.Parse(input.ReadLine(), CultureInfo.InvariantCulture);
+ result.LastChgUser = input.ReadLine();
+ result.LastChgTime = DateTime.Parse(input.ReadLine(), CultureInfo.InvariantCulture);
+ string line = input.ReadLine();
+
+ while (true)
+ {
+ PTest tst = PTest.Import(input, result);
+ if (tst == null)
+ break;
+ else
+ result.Tests.Add(tst);
+ }
+
+ return result;
+ }
+
+ public virtual string Compare(StreamReader inp)
+ {
+ System.Text.StringBuilder diff = new System.Text.StringBuilder();
+ const string fmt = "{0} = {1}\r\n (in the file {2})\r\n";
+ string ln;
+
+ ln = inp.ReadLine(); /// skip ItemNr
+ ln = inp.ReadLine(); if (ln != Name) { diff.AppendFormat(fmt, "Name", Name, ln); };
+ ln = inp.ReadLine(); if (ln != Description) { diff.AppendFormat(fmt, "Description", Description, ln); };
+ ln = inp.ReadLine(); /// skip CreationUser
+ ln = inp.ReadLine(); /// skip CreationTime
+ ln = inp.ReadLine(); /// skip LastChgUser
+ ln = inp.ReadLine(); /// skip LastChgTime
+
+ //foreach (var test in Tests)
+ //{
+ // string testDiff = test.Compare(inp);
+ // if (testDiff.Contains(
+ //}
+
+ //bool extraTestsInFile = true;
+ //while (Test.Import(inp, null) != null) { extraTestsInFile = true; }
+
+ return diff.ToString();
+ }
+
+ public override string ToString()
+ {
+ return string.Format("{0}", Name);
+ }
+ }
+}
diff --git a/Config/Entities/Test.cs b/Config/Entities/Test.cs
index f87121628..1707c386f 100644
--- a/Config/Entities/Test.cs
+++ b/Config/Entities/Test.cs
@@ -44,7 +44,7 @@ namespace Config.Entities
public virtual int TimePump2StartV { get; set; } /// Delay time from the start of the pump to opening the start valve in [s]
public virtual int TimeStop2Mass { get; set; } /// Delay time from the test end (diverted) to the 2nd mass measuremen in [s]
public virtual double TolerRed { get; set; } /// = Filter
- public virtual TestRedType RedType { get; set; }
+ public virtual string RedType { get; set; }
public virtual string FeedingPath { get; set; }
public virtual string BenchPath { get; set; }
public virtual string OutputPath { get; set; }
diff --git a/Config/Mappings/PTestMap.cs b/Config/Mappings/PTestMap.cs
new file mode 100644
index 000000000..480cbdae0
--- /dev/null
+++ b/Config/Mappings/PTestMap.cs
@@ -0,0 +1,57 @@
+///
+/// Copyright (c) 2019 Sensus Slovensko a.s.
+///
+using FluentNHibernate.Mapping;
+using Config.Entities;
+
+namespace Config.Mappings
+{
+ class PTestMap : ClassMap
+ {
+ public PTestMap()
+ {
+ Id(x => x.Id);
+ Map(x => x.ItemNr);
+ Map(x => x.Name);
+ Map(x => x.CoefQfrom);
+ Map(x => x.CoefQto);
+ Map(x => x.ErrLimLo);
+ Map(x => x.ErrLimHi);
+ Map(x => x.TempLimLo);
+ Map(x => x.TempLimHi);
+ Map(x => x.PressLimLo);
+ Map(x => x.PressLimHi);
+ Map(x => x.E1);
+ Map(x => x.E2);
+ Map(x => x.E3);
+ Map(x => x.E4);
+ Map(x => x.E5);
+ Map(x => x.E6);
+ Map(x => x.E7);
+ Map(x => x.E8);
+ Map(x => x.E9);
+ Map(x => x.E10);
+ Map(x => x.E11);
+ Map(x => x.E12);
+ Map(x => x.E13);
+ Map(x => x.E14);
+ Map(x => x.E15);
+ Map(x => x.E16);
+ Map(x => x.E21);
+ Map(x => x.Delta_Q_pct);
+ Map(x => x.Delta_T);
+ Map(x => x.Delta_Tup_Tdn);
+ Map(x => x.TestTime_min);
+ Map(x => x.TestTime_max);
+ Map(x => x.AmbTemp_min);
+ Map(x => x.AmbTemp_max);
+ Map(x => x.Coef_E9);
+ Map(x => x.Coef_E10);
+ Map(x => x.Coef_E11);
+ Map(x => x.Coef_E12);
+ Map(x => x.Offset_E9);
+ Map(x => x.Offset_E12);
+ References(x => x.Profile);
+ }
+ }
+}
diff --git a/Config/Mappings/ProfileMap.cs b/Config/Mappings/ProfileMap.cs
new file mode 100644
index 000000000..be9ac7527
--- /dev/null
+++ b/Config/Mappings/ProfileMap.cs
@@ -0,0 +1,27 @@
+///
+/// Copyright (c) 2019 Sensus Slovensko a.s.
+///
+using FluentNHibernate.Mapping;
+using Config.Entities;
+
+namespace Config.Mappings
+{
+ class ProfileMap : ClassMap
+ {
+ public ProfileMap()
+ {
+ Id(x => x.Id);
+ Map(x => x.ItemNr);
+ Map(x => x.Name);
+ Map(x => x.Description);
+ Map(x => x.CreationUser);
+ Map(x => x.CreationTime);
+ Map(x => x.LastChgUser);
+ Map(x => x.LastChgTime);
+ Map(x => x.ProfileType);
+ HasMany(x => x.Tests)
+ .OrderBy("ItemNr")
+ .Cascade.All();
+ }
+ }
+}
diff --git a/Config/Mappings/TestMap.cs b/Config/Mappings/TestMap.cs
index ff745a4ec..f3243fbe7 100644
--- a/Config/Mappings/TestMap.cs
+++ b/Config/Mappings/TestMap.cs
@@ -48,7 +48,7 @@ namespace Config.Mappings
Map(x => x.Uncertainty);
Map(x => x.TolerRed)
.Column("TolerRed"); /// ???
- Map(x => x.RedType); /// ???
+ Map(x => x.RedType);
Map(x => x.FeedingPath);
Map(x => x.BenchPath);
Map(x => x.OutputPath);