Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
78b1d69c13 |
-11
@@ -66,17 +66,6 @@ WorkflowConfigurator/bin/
|
||||
WorkflowConfigurator/obj/
|
||||
Workplace/bin/
|
||||
Workplace/obj/
|
||||
DataStreamInterfaceTest/bin/
|
||||
DataStreamInterfaceTest/obj/
|
||||
DataStreamMeter/bin/
|
||||
DataStreamMeter/obj/
|
||||
Events/bin/
|
||||
Events/obj/
|
||||
TracingDB/bin/
|
||||
TracingDB/obj/
|
||||
Users/bin/
|
||||
Users/obj/
|
||||
.vs/
|
||||
.idea/
|
||||
*.suo
|
||||
*.bak
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;LANG_PL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -25,7 +25,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DefineConstants>TRACE;LANG_PL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
|
||||
@@ -7,6 +7,5 @@ namespace Common
|
||||
int RangeIx { get; set; }
|
||||
double Measurement { get; set; }
|
||||
double Correction { get; set; }
|
||||
double Uncertainty { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,7 +145,6 @@ namespace Common
|
||||
[Description("Aufgezählt")] Enumerated,
|
||||
[Description("Strom")] Current,
|
||||
[Description("Spannung")] Voltage,
|
||||
[Description("Unsicherheit")] Uncertainty,
|
||||
#elif LANG_PL
|
||||
[Description("Objętość")] Volume,
|
||||
[Description("Przepływ")] Flow,
|
||||
@@ -171,7 +170,6 @@ namespace Common
|
||||
[Description("Wyliczone")] Enumerated,
|
||||
[Description("Prąd")] Current,
|
||||
[Description("Napięcie")] Voltage,
|
||||
[Description("Niepewność")] Uncertainty,
|
||||
#elif LANG_CS
|
||||
[Description("Objem")] Volume,
|
||||
[Description("Průtok")] Flow,
|
||||
@@ -197,7 +195,6 @@ namespace Common
|
||||
[Description("Vyjmenované")] Enumerated,
|
||||
[Description("Proud")] Current,
|
||||
[Description("Napětí")] Voltage,
|
||||
[Description("Nejistota")] Uncertainty,
|
||||
#elif LANG_IT
|
||||
[Description("Volume")] Volume,
|
||||
[Description("Flusso")] Flow,
|
||||
@@ -223,7 +220,6 @@ namespace Common
|
||||
[Description("Enumerato")] Enumerated,
|
||||
[Description("Corrente")] Current,
|
||||
[Description("Voltaggio")] Voltage,
|
||||
[Description("Incertezza")] Uncertainty,
|
||||
#else
|
||||
[Description("Volume")] Volume,
|
||||
[Description("Flow")] Flow,
|
||||
@@ -249,7 +245,6 @@ namespace Common
|
||||
[Description("Enumerated")] Enumerated,
|
||||
[Description("Current")] Current,
|
||||
[Description("Voltage")] Voltage,
|
||||
[Description("Uncertainty")] Uncertainty,
|
||||
#endif
|
||||
Count,
|
||||
}
|
||||
|
||||
@@ -115,7 +115,6 @@
|
||||
<Compile Include="Mappings\UncertaintyMap.cs" />
|
||||
<Compile Include="Mappings\UserMap.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="PurchaseResources.cs" />
|
||||
<Compile Include="Resources\Strings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
|
||||
@@ -12,8 +12,6 @@ namespace Config.Entities
|
||||
public virtual int RangeIx { get; set; } /// 0..5
|
||||
public virtual double Measurement { get; set; }
|
||||
public virtual double Correction { get; set; }
|
||||
public virtual double Uncertainty { get; set; }
|
||||
public virtual double Readability { get; set; }
|
||||
|
||||
public MeasurementCorrection()
|
||||
{
|
||||
@@ -86,7 +84,7 @@ namespace Config.Entities
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("{0} {1} ({2}) {3} {4}", Measurement, Correction, RangeIx, Uncertainty, Readability);
|
||||
return string.Format("{0} {1} ({2})", Measurement, Correction, RangeIx);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,11 +128,10 @@ namespace Config
|
||||
case GID.Administrators:
|
||||
#if TURA_IPERL || TURA_IPERL_NEW || TURA_SPECIAL
|
||||
case GID.TraceabilityManagement:
|
||||
//#elif LANG_PL
|
||||
#endif
|
||||
#elif LANG_PL
|
||||
case GID.MetrologicalAuthority:
|
||||
case GID.WaterMeterAuthority:
|
||||
|
||||
#endif
|
||||
admin.AddGroup(group);
|
||||
session.SaveOrUpdate(group); /// Save this group
|
||||
break;
|
||||
|
||||
@@ -21,9 +21,6 @@ namespace Config.Mappings
|
||||
Map(x => x.PressMtrUp);
|
||||
Map(x => x.PressMtrDown);
|
||||
Map(x => x.PressMtrDelta);
|
||||
//Map(x => x.ElectricMtrUp);
|
||||
//Map(x => x.ElectricMtrDown);
|
||||
//Map(x => x.ElectricMtrDelta);
|
||||
Map(x => x.StopBFValve);
|
||||
Map(x => x.ValvesOpen)
|
||||
.CustomType("StringClob")
|
||||
|
||||
@@ -14,8 +14,6 @@ namespace Config.Mappings
|
||||
Map(x => x.RangeIx);
|
||||
Map(x => x.Measurement);
|
||||
Map(x => x.Correction);
|
||||
Map(x => x.Uncertainty);
|
||||
Map(x => x.Readability);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
namespace Config
|
||||
{
|
||||
public class PurchaseResources
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
BIN
Binary file not shown.
@@ -1,4 +0,0 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1,541 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<doc>
|
||||
<assembly>
|
||||
<name>Iesi.Collections</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:Iesi.Collections.Generic.LinkedHashSet`1">
|
||||
<summary>
|
||||
Implementation of ISet that also maintains a linked list over all elements.
|
||||
Enumeration of this set is guaranteed to return the elements in the order
|
||||
they were added.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#IEnumerable{T}#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection.
|
||||
</summary>
|
||||
<returns>
|
||||
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
||||
</returns>
|
||||
<filterpriority>1</filterpriority>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
||||
</returns>
|
||||
<filterpriority>2</filterpriority>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a proper (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.CountOthers(System.Collections.Generic.IEnumerable{`0},System.Int32@)">
|
||||
<summary>
|
||||
Count the elements in the given collection and determine both the total
|
||||
count and how many of the elements that are present in the current set.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.AsSet(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Cast the given collection to an ISet<T> if possible. If not,
|
||||
return a new set containing the items.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.LinkedHashSet`1.Unlink(Iesi.Collections.Generic.LinkedHashSet{`0}.LinkedHashNode{`0})">
|
||||
<summary>
|
||||
Unlink a node from the linked list by updating the node pointers in
|
||||
its preceeding and subsequent node. Also update the _first and _last
|
||||
pointers if necessary.
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.LinkedHashSet`1.System#Collections#Generic#ICollection{T}#IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.ReadOnlySet`1">
|
||||
<summary>
|
||||
<p>Implements a read-only <c>Set</c> wrapper.</p>
|
||||
<p>Although this is advertised as immutable, it really isn't. Anyone with access to the
|
||||
wrapped set can still change the set.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs an immutable (read-only) <c>Set</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> that is wrapped.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
||||
</returns>
|
||||
<filterpriority>2</filterpriority>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection.
|
||||
</summary>
|
||||
<returns>
|
||||
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
||||
</returns>
|
||||
<filterpriority>1</filterpriority>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ICollection{T}#Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.System#Collections#Generic#ISet{T}#SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
<exception cref="T:System.NotSupportedException"> is always thrown</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.ReadOnlySet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.ReadOnlySet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
True.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="T:Iesi.Collections.Generic.SynchronizedSet`1">
|
||||
<summary>
|
||||
<p>Implements a thread-safe <c>Set</c> wrapper. The implementation is extremely conservative,
|
||||
serializing critical sections to prevent possible deadlocks, and locking on everything.
|
||||
The one exception is for enumeration, which is inherently not thread-safe. For this, you
|
||||
have to <c>lock</c> the <c>SyncRoot</c> object for the duration of the enumeration.</p>
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.#ctor(System.Collections.Generic.ISet{`0})">
|
||||
<summary>
|
||||
Constructs a thread-safe <c>ISet</c> wrapper.
|
||||
</summary>
|
||||
<param name="basisSet">The <c>Set</c> object that this object will wrap.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
|
||||
<summary>
|
||||
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Clear">
|
||||
<summary>
|
||||
Removes all items from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only. </exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Contains(`0)">
|
||||
<summary>
|
||||
Determines whether the <see cref="T:System.Collections.Generic.ICollection`1"/> contains a specific value.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> is found in the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="item">The object to locate in the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.CopyTo(`0[],System.Int32)">
|
||||
<summary>
|
||||
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
|
||||
</summary>
|
||||
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>. The <see cref="T:System.Array"/> must have zero-based indexing.</param><param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param><exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception><exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception><exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <paramref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Remove(`0)">
|
||||
<summary>
|
||||
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains all elements that are present in either the current set or in the specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are also in a specified collection.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Removes all elements in the specified collection from the current set.
|
||||
</summary>
|
||||
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
|
||||
</summary>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether a set is a subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a correct superset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set is a property (strict) subset of a specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set overlaps with the specified collection.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
|
||||
<summary>
|
||||
Determines whether the current set and the specified collection contain the same elements.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the current set is equal to <paramref name="other"/>; otherwise, false.
|
||||
</returns>
|
||||
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.Add(`0)">
|
||||
<summary>
|
||||
Adds an element to the current set and returns a value to indicate if the element was successfully added.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the element is added to the set; false if the element is already in the set.
|
||||
</returns>
|
||||
<param name="item">The element to add to the set.</param>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.System#Collections#IEnumerable#GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through a collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</summary>
|
||||
<returns>
|
||||
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
|
||||
</returns>
|
||||
<filterpriority>2</filterpriority>
|
||||
</member>
|
||||
<member name="M:Iesi.Collections.Generic.SynchronizedSet`1.GetEnumerator">
|
||||
<summary>
|
||||
Returns an enumerator that iterates through the collection. Enumeration is inherently not
|
||||
thread-safe. Use a <c>lock</c> on the <c>SyncRoot</c> to synchronize the entire enumeration process.
|
||||
</summary>
|
||||
<returns>
|
||||
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
|
||||
</returns>
|
||||
<filterpriority>1</filterpriority>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.Count">
|
||||
<summary>
|
||||
Gets the number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</summary>
|
||||
<returns>
|
||||
The number of elements contained in the <see cref="T:System.Collections.Generic.ICollection`1"/>.
|
||||
</returns>
|
||||
</member>
|
||||
<member name="P:Iesi.Collections.Generic.SynchronizedSet`1.IsReadOnly">
|
||||
<summary>
|
||||
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
|
||||
</summary>
|
||||
<returns>
|
||||
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
|
||||
</returns>
|
||||
</member>
|
||||
</members>
|
||||
</doc>
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -1,4 +0,0 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.2", FrameworkDisplayName = ".NET Framework 4.7.2")]
|
||||
Binary file not shown.
@@ -1 +0,0 @@
|
||||
e4ab36b7b0030299e8d3f9c15f8edfab217c00c33b5d908f61099287ac9a64d6
|
||||
@@ -1,17 +0,0 @@
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Events.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Events.pdb
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Common.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\FluentNHibernate.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Iesi.Collections.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\MySql.Data.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\NHibernate.dll
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Common.pdb
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\FluentNHibernate.pdb
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\FluentNHibernate.xml
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\Iesi.Collections.xml
|
||||
C:\Users\micha\git\tbf\Events\bin\Debug\NHibernate.xml
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.csproj.AssemblyReference.cache
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.csproj.CoreCompileInputs.cache
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.csproj.Up2Date
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.dll
|
||||
C:\Users\micha\git\tbf\Events\obj\Debug\Events.pdb
|
||||
Binary file not shown.
Binary file not shown.
@@ -45,7 +45,6 @@
|
||||
<UseApplicationTrust>false</UseApplicationTrust>
|
||||
<BootstrapperEnabled>true</BootstrapperEnabled>
|
||||
<TargetFrameworkProfile />
|
||||
<LangVersion>4</LangVersion>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.0.4.0" newVersion="4.0.4.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-4.1.6.0" newVersion="4.1.6.0" />
|
||||
</dependentAssembly>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-6.0.2.0" newVersion="6.0.2.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
||||
@@ -181,18 +181,6 @@ namespace Results.Entities
|
||||
return WaterMeters.Count - PassedMetersCount();
|
||||
}
|
||||
|
||||
|
||||
public virtual int PassedMetersCountE15()
|
||||
{
|
||||
int count = 0;
|
||||
foreach (var mtr in WaterMeters) if (mtr.PassedFromTestsE15()) count++;
|
||||
return count;
|
||||
}
|
||||
public virtual int FailedMetersCountE15()
|
||||
{
|
||||
return WaterMeters.Count - PassedMetersCountE15();
|
||||
}
|
||||
|
||||
public virtual long ErrorFlags()
|
||||
{
|
||||
long result = 0;
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Results.Entities
|
||||
{
|
||||
public class PurchaseBox
|
||||
{
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual string BoxNo { get; set; }
|
||||
|
||||
public virtual PurchaseOrder PurchaseOrder { get; set; }
|
||||
public virtual IList<PurchaseWaterMeterData> PurchaseWaterMeterDataList { get; set; }
|
||||
|
||||
public PurchaseBox()
|
||||
{
|
||||
PurchaseWaterMeterDataList = new List<PurchaseWaterMeterData>();
|
||||
}
|
||||
|
||||
public PurchaseBox(string boxNo, PurchaseOrder purchaseOrder)
|
||||
{
|
||||
PurchaseWaterMeterDataList = new List<PurchaseWaterMeterData>();
|
||||
BoxNo = boxNo;
|
||||
PurchaseOrder = purchaseOrder;
|
||||
}
|
||||
/// <summary>
|
||||
/// constructor
|
||||
/// </summary>
|
||||
/// <param name="boxNo"></param>
|
||||
/// <param name="boxDataId">unused now</param>
|
||||
/// <param name="purchaseOrder"></param>
|
||||
public PurchaseBox(string boxNo, int boxDataId, PurchaseOrder purchaseOrder)
|
||||
{
|
||||
PurchaseWaterMeterDataList = new List<PurchaseWaterMeterData>();
|
||||
BoxNo = boxNo;
|
||||
PurchaseOrder = purchaseOrder;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
|
||||
insert into 'wrcswindon298-r'.purchase_orderdata (Id, PurchaseOrder)
|
||||
values (1, 'Order 123'),
|
||||
(2, 'Order 124'),
|
||||
(3, 'Order 125');
|
||||
|
||||
insert into 'wrcswindon298-r'.purchase_boxdata (Id, BoxNo, PurchaseOrderId)
|
||||
values (2, 'B 001', 3),
|
||||
(3, 'B 002', 2),
|
||||
(4, 'B 003', 1),
|
||||
(5, 'B 011', 3),
|
||||
(6, 'B 012', 2),
|
||||
(7, 'B 013', 1);
|
||||
|
||||
insert into 'wrcswindon298-r'.purchase_watermeterdata (Id, SerialNo, WaterMeterData_id, PurchaseBoxId)
|
||||
values (2, 'SN-123456-1', null, 2),
|
||||
(3, 'SN_123456-2', null, 2),
|
||||
(4, 'SN_123456-3', null, 2),
|
||||
(5, 'SN_123456-4', null, 2),
|
||||
(6, 'SN_132456-5', null, 2),
|
||||
(7, 'SN_123456-6', null, 2),
|
||||
(8, 'SN-123457-1', null, 5),
|
||||
(9, 'SN_123457-2', null, 5),
|
||||
(10, 'SN_123457-3', null, 5),
|
||||
(11, 'SN_123457-4', null, 5),
|
||||
(12, 'SN_132457-5', null, 5),
|
||||
(13, 'SN_123457-6', null, 5),
|
||||
(14, 'SN-1234-1', null, 2),
|
||||
(15, 'SN_1234-2', null, 3),
|
||||
(16, 'SN_1234-3', null, 4),
|
||||
(17, 'SN_1234-4', null, 5),
|
||||
(18, 'SN_1324-5', null, 6),
|
||||
(19, 'SN_1234-6', null, 7);
|
||||
@@ -1,41 +0,0 @@
|
||||
create table purchase_orderdata
|
||||
(
|
||||
Id int auto_increment
|
||||
primary key,
|
||||
PurchaseOrder varchar(255) null
|
||||
);
|
||||
|
||||
create table purchase_boxdata
|
||||
(
|
||||
Id int auto_increment
|
||||
primary key,
|
||||
BoxNo varchar(255) null,
|
||||
PurchaseOrderId int null comment 'index to Purchase order',
|
||||
constraint purchase_boxdata_toOrder___fk
|
||||
foreign key (PurchaseOrderId) references purchase_orderdata (Id)
|
||||
);
|
||||
|
||||
create index idx_boxdata_boxNo
|
||||
on purchase_boxdata (BoxNo);
|
||||
|
||||
create index idx_orderdata_purchaseOrder
|
||||
on purchase_orderdata (PurchaseOrder);
|
||||
|
||||
create table purchase_watermeterdata
|
||||
(
|
||||
Id int auto_increment
|
||||
primary key,
|
||||
SerialNo varchar(255) null,
|
||||
WaterMeterData_id int null,
|
||||
PurchaseBoxId int null,
|
||||
constraint UKgcnskfro3he4kwysdeldnvubf
|
||||
unique (WaterMeterData_id),
|
||||
constraint FKc376smwypchilry1au44u2uj6
|
||||
foreign key (WaterMeterData_id) references watermeter (Id),
|
||||
constraint purchase_watermeterdata_purchase_boxdata_Id_fk
|
||||
foreign key (PurchaseBoxId) references purchase_boxdata (Id)
|
||||
);
|
||||
|
||||
create index idx_watermeterdata_serialNo
|
||||
on purchase_watermeterdata (SerialNo);
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Results.Entities
|
||||
{
|
||||
public class PurchaseOrder
|
||||
{
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual string Name { get; set; }
|
||||
public virtual IList<PurchaseBox> PurchaseBoxList { get; set; }
|
||||
|
||||
public PurchaseOrder()
|
||||
{
|
||||
PurchaseBoxList = new List<PurchaseBox>();
|
||||
}
|
||||
|
||||
public PurchaseOrder(string name)
|
||||
{
|
||||
PurchaseBoxList = new List<PurchaseBox>();
|
||||
Name = name;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
namespace Results.Entities
|
||||
{
|
||||
public class PurchaseWaterMeterData
|
||||
{
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual string SerialNo { get; set; }
|
||||
public virtual PurchaseBox PurchaseBoxId { get; set; }
|
||||
public virtual int WaterMeterResults { get; set; }
|
||||
|
||||
public PurchaseWaterMeterData()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public PurchaseWaterMeterData(string serialNo, PurchaseBox purchaseBox)
|
||||
{
|
||||
SerialNo = serialNo;
|
||||
PurchaseBoxId = purchaseBox;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5,7 +5,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
|
||||
namespace Results.Entities
|
||||
{
|
||||
@@ -247,17 +246,10 @@ namespace Results.Entities
|
||||
public virtual float TempLimHi() { return TestData.TempLimHi; }
|
||||
public virtual bool Evaluate() { return TestData.Evaluate; }
|
||||
public virtual Publish Publish() { return (Publish)TestData.Publish; }
|
||||
|
||||
public virtual bool TestCollected { get; set; } /// Not mapped to DB - just help method to Collect
|
||||
public virtual bool TestMeasured { get; set; } /// Not mapped to DB - just help method to Collect
|
||||
|
||||
|
||||
|
||||
public TestRslt()
|
||||
{
|
||||
TestCollected = false;
|
||||
TestMeasured = false;
|
||||
|
||||
MethodClass = string.Empty;
|
||||
Remark = string.Empty;
|
||||
}
|
||||
@@ -398,9 +390,6 @@ namespace Results.Entities
|
||||
Counter3 = src.Counter3;
|
||||
Counter4 = src.Counter4;
|
||||
Counter5 = src.Counter5;
|
||||
|
||||
TestCollected = src.TestCollected;
|
||||
TestMeasured = src.TestMeasured;
|
||||
}
|
||||
|
||||
/// <summary> Wrapper </summary>
|
||||
@@ -439,7 +428,7 @@ namespace Results.Entities
|
||||
|
||||
public virtual string ToString(int i)
|
||||
{
|
||||
return string.Format("TestRslt: Part={0} RepetitionNr={1} TestDone={2} Remark={3} StartTime={4} EndTime={5} FlowSetTime={6} TestTime={7} PulsesMaster={8} ConstMaster={9} MassStartRaw={10} MassStart={11} MassEndRaw={12} MassEnd={13} DensityIn={14} DensityOut={15} DensityDiv={16} MassOfEvapWaater={17} FlowMass={18} FlowVolume={19} VolumeCTV={20} VolumeMaster={21} ErrorMaster={22} DiverterStart={85} DiverterEnd={86} ErrorFlags={23} InfoFlags={24} AmbTempMean={25} AmbTempStart={26} AmbTempEnd={27} AmbTempMin={28} AmbTempMax={29} AmbPressMean={30} AmbPressStart={31} AmbPressEnd={32} AmbPressMin={33} AmbPressMax={34} AmbHumiMean={35} AmbHumiStart={36} AmbHumiEnd={37} AmbHumiMin={38} AmbHumiMax={39} PressUpMean={40} PressUpStart={41} PressUpEnd={42} PressUpMin={43} PressUpMax={44} PressDownMean={45} PressDownStart={46} PressDownEnd={47} PressDownMin={48} PressDownMax={49} PressDeltaMean={50} PressDeltaStart={51} PressDeltaEnd={52} PressDeltaMin={53} PressDeltaMax={54} TempUpMean={55} TempUpStart={56} TempUpEnd={57} TempUpMin={58} TempUpMax={59} TempDownMean={60} TempDownStart={61} TempDownEnd={62} TempDownMin={63} TempDownMax={64} TempDivMean={65} TempDivStart={66} TempDivEnd={67} TempDivMin={68} TempDivMax={69} FlowMean={70} FlowStart={71} FlowEnd={72} FlowMin={73} FlowMax={74} Custom1={75} Custom2={76} Custom3={77} Custom4={78} Custom5={79} Custom6={80} Custom7={81} Custom8={82} Custom9={83} Custom10={84} TestMeasured={85} TestCollected={86}",
|
||||
return string.Format("TestRslt: Part={0} RepetitionNr={1} TestDone={2} Remark={3} StartTime={4} EndTime={5} FlowSetTime={6} TestTime={7} PulsesMaster={8} ConstMaster={9} MassStartRaw={10} MassStart={11} MassEndRaw={12} MassEnd={13} DensityIn={14} DensityOut={15} DensityDiv={16} MassOfEvapWaater={17} FlowMass={18} FlowVolume={19} VolumeCTV={20} VolumeMaster={21} ErrorMaster={22} DiverterStart={85} DiverterEnd={86} ErrorFlags={23} InfoFlags={24} AmbTempMean={25} AmbTempStart={26} AmbTempEnd={27} AmbTempMin={28} AmbTempMax={29} AmbPressMean={30} AmbPressStart={31} AmbPressEnd={32} AmbPressMin={33} AmbPressMax={34} AmbHumiMean={35} AmbHumiStart={36} AmbHumiEnd={37} AmbHumiMin={38} AmbHumiMax={39} PressUpMean={40} PressUpStart={41} PressUpEnd={42} PressUpMin={43} PressUpMax={44} PressDownMean={45} PressDownStart={46} PressDownEnd={47} PressDownMin={48} PressDownMax={49} PressDeltaMean={50} PressDeltaStart={51} PressDeltaEnd={52} PressDeltaMin={53} PressDeltaMax={54} TempUpMean={55} TempUpStart={56} TempUpEnd={57} TempUpMin={58} TempUpMax={59} TempDownMean={60} TempDownStart={61} TempDownEnd={62} TempDownMin={63} TempDownMax={64} TempDivMean={65} TempDivStart={66} TempDivEnd={67} TempDivMin={68} TempDivMax={69} FlowMean={70} FlowStart={71} FlowEnd={72} FlowMin={73} FlowMax={74} Custom1={75} Custom2={76} Custom3={77} Custom4={78} Custom5={79} Custom6={80} Custom7={81} Custom8={82} Custom9={83} Custom10={84}",
|
||||
Part, RepetitionNr, TestDone, Remark, StartTime, EndTime, FlowSetTime, TestTime,
|
||||
PulsesMaster, ConstMaster, MassStartRaw, MassStart, MassEndRaw, MassEnd,
|
||||
DensityIn, DensityLine, DensityDiv, MassOfEvapWater, Qdetected, Flow,
|
||||
@@ -455,7 +444,7 @@ namespace Results.Entities
|
||||
TempDivMean, TempDivStart, TempDivEnd, TempDivMin, TempDivMax,
|
||||
FlowMean, FlowStart, FlowEnd, FlowMin, FlowMax,
|
||||
Custom1, Custom2, Custom3, Custom4, Custom5, Custom6, Custom7, Custom8, Custom9, Custom10,
|
||||
DiverterStart, DiverterEnd, TestMeasured, TestCollected);
|
||||
DiverterStart, DiverterEnd);
|
||||
}
|
||||
|
||||
|
||||
@@ -597,8 +586,6 @@ namespace Results.Entities
|
||||
writer.Write(Counter3);
|
||||
writer.Write(Counter4);
|
||||
writer.Write(Counter5);
|
||||
writer.Write(TestMeasured);
|
||||
writer.Write(TestCollected);
|
||||
}
|
||||
|
||||
public virtual void ReadBinary(BinaryReader reader, IList<TestData> testDatas)
|
||||
@@ -740,8 +727,6 @@ namespace Results.Entities
|
||||
Counter3 = reader.ReadInt32();
|
||||
Counter4 = reader.ReadInt32();
|
||||
Counter5 = reader.ReadInt32();
|
||||
TestMeasured = reader.ReadBoolean();
|
||||
TestCollected = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,12 +189,6 @@ namespace Results.Entities
|
||||
{
|
||||
return ErrorFlagsFromTests() | ErrorFlags;
|
||||
}
|
||||
|
||||
public virtual long ErrorFlagsFromTestsAndWMByFlag(ErrorFlagMask errorFlagsQuestion)
|
||||
{
|
||||
long errorFlagsMask = (long)errorFlagsQuestion;
|
||||
return ErrorFlagsFromTests() & errorFlagsMask;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Convert combined errorFlags of all tests to string
|
||||
@@ -276,24 +270,6 @@ namespace Results.Entities
|
||||
|
||||
return passed;
|
||||
}
|
||||
|
||||
public virtual bool PassedFromTestsE15()
|
||||
{
|
||||
//TODO BUMI this will just let us is E15
|
||||
bool passed = (ErrorFlagsFromTestsAndWMByFlag(ErrorFlagMask.E15) == 0);
|
||||
|
||||
//TODO BUMI Check This may be not needed ?
|
||||
foreach (var mtr in MeterTestRslts)
|
||||
{
|
||||
if (mtr.Evaluate() && (!mtr.TestDone))
|
||||
{
|
||||
passed = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return passed;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Three state test results and/or water meter result (Algeria PT25 requirement).
|
||||
|
||||
@@ -349,16 +349,6 @@ namespace Results
|
||||
Pulses_main, /// 295 Compound main meter pulses (recalculated so that the gated ref. pulses for this meter are equal to the total ref. pulses)
|
||||
Pulses_aux, /// 296 Compound aux meter pulses (recalculated so that the gated ref. pulses for this meter are equal to the total ref. pulses)
|
||||
|
||||
Failed_meters_countE15, /// 297
|
||||
|
||||
Uncertainty_DIV1, /// 298 Diverter DIV1 Uncertainty
|
||||
Uncertainty_DIV2, /// 299 Diverter DIV2 Uncertainty
|
||||
Uncertainty_DIV3, /// 300 Diverter DIV3 Uncertainty
|
||||
Uncertainty_DIV4, /// 301 Diverter DIV4 Uncertainty
|
||||
Uncertainty_DIV5, /// 302 Diverter DIV5 Uncertainty
|
||||
|
||||
Uncertainty_TEMP1, /// 303 Temp1 Uncertainty
|
||||
|
||||
Count,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
using FluentNHibernate.Mapping;
|
||||
using Results.Entities;
|
||||
|
||||
namespace Results.Mappings
|
||||
{
|
||||
public class PurchaseBoxMap : ClassMap<PurchaseBox>
|
||||
{
|
||||
public PurchaseBoxMap()
|
||||
{
|
||||
Table("purchase_boxdata");
|
||||
Id(x => x.Id);
|
||||
Map(x => x.BoxNo);
|
||||
|
||||
// Map the foreign key to PurchaseOrder correctly
|
||||
References(x => x.PurchaseOrder)
|
||||
.Column("PurchaseOrderId") // Replace this with the correct column name
|
||||
.Not.Nullable();
|
||||
|
||||
|
||||
HasMany(x => x.PurchaseWaterMeterDataList)
|
||||
.Cascade.All()
|
||||
.KeyColumn("PurchaseBoxId") // This should match the foreign key in `purchase_boxdata`
|
||||
.Inverse() // This is important if `PurchaseBox` holds the foreign key
|
||||
.LazyLoad(); // Optional: Depends on your performance needs
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using FluentNHibernate.Mapping;
|
||||
using Results.Entities;
|
||||
|
||||
namespace Results.Mappings
|
||||
{
|
||||
public class PurchaseOrderMap : ClassMap<PurchaseOrder>
|
||||
{
|
||||
public PurchaseOrderMap()
|
||||
{
|
||||
Table("purchase_orderdata");
|
||||
Id(x => x.Id);
|
||||
Map(x => x.Name).Column("PurchaseOrder");
|
||||
|
||||
HasMany(x => x.PurchaseBoxList)
|
||||
.Cascade.All()
|
||||
.KeyColumn("PurchaseOrderId") // This should match the foreign key in `purchase_boxdata`
|
||||
.Inverse() // This is important if `PurchaseBox` holds the foreign key
|
||||
.LazyLoad(); // Optional: Depends on your performance needs
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
using FluentNHibernate.Mapping;
|
||||
using Results.Entities;
|
||||
|
||||
|
||||
namespace Results.Mappings
|
||||
{
|
||||
public class PurchaseWaterMeterDataMap : ClassMap<PurchaseWaterMeterData>
|
||||
{
|
||||
public PurchaseWaterMeterDataMap()
|
||||
{
|
||||
Table("purchase_watermeterdata");
|
||||
Id(x => x.Id);
|
||||
Map(x => x.SerialNo);
|
||||
|
||||
// Map the foreign key to PurchaseOrder correctly
|
||||
References(x => x.PurchaseBoxId)
|
||||
.Column("PurchaseBoxId") // Replace this with the correct column name
|
||||
.Not.Nullable();
|
||||
}
|
||||
}
|
||||
}
|
||||
+1
-68
@@ -224,18 +224,15 @@ namespace Results.Output
|
||||
/// Calculate Y-coordinate taking into account cell merging
|
||||
float mergedRowPos = rowPos[rowIx];
|
||||
mergedCellsCount = 1;
|
||||
List<string> texts = new List<string>();
|
||||
texts.Add(Cells[rowIx][colIx].Text);
|
||||
for (int rowIx2 = rowIx - 1; rowIx2 >= 0 && Cells[rowIx2][colIx].BottomMerge; rowIx2--)
|
||||
{
|
||||
mergedRowPos += rowPos[rowIx2];
|
||||
mergedCellsCount++;
|
||||
texts.Add(Cells[rowIx2][colIx].Text);
|
||||
}
|
||||
mergedRowPos /= mergedCellsCount;
|
||||
|
||||
/// Print the text at the calculated position
|
||||
Common.Printers.PrintersCommon.PrintAt(e, mergedCellsCount == 1 ? Cells[rowIx][colIx].Text : GetMergedCellStringAsNegativeOrPositive(texts),
|
||||
Common.Printers.PrintersCommon.PrintAt(e, Cells[rowIx][colIx].Text,
|
||||
Cells[rowIx][colIx].Font,
|
||||
left + mergedColPos,
|
||||
top + mergedRowPos,
|
||||
@@ -312,70 +309,6 @@ namespace Results.Output
|
||||
return table;
|
||||
}
|
||||
|
||||
public string GetMergedCellStringAsNegativeOrPositive(List<string> texts)
|
||||
{
|
||||
if (texts.Count < 1)
|
||||
{
|
||||
return "";
|
||||
}
|
||||
|
||||
bool firstIsHead = false;
|
||||
bool hasNegativeAll = true;
|
||||
bool hasPositiveAll = true;
|
||||
bool hasMixed = false;
|
||||
string lastRowText = null;
|
||||
|
||||
//check if is a header
|
||||
|
||||
foreach (string text in texts)
|
||||
{
|
||||
if (text != "-")
|
||||
{
|
||||
hasNegativeAll = false;
|
||||
}
|
||||
|
||||
if (text != "+")
|
||||
{
|
||||
hasPositiveAll = false;
|
||||
}
|
||||
|
||||
if (!hasMixed)
|
||||
{
|
||||
if (lastRowText == null)
|
||||
{
|
||||
lastRowText = text;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (lastRowText != text)
|
||||
{
|
||||
hasMixed = true;
|
||||
}
|
||||
|
||||
lastRowText = text;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (hasMixed)
|
||||
{
|
||||
//merge as negative
|
||||
return "-";
|
||||
}
|
||||
else if (hasPositiveAll)
|
||||
{
|
||||
//merge as positive
|
||||
return "+";
|
||||
}
|
||||
else if (hasNegativeAll)
|
||||
{
|
||||
//merge as negative
|
||||
return "-";
|
||||
}
|
||||
|
||||
return texts[0];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Create a table where tests are in columns.
|
||||
/// Left column contains item (or row) captions.
|
||||
|
||||
+2
-80
@@ -19,7 +19,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;LANG_PL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
@@ -29,30 +29,12 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DefineConstants>TRACE;LANG_PL</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<Prefer32Bit>false</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="ClosedXML, Version=0.105.0.0, Culture=neutral, PublicKeyToken=fd1eb21b62ae805b, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClosedXML.0.105.0-rc\lib\netstandard2.0\ClosedXML.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ClosedXML.Parser, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1d5f7376574c51ec, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ClosedXML.Parser.2.0.0-preview1\lib\netstandard2.0\ClosedXML.Parser.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DocumentFormat.OpenXml, Version=3.1.1.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DocumentFormat.OpenXml.3.1.1\lib\net46\DocumentFormat.OpenXml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="DocumentFormat.OpenXml.Framework, Version=3.1.1.0, Culture=neutral, PublicKeyToken=8fb06cb64d019a17, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\DocumentFormat.OpenXml.Framework.3.1.1\lib\net46\DocumentFormat.OpenXml.Framework.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EPPlus.Interfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=a694d7f3b0907a61, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\EPPlus.Interfaces.8.0.0\lib\net462\EPPlus.Interfaces.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="ExcelNumberFormat, Version=1.1.0.0, Culture=neutral, PublicKeyToken=23c6f5d73be07eca, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\ExcelNumberFormat.1.1.0\lib\net20\ExcelNumberFormat.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="FluentNHibernate">
|
||||
<HintPath>..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
@@ -65,51 +47,15 @@
|
||||
<Reference Include="log4net, Version=2.0.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\log4net.2.0.15\lib\net45\log4net.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.Bcl.HashCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.Bcl.HashCode.1.1.1\lib\net461\Microsoft.Bcl.HashCode.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.3.0.1\lib\netstandard2.0\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="mscorlib" />
|
||||
<Reference Include="MySql.Data">
|
||||
<HintPath>..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate">
|
||||
<HintPath>..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="RBush, Version=4.0.0.0, Culture=neutral, PublicKeyToken=c77e27b81f4d0187, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\RBush.Signed.4.0.0\lib\net47\RBush.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="SixLabors.Fonts, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d998eea7b14cab13, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\SixLabors.Fonts.1.0.0\lib\netstandard2.0\SixLabors.Fonts.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Buffers, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Buffers.4.6.1\lib\net462\System.Buffers.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.ComponentModel.Annotations.5.0.0\lib\net461\System.ComponentModel.Annotations.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||
<Reference Include="System.configuration" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Memory, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Memory.4.6.2\lib\net462\System.Memory.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Numerics" />
|
||||
<Reference Include="System.Numerics.Vectors, Version=4.1.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Numerics.Vectors.4.6.1\lib\net462\System.Numerics.Vectors.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=6.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.1.1\lib\net462\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Security" />
|
||||
<Reference Include="System.Security.Cryptography.Xml, Version=8.0.0.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\System.Security.Cryptography.Xml.8.0.2\lib\net462\System.Security.Cryptography.Xml.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Windows.Forms.DataVisualization" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
@@ -117,7 +63,6 @@
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="WindowsBase" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BatchResults.cs" />
|
||||
@@ -125,9 +70,6 @@
|
||||
<Compile Include="Entities\Batch.cs" />
|
||||
<Compile Include="Entities\Components.cs" />
|
||||
<Compile Include="Entities\MeterTestRslt.cs" />
|
||||
<Compile Include="Entities\PurchaseBox.cs" />
|
||||
<Compile Include="Entities\PurchaseOrder.cs" />
|
||||
<Compile Include="Entities\PurchaseWaterMeterData.cs" />
|
||||
<Compile Include="Entities\TestData.cs" />
|
||||
<Compile Include="Entities\TestRslt.cs" />
|
||||
<Compile Include="Entities\WaterMeterData.cs" />
|
||||
@@ -188,9 +130,6 @@
|
||||
<Compile Include="Mappings\BatchMap.cs" />
|
||||
<Compile Include="Mappings\ComponentsMap.cs" />
|
||||
<Compile Include="Mappings\MeterTestRsltMap.cs" />
|
||||
<Compile Include="Mappings\PurchaseBoxMap.cs" />
|
||||
<Compile Include="Mappings\PurchaseOrderMap.cs" />
|
||||
<Compile Include="Mappings\PurchaseWaterMeterDataMap.cs" />
|
||||
<Compile Include="Mappings\TestDataMap.cs" />
|
||||
<Compile Include="Mappings\TestRsltMap.cs" />
|
||||
<Compile Include="Mappings\WaterMeterDataMap.cs" />
|
||||
@@ -235,17 +174,6 @@
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Strings.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="RigUncertainty.cs" />
|
||||
<Compile Include="Uncertainty\Calculation\CalculationTable.cs" />
|
||||
<Compile Include="Uncertainty\Calculation\Math.cs" />
|
||||
<Compile Include="Uncertainty\CommonExcell.cs" />
|
||||
<Compile Include="Uncertainty\CommonTable\Table.cs" />
|
||||
<Compile Include="Uncertainty\DEItem.cs" />
|
||||
<Compile Include="Uncertainty\DEUtils.cs" />
|
||||
<Compile Include="Uncertainty\DocumentSheets.cs" />
|
||||
<Compile Include="Uncertainty\ProcessDataLine.cs" />
|
||||
<Compile Include="Uncertainty\ProcessDataMeterLine.cs" />
|
||||
<Compile Include="Uncertainty\CommonTable\Cell.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
<Compile Include="WMeterRsltItemSpec.cs" />
|
||||
</ItemGroup>
|
||||
@@ -315,14 +243,8 @@
|
||||
<EmbeddedResource Include="Resources\Strings.ru.resx" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Resources\Headpic.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="Entities\PurchaseEntities\createPurchaseTables.sql" />
|
||||
<Content Include="Entities\PurchaseEntities\ImportPurchaseOrderTestData.sql" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
||||
@@ -1,144 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Reflection;
|
||||
using ClosedXML.Excel;
|
||||
using log4net;
|
||||
using Results.Resources;
|
||||
using Results.Uncertainty;
|
||||
|
||||
namespace Results
|
||||
{
|
||||
/// <summary>
|
||||
/// Uncertaintity based on calculation
|
||||
/// </summary>
|
||||
public class RigUncertainty
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(RigUncertainty));
|
||||
//Based on |Excel calculation
|
||||
//1.step feed Excel
|
||||
//2.step get calculated data from excel
|
||||
|
||||
private string DocumentName { get; set; }
|
||||
private XLWorkbook Document;
|
||||
|
||||
private Boolean openedDocument;
|
||||
public Boolean IsOpenedDocument { get { return openedDocument; } }
|
||||
|
||||
|
||||
Dictionary<int, ProcessDataLine> processDataDict = new Dictionary<int, ProcessDataLine>();
|
||||
|
||||
public RigUncertainty()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public RigUncertainty(string DocumentName)
|
||||
{
|
||||
this.DocumentName = DocumentName;
|
||||
}
|
||||
|
||||
public void OpenDocument()
|
||||
{
|
||||
this.openedDocument = TryOpenDocument();
|
||||
}
|
||||
|
||||
|
||||
private Boolean TryOpenDocument()
|
||||
{
|
||||
try
|
||||
{
|
||||
Document = new XLWorkbook(DocumentName);
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error("Can`t open excel document!",e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public void CloaseDocument()
|
||||
{
|
||||
this.openedDocument = !TryCloseDocument();
|
||||
}
|
||||
|
||||
private Boolean TryCloseDocument()
|
||||
{
|
||||
try
|
||||
{
|
||||
Document.Dispose(); // Closes the file and releases resources
|
||||
return true;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error("Can`t open excel document!",e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public IXLWorksheet GetWorksheet(DocumentSheets sheet)
|
||||
{
|
||||
string sheetName = EnumExtensions.GetDescription(sheet);
|
||||
try
|
||||
{
|
||||
var xlWorksheet = Document.Worksheet(sheetName);
|
||||
return xlWorksheet;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
log.Error($"Can`t get \"{sheetName}\" worksheet!", e);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public Boolean GetCalculatedDataFromExcel()
|
||||
{
|
||||
// Code to get calculated data from Excel
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public void SetDataToExcel()
|
||||
{
|
||||
string sheetString = EnumExtensions.GetDescription(DocumentSheets.RADATA);
|
||||
IXLWorksheet worksheet = Document.Worksheet(sheetString);
|
||||
|
||||
|
||||
|
||||
// # store data to Excel workbook
|
||||
|
||||
// ## get data from DB
|
||||
int line = 3;
|
||||
ProcessDataLine pDataLine = new ProcessDataLine();
|
||||
|
||||
processDataDict.Add(line,pDataLine);
|
||||
|
||||
// ### line process data
|
||||
|
||||
|
||||
// ## Store to document
|
||||
foreach ( var processDataKey in processDataDict)
|
||||
{
|
||||
//get Process data line base by row
|
||||
ProcessDataLine processDataLine = processDataKey.Value;
|
||||
CommonExcell.InsertValueLineProcessData(this, processDataKey.Key, processDataLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void SaveResultDataToDatabase()
|
||||
{
|
||||
// Code to save data to database
|
||||
}
|
||||
|
||||
|
||||
public void SaveChangesToDocument()
|
||||
{
|
||||
if (Document != null && openedDocument)
|
||||
{
|
||||
Document.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,239 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using ClosedXML.Excel;
|
||||
using DocumentFormat.OpenXml.Spreadsheet;
|
||||
|
||||
namespace Results.Uncertainty.Calculation
|
||||
{
|
||||
public class ColumnValue
|
||||
{
|
||||
private int iColumn;
|
||||
private double value;
|
||||
|
||||
public int IColumn => iColumn;
|
||||
|
||||
public double Value
|
||||
{
|
||||
get => value;
|
||||
set => this.value = value;
|
||||
}
|
||||
|
||||
public ColumnValue(int iColumn)
|
||||
{
|
||||
this.iColumn = iColumn;
|
||||
}
|
||||
|
||||
public ColumnValue(int iColumn, double value)
|
||||
{
|
||||
this.iColumn = iColumn;
|
||||
this.value = value;
|
||||
}
|
||||
}
|
||||
|
||||
public class BatchProcessTable
|
||||
{
|
||||
|
||||
private Dictionary<int, ProcessDataLine> processTable;
|
||||
|
||||
public Dictionary<int, ProcessDataLine> ProcessTable
|
||||
{
|
||||
get => processTable;
|
||||
set => processTable = value;
|
||||
}
|
||||
|
||||
|
||||
public IList<ColumnValue> GetListMeterValue(int iMeter, int iMeterSubvalueIndex)
|
||||
{
|
||||
|
||||
IList<ColumnValue> xx = new List<ColumnValue>();
|
||||
|
||||
foreach (KeyValuePair<int, ProcessDataLine> dataLine in processTable)
|
||||
{
|
||||
XLCellValue cellValue = dataLine.Value.processDataMeterList[iMeter].val[iMeterSubvalueIndex];
|
||||
xx.Add(new ColumnValue((int)dataLine.Key ,cellValue.GetNumber()));
|
||||
}
|
||||
|
||||
return xx;
|
||||
}
|
||||
public Dictionary<int, IList<ColumnValue>> GetKBuoyancy()
|
||||
{
|
||||
Dictionary<int, IList<ColumnValue>> table = new Dictionary<int, IList<ColumnValue>>();
|
||||
IList<ColumnValue> bc = new List<ColumnValue>();
|
||||
IList<ColumnValue> bi = new List<ColumnValue>();
|
||||
IList<ColumnValue> bj = new List<ColumnValue>();
|
||||
IList<ColumnValue> bm = new List<ColumnValue>();
|
||||
foreach (KeyValuePair<int, ProcessDataLine> dataLine in processTable)
|
||||
{
|
||||
bc.Add(new ColumnValue((int)dataLine.Key ,dataLine.Value.Kbuoyancy));
|
||||
bi.Add(new ColumnValue((int)dataLine.Key ,dataLine.Value.Qctv));
|
||||
bj.Add(new ColumnValue((int)dataLine.Key ,dataLine.Value.VolRI));
|
||||
bm.Add(new ColumnValue((int)dataLine.Key ,dataLine.Value.ERelRef));
|
||||
}
|
||||
|
||||
table.Add(CommonExcell.ColumnToNumber("BC"),bc);
|
||||
table.Add(CommonExcell.ColumnToNumber("BI"),bi);
|
||||
table.Add(CommonExcell.ColumnToNumber("BJ"),bj);
|
||||
table.Add(CommonExcell.ColumnToNumber("BM"),bm);
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
public Dictionary<int, IList<ColumnValue>> ModifyKbuoyancy(IList<ColumnValue> corectedKbuoancy)
|
||||
{
|
||||
//Columns - 'BC'
|
||||
Dictionary<int,IList<ColumnValue>> kbuoyancyTable = GetKBuoyancy();
|
||||
if (kbuoyancyTable.ContainsKey(CommonExcell.ColumnToNumber("BC")) &&
|
||||
kbuoyancyTable.ContainsKey(CommonExcell.ColumnToNumber("BI")) &&
|
||||
kbuoyancyTable.ContainsKey(CommonExcell.ColumnToNumber("BJ")) &&
|
||||
kbuoyancyTable.ContainsKey(CommonExcell.ColumnToNumber("BM")))
|
||||
{
|
||||
IList<ColumnValue> listBC = kbuoyancyTable[CommonExcell.ColumnToNumber("BC")];
|
||||
IList<ColumnValue> listBI = kbuoyancyTable[CommonExcell.ColumnToNumber("BI")];
|
||||
IList<ColumnValue> listBJ = kbuoyancyTable[CommonExcell.ColumnToNumber("BJ")];
|
||||
IList<ColumnValue> listBM = kbuoyancyTable[CommonExcell.ColumnToNumber("BM")];
|
||||
|
||||
if (corectedKbuoancy.Count != listBC.Count)
|
||||
{
|
||||
throw new Exception("Incompatible count in table kbuoyancy!");
|
||||
}
|
||||
|
||||
for (int row = 0; row < listBC.Count; row++)
|
||||
{
|
||||
|
||||
double correctedKbuoyancyValue = corectedKbuoancy[row].Value;
|
||||
listBC[row].Value = correctedKbuoyancyValue;
|
||||
//BI=+BI4/BC4*BC13
|
||||
listBI[row].Value = listBI[row].Value / correctedKbuoyancyValue * listBJ[row].Value;
|
||||
//BM==+(BJ13-BI13)/BI13*100
|
||||
listBM[row].Value = (listBJ[row].Value - listBI[row].Value) / listBI[row].Value * 100;
|
||||
}
|
||||
return kbuoyancyTable;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public class CalculationTable
|
||||
{
|
||||
private BatchProcessTable batchProcessTable;
|
||||
private Dictionary<int, IList<ColumnValue>> table;
|
||||
private Dictionary<string, double> averages;
|
||||
|
||||
|
||||
public BatchProcessTable BatchProcessTable
|
||||
{
|
||||
get => batchProcessTable;
|
||||
set => batchProcessTable = value;
|
||||
}
|
||||
|
||||
public Dictionary<int, IList<ColumnValue>> Table
|
||||
{
|
||||
get => table;
|
||||
set => table = value;
|
||||
}
|
||||
|
||||
public Dictionary<string, double> Averages
|
||||
{
|
||||
get => averages;
|
||||
set => averages = value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public CalculationTable()
|
||||
{
|
||||
batchProcessTable = new BatchProcessTable();
|
||||
table = new Dictionary<int, IList<ColumnValue>>();
|
||||
averages = new Dictionary<string, double>();
|
||||
}
|
||||
|
||||
|
||||
////////
|
||||
///
|
||||
|
||||
public IList<ColumnValue> GetColumn(string column)
|
||||
{
|
||||
int iColumnName = CommonExcell.ColumnToNumber(column);
|
||||
if (table.ContainsKey(iColumnName))
|
||||
{
|
||||
return table[iColumnName];
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Column {column} missing in table!");
|
||||
}
|
||||
}
|
||||
|
||||
double Average(string columnName, bool forceCalculation = false)
|
||||
{
|
||||
int iColumnName = CommonExcell.ColumnToNumber(columnName);
|
||||
if (!forceCalculation && averages.ContainsKey(columnName))
|
||||
{
|
||||
return averages[columnName];
|
||||
}
|
||||
|
||||
if (!table.ContainsKey(iColumnName))
|
||||
{
|
||||
double average = Average(table[iColumnName]);
|
||||
averages.Add(columnName, average);
|
||||
return average;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Exception($"Column {columnName} missing in table!");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
public static double Average(IList<ColumnValue> values)
|
||||
{
|
||||
int i = 0;
|
||||
double sum = 0;
|
||||
foreach (ColumnValue value in values)
|
||||
{
|
||||
sum += value.Value;
|
||||
i++;
|
||||
}
|
||||
|
||||
return sum / i;
|
||||
}
|
||||
|
||||
|
||||
static double SumOfSquares(IList<ColumnValue> values, double mean)
|
||||
{
|
||||
double sumOfSquares = 0;
|
||||
foreach (ColumnValue columnValue in values)
|
||||
{
|
||||
sumOfSquares += System.Math.Pow(columnValue.Value - mean, 2);
|
||||
}
|
||||
|
||||
return sumOfSquares;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Calculates the sample standard deviation for a list of ColumnValue objects.
|
||||
/// </summary>
|
||||
/// <param name="values">An IList of ColumnValue objects.</param>
|
||||
/// <returns>The sample standard deviation. Returns 0 if there are fewer than 2 values.</returns>
|
||||
public static double StandardDeviation(IList<ColumnValue> values)
|
||||
{
|
||||
if (values == null || values.Count < 2)
|
||||
return 0.0;
|
||||
|
||||
// Compute the average of the values.
|
||||
double mean = CalculationTable.Average(values);
|
||||
|
||||
// Calculate the sum of squared differences from the mean.
|
||||
double sumOfSquares = CalculationTable.SumOfSquares(values, mean);
|
||||
|
||||
// For sample standard deviation, divide by (n - 1)
|
||||
return System.Math.Sqrt(sumOfSquares / (values.Count - 1));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Results.Uncertainty.Calculation
|
||||
{
|
||||
public static class Math
|
||||
{
|
||||
public static double Average(IList<Double> values)
|
||||
{
|
||||
int i = 0;
|
||||
double sum = 0;
|
||||
foreach (double value in values)
|
||||
{
|
||||
sum += value;
|
||||
i++;
|
||||
}
|
||||
|
||||
return sum / i;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,310 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using ClosedXML.Excel;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using log4net;
|
||||
using NHibernate;
|
||||
using Results.Resources;
|
||||
|
||||
namespace Results.Uncertainty
|
||||
{
|
||||
public class CommonExcell
|
||||
{
|
||||
const string formatD7 = "0.0000000";
|
||||
const string formatD6 = "0.000000";
|
||||
const string formatD4 = "0.0000";
|
||||
const string formatD3 = "0.000";
|
||||
const string formatD1 = "0.0";
|
||||
const string formatInt = "0";
|
||||
const string formatStr = "@";
|
||||
|
||||
private static Dictionary<int, int> bloks = null;
|
||||
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(CommonExcell));
|
||||
|
||||
private static IList<Component> cmpntEntities;
|
||||
|
||||
public static Dictionary<int, int> GetBolocs() {
|
||||
if (bloks == null)
|
||||
{
|
||||
bloks = new Dictionary<int, int>();
|
||||
bloks.Add(0, 4);
|
||||
bloks.Add(1, 24);
|
||||
bloks.Add(2, 44);
|
||||
bloks.Add(3, 64);
|
||||
bloks.Add(4, 84);
|
||||
bloks.Add(5, 104);
|
||||
bloks.Add(6, 124);
|
||||
bloks.Add(7, 144);
|
||||
}
|
||||
|
||||
return bloks;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Inserts a line of process data into a specified row of the Excel document.
|
||||
/// </summary>
|
||||
/// <param name="_rigUncertainty">An instance of the <see cref="RigUncertainty"/> class representing the rig uncertainty and its associated data.</param>
|
||||
/// <param name="iRowI">The row index in the Excel worksheet where the process data will be inserted.</param>
|
||||
/// <param name="processDataLine">An instance of the <see cref="ProcessDataLine"/> class containing the process data to be added to the row.</param>
|
||||
public static void InsertValueLineProcessData(RigUncertainty _rigUncertainty, int iRowI, ProcessDataLine processDataLine)
|
||||
{
|
||||
if (!_rigUncertainty.IsOpenedDocument)
|
||||
{
|
||||
throw new Exception("No Opened document!");
|
||||
}
|
||||
|
||||
|
||||
IXLWorksheet worksheet = _rigUncertainty.GetWorksheet(DocumentSheets.RADATA);
|
||||
|
||||
//Date time
|
||||
string column = "A";
|
||||
worksheet.Cell($"{column}{iRowI}").Value = processDataLine.DateTime;
|
||||
worksheet.Cell($"{column}{iRowI}").Style.DateFormat.Format = "M/d/yyyy h:mm";
|
||||
|
||||
//deffined values
|
||||
CellData(worksheet, "B", iRowI, processDataLine.Batch, formatInt); //Batch - B
|
||||
CellData(worksheet, "C", iRowI, processDataLine.TestName, formatStr); //Test Name - C
|
||||
CellData(worksheet, "D", iRowI, processDataLine.Reports, formatInt); //Reports
|
||||
CellData(worksheet, "E", iRowI, processDataLine.RepCyc, formatInt); //Rep cyc
|
||||
CellData(worksheet, "F", iRowI, processDataLine.TestMeth, formatStr); //Test Meth.
|
||||
CellData(worksheet, "G", iRowI, processDataLine.TargetVOL, formatInt); //Target VOL.
|
||||
CellData(worksheet, "H", iRowI, processDataLine.TargetQMin, formatD4); //Target Q -
|
||||
CellData(worksheet, "I", iRowI, processDataLine.TargetQPlus, formatD4); //Target Q +
|
||||
CellData(worksheet, "J", iRowI, processDataLine.ErrLimitMin, formatInt); //Err. LIMIT -
|
||||
CellData(worksheet, "K", iRowI, processDataLine.ErrLimitPlus, formatInt); //Err. LIMIT +
|
||||
CellData(worksheet, "L", iRowI, processDataLine.TargetTempFrom, formatInt); //Target temp from - L
|
||||
CellData(worksheet, "M", iRowI, processDataLine.TargetTempTo, formatInt); //Target temp to - M
|
||||
CellData(worksheet, "N", iRowI, processDataLine.TargetPressFrom, formatInt); //Target press from - N
|
||||
CellData(worksheet, "O", iRowI, processDataLine.TargetPressTo, formatInt); //Target press to - O
|
||||
CellData(worksheet, "P", iRowI, processDataLine.MIDNumberName, formatStr);
|
||||
CellData(worksheet, "Q", iRowI, processDataLine.MIDNumberValue, formatD4); //MID number - PQ
|
||||
CellData(worksheet, "R", iRowI, processDataLine.COR, formatStr); //COR - R
|
||||
|
||||
CellData(worksheet, "S", iRowI, processDataLine.TempAmbM, formatD1); //Temp.Amb M - S
|
||||
CellData(worksheet, "T", iRowI, processDataLine.PressAmbM, formatInt); //Press.Amb M - T
|
||||
CellData(worksheet, "U", iRowI, processDataLine.HumidAmbM, formatD1); //Humid.Amb M - U
|
||||
|
||||
CellData(worksheet, "V", iRowI, processDataLine.PressUpME, formatInt); //Press. UP ME - V
|
||||
CellData(worksheet, "W", iRowI, processDataLine.PressDwME, formatInt); //Press. DW ME - W
|
||||
CellData(worksheet, "X", iRowI, processDataLine.PressDeME, formatInt); //Press. DE ME - X
|
||||
CellData(worksheet, "Y", iRowI, processDataLine.PressUpST, formatInt); //Press. UP ST - Y
|
||||
CellData(worksheet, "Z", iRowI, processDataLine.PressDwST, formatInt); //Press. DW ST - Z
|
||||
CellData(worksheet, "AA", iRowI, processDataLine.PressDES, formatInt); //Press. DES - AA
|
||||
CellData(worksheet, "AB", iRowI, processDataLine.PressUpEN, formatInt); //Press UP EN - AB
|
||||
CellData(worksheet, "AC", iRowI, processDataLine.PressDwEN, formatInt); //Press DW EN
|
||||
CellData(worksheet, "AD", iRowI, processDataLine.PressDEE, formatInt); //Press. DEE
|
||||
|
||||
CellData(worksheet, "AE", iRowI, processDataLine.TempUpME, formatD4); //Temp. UP ME
|
||||
CellData(worksheet, "AF", iRowI, processDataLine.TempDwME, formatD4); //Temp. DW ME
|
||||
CellData(worksheet, "AG", iRowI, processDataLine.TempDiME, formatD4); //Temp. DI ME
|
||||
CellData(worksheet, "AH", iRowI, processDataLine.TempLoME, formatD4); //Temp. LO ME
|
||||
CellData(worksheet, "AI", iRowI, processDataLine.TempHiME, formatD4); //Temp. HI ME
|
||||
CellData(worksheet, "AJ", iRowI, processDataLine.TempUpST, formatD4); //Temp. UP ST
|
||||
CellData(worksheet, "AK", iRowI, processDataLine.TempDwST, formatD4); //Temp. DW ST
|
||||
CellData(worksheet, "AL", iRowI, processDataLine.TempDiST, formatD4); //Temp. DI ST
|
||||
CellData(worksheet, "AM", iRowI, processDataLine.TempLoST, formatD4); //Temp. LO ST
|
||||
CellData(worksheet, "AN", iRowI, processDataLine.TempHiST, formatD4); //Temp. HI ST
|
||||
CellData(worksheet, "AO", iRowI, processDataLine.TempUpEN, formatD4); //Temp. UP EN
|
||||
CellData(worksheet, "AP", iRowI, processDataLine.TempDwEN, formatD4); //Temp. DW EN
|
||||
CellData(worksheet, "AQ", iRowI, processDataLine.TempDiEN, formatD4); //Temp. DI EN
|
||||
CellData(worksheet, "AR", iRowI, processDataLine.TempLoEN, formatD4); //Temp. LO EN
|
||||
CellData(worksheet, "AS", iRowI, processDataLine.TempHiEN, formatD4); //Temp. HI EN
|
||||
|
||||
//Mass vakues
|
||||
CellData(worksheet, "AT", iRowI, processDataLine.MassStRaw, formatD3); //Mass ST raw()
|
||||
CellData(worksheet, "AU", iRowI, processDataLine.MassSt, formatD3); //Mass ST ()
|
||||
CellData(worksheet, "AV", iRowI, processDataLine.MassEnRaw, formatD3); //Mass EN raw()
|
||||
CellData(worksheet, "AW", iRowI, processDataLine.MassEn, formatD3); //Mass EN ()
|
||||
CellData(worksheet, "AX", iRowI, processDataLine.Mass, formatD3); //Mass
|
||||
|
||||
//calculated values
|
||||
CellData(worksheet, "AY", iRowI, processDataLine.RoWa, formatD7); //Ro Wa
|
||||
CellData(worksheet, "AZ", iRowI, processDataLine.TempLnME, formatD7); //Temp. LN ME
|
||||
CellData(worksheet, "BA", iRowI, processDataLine.RoWat, formatD7); //Ro Wat
|
||||
CellData(worksheet, "BB", iRowI, processDataLine.RoAir, formatD7); // Ro AIR
|
||||
CellData(worksheet, "BC", iRowI, processDataLine.Kbuoyancy, formatD7); // Kbuoyancy
|
||||
CellData(worksheet, "BD", iRowI, processDataLine.DensityOfSample, formatInt); //Density of sample
|
||||
CellData(worksheet, "BE", iRowI, processDataLine.TTempRO, formatInt); //TTemp. RO()
|
||||
|
||||
CellData(worksheet, "BF", iRowI, processDataLine.QMax, formatD7); //Q max ()
|
||||
CellData(worksheet, "BG", iRowI, processDataLine.QMin, formatD7); //Q min ()
|
||||
CellData(worksheet, "BH", iRowI, processDataLine.QMean, formatD7); //Q mean
|
||||
CellData(worksheet, "BI", iRowI, processDataLine.Qctv, formatD7); //Qctv
|
||||
CellData(worksheet, "BJ", iRowI, processDataLine.VolRI, formatD7); //Vol. RI
|
||||
CellData(worksheet, "BK", iRowI, processDataLine.DivCorrection, formatD3); //Div correction
|
||||
CellData(worksheet, "BL", iRowI, processDataLine.T, formatD3); //T(s)()
|
||||
CellData(worksheet, "BM", iRowI, processDataLine.ERelRef, formatD7); //E rel.ref. ()
|
||||
//CellData(worksheet, "BN", iRowI, , formatD7);
|
||||
CellData(worksheet, "BO", iRowI, processDataLine.KMind, formatInt); //K MID ()
|
||||
//CellData(worksheet, "BP", iRowI, , formatInt);//Const.MAS
|
||||
|
||||
//Additional values
|
||||
CellData(worksheet, "BQ", iRowI, processDataLine.DiverterStartTime, formatInt); //Diverter start time
|
||||
CellData(worksheet, "BR", iRowI, processDataLine.DiverterEndTime, formatInt); //Diverter end time
|
||||
CellData(worksheet, "BS", iRowI, processDataLine.DiverterStartValeveOpenTime, formatInt); // BS [ms] Start valve open time
|
||||
CellData(worksheet, "BT", iRowI, processDataLine.DiverterStartValeveCloseTime, formatInt); // BT [ms] Start valve close time
|
||||
CellData(worksheet, "BU", iRowI, processDataLine.TempUpMax, formatD7); //Temp. UP max
|
||||
CellData(worksheet, "BV", iRowI, processDataLine.TempDwMax, formatD7); // Temp DW max
|
||||
CellData(worksheet, "BW", iRowI, processDataLine.TempUpMin, formatD7); //Temp UP min
|
||||
CellData(worksheet, "BX", iRowI, processDataLine.TempDwMin, formatD7); //Temp DW min
|
||||
CellData(worksheet, "BY", iRowI, processDataLine.TempT10, formatD7); //10 - T1,2
|
||||
|
||||
CellData(worksheet, "BZ", iRowI, processDataLine.TempAmbEn, formatD1); //Temp Amb En
|
||||
CellData(worksheet, "CA", iRowI, processDataLine.PressAmbEn, formatInt); //Press Amb En
|
||||
CellData(worksheet, "CB", iRowI, processDataLine.HumAmbEn, formatD1); //Hum Amb En
|
||||
|
||||
//checking
|
||||
|
||||
CellData(worksheet, "CC", iRowI, processDataLine.RefPulses, formatInt); //Ref pulses()
|
||||
CellData(worksheet, "CD", iRowI, processDataLine.DiverterTestTimeCorrection, formatInt); // CD [ms] Diverter test time correction
|
||||
|
||||
int distance = CommonExcell.GetColumnDistance("CE", "CZ");
|
||||
string startBlockColumn = "CE";
|
||||
foreach (ProcessDataMeterLine dataMeter in processDataLine.processDataMeterList){
|
||||
MeterCellData(worksheet, startBlockColumn, iRowI, dataMeter, distance);
|
||||
startBlockColumn = CommonExcell.GetExcelColumnByDistance(startBlockColumn, distance);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Populates a range of cells in an Excel worksheet with meter process data starting from a specified column and row.
|
||||
/// </summary>
|
||||
/// <param name="worksheet">The Excel worksheet where data will be inserted.</param>
|
||||
/// <param name="column">The starting column in the worksheet for inserting the meter process data.</param>
|
||||
/// <param name="iRowI">The row index in the worksheet where the data will be inserted.</param>
|
||||
/// <param name="data">An instance of the <see cref="ProcessDataMeterLine"/> class containing the meter process data to insert.</param>
|
||||
/// <param name="distance">An optional parameter specifying the distance for additional columns to leave empty after data insertion. Defaults to 0.</param>
|
||||
/// <returns>The next available column string after the last column used during data insertion.</returns>
|
||||
private static string MeterCellData(IXLWorksheet worksheet, string column, int iRowI, ProcessDataMeterLine data, int distance = 0)
|
||||
{
|
||||
int iIndex = 0;
|
||||
CellData(worksheet, column, iRowI, data.val[iIndex] , formatStr);//Position - Ser.No. - CE - 0
|
||||
string nextColumn = NextColumn(column); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt);//Vol.Mt.st - CF
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt);//Vol.Mt.en - CG
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatD7);//Vol.Mt. - CH
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex], formatD7);//Vol.rm - CI
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatD6); // E rel. - CJ
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt); // U - CK
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt); //Pulses() -
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt); //Ref pulses_ni()
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatD4); //T(s)()_ni
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatStr);//evaluation
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatD4);//Pulses/l - CP
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt);//imp/l
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt);//div
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt);//Vend
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, data.val[++iIndex] , formatInt);//T end - 15
|
||||
|
||||
if (distance > 0)
|
||||
{
|
||||
string lastColumn = CommonExcell.GetExcelColumnByDistance(column, distance);
|
||||
int columnDistance = CommonExcell.GetColumnDistance(nextColumn, lastColumn);
|
||||
for (int i = 1; i < columnDistance; i++)
|
||||
{
|
||||
if ((iIndex + 1) < data.val.Length)
|
||||
{
|
||||
nextColumn = NextColumn(nextColumn);
|
||||
CellData(worksheet, nextColumn, iRowI, data.val[++iIndex], formatInt);
|
||||
}
|
||||
else
|
||||
{
|
||||
nextColumn = NextColumn(nextColumn); CellData(worksheet,nextColumn, iRowI, 0 , formatInt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nextColumn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public static void CellData(IXLWorksheet worksheet, string column, int iRowI, XLCellValue value, string format = null)
|
||||
{
|
||||
worksheet.Cell($"{column}{iRowI}").Value = value;
|
||||
if (format != null)
|
||||
{
|
||||
worksheet.Cell($"{column}{iRowI}").Style.NumberFormat.Format = format; // Ensure integer format
|
||||
}
|
||||
}
|
||||
|
||||
public static string NextColumn(string column)
|
||||
{
|
||||
if (string.IsNullOrEmpty(column))
|
||||
return "A";
|
||||
|
||||
char[] chars = column.ToUpper().ToCharArray();
|
||||
int i = chars.Length - 1;
|
||||
|
||||
while (i >= 0)
|
||||
{
|
||||
if (chars[i] != 'Z')
|
||||
{
|
||||
chars[i]++;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
chars[i] = 'A';
|
||||
i--;
|
||||
}
|
||||
}
|
||||
|
||||
if (i < 0)
|
||||
return "A" + new string(chars);
|
||||
|
||||
return new string(chars);
|
||||
}
|
||||
|
||||
public static int GetColumnDistance(string col1, string col2)
|
||||
{
|
||||
return ColumnToNumber(col2) - ColumnToNumber(col1);
|
||||
}
|
||||
|
||||
public static int ColumnToNumber(string col)
|
||||
{
|
||||
int number = 0;
|
||||
foreach (char c in col.ToUpper())
|
||||
{
|
||||
number = number * 26 + (c - 'A' + 1);
|
||||
}
|
||||
return number;
|
||||
}
|
||||
|
||||
public static string GetExcelColumnByDistance(string startColumn, int distance)
|
||||
{
|
||||
int startNumber = ColumnToNumber(startColumn);
|
||||
int targetNumber = startNumber + distance;
|
||||
|
||||
return NumberToColumn(targetNumber);
|
||||
}
|
||||
|
||||
private static string NumberToColumn(int number)
|
||||
{
|
||||
string column = string.Empty;
|
||||
|
||||
while (number > 0)
|
||||
{
|
||||
number--;
|
||||
column = (char)('A' + (number % 26)) + column;
|
||||
number /= 26;
|
||||
}
|
||||
|
||||
return column;
|
||||
}
|
||||
|
||||
public static bool AreClose(double valA, double valB, double tolerance = 0.0001)
|
||||
{
|
||||
if ((valA + tolerance) > valB && (valA - tolerance) < valB)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
using ClosedXML.Excel;
|
||||
|
||||
namespace Results.Uncertainty.CommonTable
|
||||
{
|
||||
public class Cell
|
||||
{
|
||||
public int IRow { get; }
|
||||
public int IColumn { get; }
|
||||
public XLCellValue Value { get; set; }
|
||||
|
||||
// The names (if any) of the row/column
|
||||
public string ColumnName { get; }
|
||||
public string RowName { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Excel‐style address, e.g. “B3”.
|
||||
/// </summary>
|
||||
public string Address => $"{ToLetter(IColumn + 1)}{IRow + 1}";
|
||||
|
||||
public Cell(int col, int row, XLCellValue value,
|
||||
string colName = null, string rowName = null)
|
||||
{
|
||||
IColumn = col;
|
||||
IRow = row;
|
||||
Value = value;
|
||||
ColumnName = colName;
|
||||
RowName = rowName;
|
||||
}
|
||||
|
||||
// Convert 1-based column number into letters
|
||||
private static string ToLetter(int col)
|
||||
{
|
||||
var s = "";
|
||||
while (col > 0)
|
||||
{
|
||||
int m = (col - 1) % 26;
|
||||
s = (char)('A' + m) + s;
|
||||
col = (col - m - 1) / 26;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,232 +0,0 @@
|
||||
using System.Collections.Generic;
|
||||
using ClosedXML.Excel;
|
||||
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using ClosedXML.Excel;
|
||||
|
||||
namespace Results.Uncertainty.CommonTable
|
||||
{
|
||||
public class Table
|
||||
{
|
||||
private int iOffsetRows = 0;
|
||||
private int iOffsetColumns = 0;
|
||||
|
||||
public int IOffsetRows
|
||||
{
|
||||
get => iOffsetRows;
|
||||
set => iOffsetRows = value;
|
||||
}
|
||||
|
||||
public int IOffsetColumns
|
||||
{
|
||||
get => iOffsetColumns;
|
||||
set => iOffsetColumns = value;
|
||||
}
|
||||
|
||||
// The grid of cells
|
||||
public IList<IList<Cell>> Cells { get; private set; }
|
||||
= new List<IList<Cell>>();
|
||||
|
||||
// Optional names for columns and rows
|
||||
public IList<string> ColumnNames { get; private set; }
|
||||
= new List<string>();
|
||||
public IList<string> RowNames { get; private set; }
|
||||
= new List<string>();
|
||||
|
||||
public Table() { }
|
||||
|
||||
|
||||
|
||||
public void AddColumnExcel(string nameStart, string nameEnd)
|
||||
{
|
||||
int distance = CommonExcell.GetColumnDistance(nameStart, nameEnd);
|
||||
int iStart = CommonExcell.ColumnToNumber(nameStart);
|
||||
AddColumn(nameStart);
|
||||
for (int i = 0; i < distance; i++)
|
||||
{
|
||||
AddColumn(CommonExcell.GetExcelColumnByDistance(nameStart, i+1));
|
||||
}
|
||||
}
|
||||
|
||||
public void GenerateTable_RowsColumns_Excel(string nameStart, string nameEnd, int iRowsCount)
|
||||
{
|
||||
AddColumnExcel(nameStart, nameEnd);
|
||||
|
||||
for (int i = 0; i < iRowsCount; i++)
|
||||
{
|
||||
AddRow(i.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a new column (with optional name) and returns its index.
|
||||
/// </summary>
|
||||
public int AddColumn(string name = null)
|
||||
{
|
||||
int colIndex = ColumnNames.Count;
|
||||
ColumnNames.Add(name);
|
||||
|
||||
// Grow every existing row by one
|
||||
for (int r = 0; r < Cells.Count; r++)
|
||||
{
|
||||
Cells[r].Add(new Cell(colIndex, r, new XLCellValue(), name, RowNames[r]));
|
||||
}
|
||||
|
||||
return colIndex;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a new row (with optional name) and returns its index.
|
||||
/// </summary>
|
||||
public int AddRow(string name = null)
|
||||
{
|
||||
int rowIndex = Cells.Count;
|
||||
RowNames.Add(name);
|
||||
|
||||
var newRow = new List<Cell>(ColumnNames.Count);
|
||||
// Initialize with empty cells
|
||||
for (int c = 0; c < ColumnNames.Count; c++)
|
||||
{
|
||||
newRow.Add(new Cell(c, rowIndex, new XLCellValue(), ColumnNames[c], name));
|
||||
}
|
||||
|
||||
Cells.Add(newRow);
|
||||
return rowIndex;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Ensures the given [row,col] exists, creating rows/columns as needed.
|
||||
/// </summary>
|
||||
private void EnsurePosition(int rowIndex, int colIndex)
|
||||
{
|
||||
while (Cells.Count <= rowIndex)
|
||||
AddRow();
|
||||
|
||||
var row = Cells[rowIndex];
|
||||
while (row.Count <= colIndex)
|
||||
AddColumn();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the value of the cell at [rowIndex, colIndex].
|
||||
/// </summary>
|
||||
public void AddCell(int rowIndex, int colIndex, XLCellValue value)
|
||||
{
|
||||
EnsurePosition(rowIndex, colIndex);
|
||||
Cells[rowIndex][colIndex].Value = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Sets the value of the cell at [rowIndex, columnName].
|
||||
/// If the columnName doesn’t exist yet, it’s created.
|
||||
/// </summary>
|
||||
public void AddCell(int rowIndex, string columnName, XLCellValue value)
|
||||
{
|
||||
int colIndex = ColumnNames.IndexOf(columnName);
|
||||
if (colIndex < 0)
|
||||
colIndex = AddColumn(columnName);
|
||||
|
||||
AddCell(rowIndex, colIndex, value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves a cell by numeric coordinates.
|
||||
/// </summary>
|
||||
public Cell GetCell(int rowIndex, int colIndex)
|
||||
=> Cells[rowIndex][colIndex];
|
||||
|
||||
/// <summary>
|
||||
/// Retrieves a cell by rowIndex and columnName.
|
||||
/// </summary>
|
||||
public Cell GetCell(int rowIndex, string columnName)
|
||||
{
|
||||
int colIndex = ColumnNames.IndexOf(columnName);
|
||||
if (colIndex < 0)
|
||||
throw new ArgumentException($"Column '{columnName}' not found.");
|
||||
return GetCell(rowIndex, colIndex);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes the entire table into the given worksheet,
|
||||
/// optionally including the header row of column names.
|
||||
/// </summary>
|
||||
public void ToWorksheet(IXLWorksheet ws, bool includeHeaders = true)
|
||||
{
|
||||
int startRow = 1;
|
||||
if (includeHeaders)
|
||||
{
|
||||
for (int c = 0; c < ColumnNames.Count; c++)
|
||||
ws.Cell(1, c + 1).Value = ColumnNames[c] ?? string.Empty;
|
||||
startRow = 2;
|
||||
}
|
||||
|
||||
for (int r = 0; r < Cells.Count; r++)
|
||||
{
|
||||
for (int c = 0; c < Cells[r].Count; c++)
|
||||
{
|
||||
ws.Cell(r + startRow, c + 1).Value = Cells[r][c].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Writes the entire table into the given worksheet,
|
||||
/// optionally including the header row of column names.
|
||||
/// </summary>
|
||||
public void ToWorksheetWithOffset(IXLWorksheet ws, int rowsOffset = 1, int columnsOffset = 0, bool includeHeaders = true)
|
||||
{
|
||||
|
||||
|
||||
int startRow = rowsOffset;
|
||||
if (includeHeaders)
|
||||
{
|
||||
for (int c = 0; c < ColumnNames.Count; c++)
|
||||
ws.Cell(1, c + 1).Value = ColumnNames[c] ?? string.Empty;
|
||||
startRow = 2;
|
||||
}
|
||||
|
||||
for (int r = 0; r < Cells.Count; r++)
|
||||
{
|
||||
for (int c = 0; c < Cells[r].Count; c++)
|
||||
{
|
||||
if(!(Cells[r][c].Value.IsBlank || Cells[r][c].Value.Type == XLDataType.Blank))
|
||||
{
|
||||
ws.Cell(r + startRow, c + 1 + columnsOffset).Value = Cells[r][c].Value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns all cells in the given row (by zero‐based index).
|
||||
/// </summary>
|
||||
public IList<Cell> GetRow(int rowIndex)
|
||||
{
|
||||
if (rowIndex < 0 || rowIndex >= Cells.Count)
|
||||
throw new IndexOutOfRangeException($"Row {rowIndex} does not exist.");
|
||||
return Cells[rowIndex];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns all cells in the given column (by zero‐based index).
|
||||
/// </summary>
|
||||
public IList<Cell> GetColumn(int colIndex)
|
||||
{
|
||||
if (colIndex < 0 || colIndex >= ColumnNames.Count)
|
||||
throw new IndexOutOfRangeException($"Column {colIndex} does not exist.");
|
||||
var list = new List<Cell>();
|
||||
for (int r = 0; r < Cells.Count; r++)
|
||||
{
|
||||
// skip if that row hasn’t grown that far yet
|
||||
if (Cells[r].Count > colIndex)
|
||||
list.Add(Cells[r][colIndex]);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,133 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2023 Sensus Slovensko a.s.
|
||||
///
|
||||
|
||||
using System.Collections.Generic;
|
||||
using Common;
|
||||
|
||||
namespace Results.Uncertainty
|
||||
{
|
||||
/// <summary>
|
||||
/// Action of a DataEntry field
|
||||
/// </summary>
|
||||
public enum Ac
|
||||
{
|
||||
[Description("Clear")] Clear, /// Clear when the form is open, save on OK
|
||||
[Description("Last from history")] HistoryLast,
|
||||
[Description("Load")] Load, /// Load from water meters when the form is open, save on OK
|
||||
[Description("Load (readonly)")] LoadReadOnly, /// Load from water meters when the form is open, prevent changes, do not save
|
||||
[Description("Set")] Set, /// Set to 'yes' when the form is open
|
||||
Count,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Content of a DataEntry field
|
||||
/// </summary>
|
||||
public enum Ct
|
||||
{
|
||||
[Description("None")] None,
|
||||
[Description("Serial nr.")] SerialNr,
|
||||
[Description("Serial nr. aux")] SerialNrAux,
|
||||
[Description("Radio address")] RadioAddress,
|
||||
[Description("Year of calibration")] YearOfCalibration,
|
||||
[Description("Start state")] StartState,
|
||||
[Description("Start state aux")] StartStateAux,
|
||||
[Description("End state")] EndState,
|
||||
[Description("End state aux")] EndStateAux,
|
||||
[Description("Archive path")] ArchivePath,
|
||||
[Description("WM Order")] WmOrder,
|
||||
[Description("Batch order")] BatchOrder,
|
||||
[Description("Batch and WM order")] BatchAndWmOrder,
|
||||
[Description("WM Remark")] WmRemark,
|
||||
[Description("Batch remark")] BatchRemark,
|
||||
[Description("Batch and WM remark")] BatchAndWmRemark,
|
||||
[Description("Print label")] PrintLabel,
|
||||
#if ORACLE_DB
|
||||
[Description("Prefix")] Prefix,
|
||||
[Description("Suffix")] Suffix,
|
||||
#endif
|
||||
Count
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Function of the multi purpose button
|
||||
/// </summary>
|
||||
public enum MultiPurposeBtnFunction
|
||||
{
|
||||
None,
|
||||
AutoSN,
|
||||
PrintLabelsOnOff,
|
||||
}
|
||||
|
||||
///
|
||||
/// Identifies image instance
|
||||
///
|
||||
public enum Tst
|
||||
{
|
||||
Start,
|
||||
End,
|
||||
Both,
|
||||
Collect,
|
||||
}
|
||||
|
||||
///
|
||||
/// Image rotation
|
||||
///
|
||||
public enum Rotation
|
||||
{
|
||||
R0,
|
||||
R90,
|
||||
R180,
|
||||
R270,
|
||||
Count
|
||||
}
|
||||
|
||||
public class DEItem
|
||||
{
|
||||
public readonly Ct Content;
|
||||
public readonly string Caption;
|
||||
public readonly Ac Action;
|
||||
public readonly int Width;
|
||||
|
||||
public DEItem(Ct content, string caption, Ac action, int width)
|
||||
{
|
||||
Content = content;
|
||||
Caption = caption;
|
||||
Action = action;
|
||||
Width = width;
|
||||
}
|
||||
|
||||
|
||||
static IList<DEItem> items = new List<DEItem>();
|
||||
///
|
||||
public static void ClearItems() { items.Clear(); }
|
||||
public static void AddItem(DEItem item) { items.Add(item); }
|
||||
public static void AddItem(Ct content, string caption, Ac action, int width)
|
||||
{
|
||||
items.Add(new DEItem(content, caption, action, width));
|
||||
}
|
||||
public static IList<DEItem> GetItems() { return items; }
|
||||
|
||||
|
||||
static IList<DEItem> columns = new List<DEItem>();
|
||||
///
|
||||
public static void ClearColumns() { columns.Clear(); }
|
||||
public static void AddColumn(DEItem column) { columns.Add(column); }
|
||||
public static void AddColumn(Ct content, string caption, Ac action, int width)
|
||||
{
|
||||
columns.Add(new DEItem(content, caption, action, width));
|
||||
}
|
||||
public static IList<DEItem> GetColumns() { return columns; }
|
||||
|
||||
|
||||
static IList<DEItem> summaryColumns = new List<DEItem>();
|
||||
///
|
||||
public static void ClearSummaryColumns() { summaryColumns.Clear(); }
|
||||
public static void AddSummaryColumn(DEItem column) { summaryColumns.Add(column); }
|
||||
public static void AddSummaryColumn(Ct content, string caption, Ac action, int width)
|
||||
{
|
||||
summaryColumns.Add(new DEItem(content, caption, action, width));
|
||||
}
|
||||
public static IList<DEItem> GetSummaryColumns() { return summaryColumns; }
|
||||
}
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018-2023 Sensus Slovensko a.s.
|
||||
///
|
||||
|
||||
using System.Windows.Forms;
|
||||
using Results.Entities;
|
||||
|
||||
namespace Results.Uncertainty
|
||||
{
|
||||
public class Strings
|
||||
{
|
||||
public static string yes = "yes";
|
||||
public static string no = "no";
|
||||
}
|
||||
|
||||
public class DEUtils
|
||||
{
|
||||
public static string GetContent(Ct content, WaterMeter wm)
|
||||
{
|
||||
if (wm == null) return string.Empty;
|
||||
|
||||
switch (content)
|
||||
{
|
||||
default:
|
||||
case Ct.None: return string.Empty;
|
||||
case Ct.SerialNr: return (!wm.Disabled && wm.SerialNr != null) ? wm.SerialNr : string.Empty;
|
||||
case Ct.SerialNrAux: return (!wm.Disabled && wm.SerialNrAux != null) ? wm.SerialNrAux : string.Empty;
|
||||
case Ct.RadioAddress: return (!wm.Disabled && wm.RadioAddress != null) ? wm.RadioAddress : string.Empty;
|
||||
case Ct.YearOfCalibration: return (!wm.Disabled) ? wm.YearOfProduction.ToString() : string.Empty;
|
||||
case Ct.StartState: return (!wm.Disabled && wm.GetStartState() != null) ? wm.GetStartState() : string.Empty;
|
||||
case Ct.StartStateAux: return string.Empty;
|
||||
case Ct.EndState: return (!wm.Disabled && wm.EndState != null) ? wm.EndState : string.Empty;
|
||||
case Ct.EndStateAux: return (!wm.Disabled && wm.GetEndStateAux() != null) ? wm.GetEndStateAux() : string.Empty;
|
||||
case Ct.ArchivePath: return (!wm.Disabled && wm.ArchivePath != null) ? wm.ArchivePath : string.Empty;
|
||||
|
||||
case Ct.WmOrder: return (!wm.Disabled && wm.PurchaseOrder != null) ? wm.PurchaseOrder : string.Empty;
|
||||
case Ct.BatchOrder: return (wm.Batch != null && wm.Batch.PurchaseOrder != null) ? wm.Batch.PurchaseOrder : string.Empty;
|
||||
case Ct.BatchAndWmOrder: return (wm.Batch != null && wm.Batch.PurchaseOrder != null) ? wm.Batch.PurchaseOrder : string.Empty;
|
||||
|
||||
case Ct.WmRemark: return (!wm.Disabled && wm.Remark != null) ? wm.Remark : string.Empty;
|
||||
case Ct.BatchRemark: return (wm.Batch != null && wm.Batch.Remark != null) ? wm.Batch.Remark : string.Empty;
|
||||
case Ct.BatchAndWmRemark: return (wm.Batch != null && wm.Batch.Remark != null) ? wm.Batch.Remark : string.Empty;
|
||||
case Ct.PrintLabel: return wm.PrintLabel ? Strings.yes : Strings.no;
|
||||
#if ORACLE_DB
|
||||
case Ct.Prefix: return (!wm.Disabled && wm.Prefix != null) ? wm.Prefix : string.Empty;
|
||||
case Ct.Suffix: return (!wm.Disabled && wm.Suffix != null) ? wm.Suffix : string.Empty;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
public static void PutContent(Ct content, WaterMeter wm, string value)
|
||||
{
|
||||
if (wm == null || wm.Disabled) return;
|
||||
|
||||
int year;
|
||||
|
||||
switch (content)
|
||||
{
|
||||
default:
|
||||
case Ct.None: return;
|
||||
case Ct.SerialNr: wm.SerialNr = value; return;
|
||||
case Ct.SerialNrAux: wm.SerialNrAux = value; return;
|
||||
case Ct.RadioAddress: wm.RadioAddress = value; return;
|
||||
case Ct.YearOfCalibration: if (int.TryParse(value, out year)) wm.YearOfProduction = year; return;
|
||||
case Ct.StartState: wm.SetStartState(value); return;
|
||||
case Ct.StartStateAux: return;
|
||||
case Ct.EndState: wm.EndState = value; return;
|
||||
case Ct.EndStateAux: wm.SetEndStateAux(value); return;
|
||||
case Ct.ArchivePath: wm.ArchivePath = value; return;
|
||||
|
||||
case Ct.WmOrder:
|
||||
wm.PurchaseOrder = value;
|
||||
return;
|
||||
|
||||
case Ct.BatchOrder:
|
||||
case Ct.BatchAndWmOrder:
|
||||
if (wm.Batch != null) wm.Batch.PurchaseOrder = value;
|
||||
return;
|
||||
|
||||
case Ct.WmRemark:
|
||||
wm.Remark = value;
|
||||
return;
|
||||
|
||||
case Ct.BatchRemark:
|
||||
case Ct.BatchAndWmRemark:
|
||||
if (wm.Batch != null) wm.Batch.Remark = value;
|
||||
return;
|
||||
|
||||
case Ct.PrintLabel:
|
||||
wm.PrintLabel = (value == Strings.yes);
|
||||
return;
|
||||
#if ORACLE_DB
|
||||
case Ct.Prefix: wm.Prefix = value; return;
|
||||
case Ct.Suffix: wm.Suffix = value; return;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Load Purchase order combo box items from the LocalSettings PurchaseOrderHistory array
|
||||
/// </summary>
|
||||
/// <param name="comboBox">Puchase order ComboBox</param>
|
||||
public static void PrepareCombo(ComboBox comboBox, string[] history, bool emptyOnStart = false)
|
||||
{
|
||||
int historyLen = (history != null) ? history.Length : 0;
|
||||
|
||||
if (!emptyOnStart && (historyLen > 0))
|
||||
{
|
||||
comboBox.Text = history[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
comboBox.Text = string.Empty;
|
||||
}
|
||||
|
||||
for (int i = 0; i < historyLen; i++)
|
||||
{
|
||||
comboBox.Items.Add(history[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
using System;
|
||||
using System.ComponentModel;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Results.Uncertainty
|
||||
{
|
||||
public enum DocumentSheets
|
||||
{
|
||||
[Description("RADATA")] RADATA,
|
||||
[Description("DATA")] DATA,
|
||||
[Description("IC")] IC,
|
||||
[Description("CERTIFICATE")] CERTIFICATE,
|
||||
[Description("L")] L,
|
||||
[Description("REF METER CC")] REF_METER_CC,
|
||||
[Description("Meter1ALL")] Meter1ALL,
|
||||
[Description("UNCTABLE")] UNCTABLE,
|
||||
[Description("CC")] CC,
|
||||
[Description("CALINPUTS")] CALIMPUTS,
|
||||
[Description("UNCTEST1")] UNCTEST1,
|
||||
[Description("UNCTEST2")] UNCTEST2,
|
||||
[Description("UNCTEST3")] UNCTEST3,
|
||||
[Description("UNCTEST4")] UNCTEST4,
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static class EnumExtensions
|
||||
{
|
||||
public static string GetDescription(this Enum value)
|
||||
{
|
||||
FieldInfo field = value.GetType().GetField(value.ToString());
|
||||
DescriptionAttribute attribute = field?.GetCustomAttribute<DescriptionAttribute>();
|
||||
|
||||
return attribute?.Description ?? value.ToString();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,325 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using Common;
|
||||
using Results.Entities;
|
||||
|
||||
namespace Results.Uncertainty
|
||||
{
|
||||
public class ProcessDataLine
|
||||
{
|
||||
public DateTime DateTime;
|
||||
public int Batch; //"B" //Batch - B
|
||||
public string TestName; //"C", "Q1 (1/5)", formatStr); //Test Name - C
|
||||
public int Reports; //"D", 5, formatInt); //Reports
|
||||
public int RepCyc; //"E", 1, formatInt); //Rep cyc
|
||||
public string TestMeth; //"F", "FlyingStartMassCollection", formatStr); //Test Meth.
|
||||
public int TargetVOL; //"G", 1, formatInt); //Target VOL.
|
||||
public double TargetQMin; //"H", 0.005, formatD4); //Target Q -
|
||||
public double TargetQPlus; //"I", 0.0055, formatD4); //Target Q +
|
||||
public int ErrLimitMin; //"J", -2, formatInt); //Err. LIMIT -
|
||||
public int ErrLimitPlus; //"K", -2, formatInt); //Err. LIMIT +
|
||||
public int TargetTempFrom; //"L", 15, formatInt); //Target temp from - L
|
||||
public int TargetTempTo; //"M", 25, formatInt); //Target temp to - M
|
||||
public int TargetPressFrom; //"N", 0, formatInt); //Target press from - N
|
||||
public int TargetPressTo; //"O", 16, formatInt); //Target press to - O
|
||||
public string MIDNumberName; //"P", "I4", formatStr);
|
||||
public double MIDNumberValue; //"Q", 998.1848d, formatD4); //MID number - PQ
|
||||
public string COR; //"R", "WT2", formatStr); //COR - R
|
||||
public double TempAmbM; //"S", 20.0, formatD1); //Temp.Amb M - S
|
||||
public int PressAmbM; //"T", 1010, formatInt); //Press.Amb M - T
|
||||
public double HumidAmbM; //"U", 52.7, formatD1); //Humid.Amb M - U
|
||||
public int PressUpME; //"V", 272, formatInt); //Press. UP ME - V
|
||||
public int PressDwME; //"W", 277, formatInt); //Press. DW ME - W
|
||||
public int PressDeME; //"X", 0, formatInt); //Press. DE ME - X
|
||||
public int PressUpST; //"Y", 272, formatInt); //Press. UP ST - Y
|
||||
public int PressDwST; //"Z", 277, formatInt); //Press. DW ST - Z
|
||||
public int PressDES; //"AA", 0, formatInt); //Press. DES - AA
|
||||
public int PressUpEN; //"AB", 271, formatInt); //Press UP EN - AB
|
||||
public int PressDwEN; //"AC", 276, formatInt); //Press DW EN
|
||||
public int PressDEE; //"AD", 0, formatInt); //Press. DEE
|
||||
public double TempUpME; //"AE", 17.27103, formatD4); //Temp. UP ME
|
||||
public double TempDwME; //"AF", 17.84066, formatD4); //Temp. DW ME
|
||||
public double TempDiME; //"AG", 18.25793, formatD4); //Temp. DI ME
|
||||
public double TempLoME; //"AH", 0, formatD4); //Temp. LO ME
|
||||
public double TempHiME; //"AI", 0, formatD4); //Temp. HI ME
|
||||
public double TempUpST; //"AJ", 17.18227, formatD4); //Temp. UP ST
|
||||
public double TempDwST; //"AK", 17.78378, formatD4); //Temp. DW ST
|
||||
public double TempDiST; //"AL", 18.1312, formatD4); //Temp. DI ST
|
||||
public double TempLoST; //"AM", 0, formatD4); //Temp. LO ST
|
||||
public double TempHiST; //"AN", 0, formatD4); //Temp. HI ST
|
||||
public double TempUpEN; //"AO", 17.3036, formatD4); //Temp. UP EN
|
||||
public double TempDwEN; //"AP", 17.88913, formatD4); //Temp. DW EN
|
||||
public double TempDiEN; //"AQ", 18.35797, formatD4); //Temp. DI EN
|
||||
public double TempLoEN; //"AR", 0, formatD4); //Temp. LO EN
|
||||
public double TempHiEN; //"AS", 0, formatD4); //Temp. HI EN
|
||||
|
||||
//Mass vakues
|
||||
public double MassStRaw; // "AT", iRowI, 18.104, formatD3); //Mass ST raw()
|
||||
public double MassSt; // "AU", iRowI, 18.104, formatD3); //Mass ST ()
|
||||
public double MassEnRaw; // "AV", iRowI, 19.087, formatD3); //Mass EN raw()
|
||||
public double MassEn; // "AW", iRowI, 19.087, formatD3); //Mass EN ()
|
||||
public double Mass; // "AX", iRowI, 0.983, formatD3); //Mass
|
||||
|
||||
//calculated values
|
||||
public double RoWa; // "AY", iRowI, 999.0094727, formatD7); //Ro Wa
|
||||
public double TempLnME; // "AZ", iRowI, 17.55585, formatD7); //Temp. LN ME
|
||||
public double RoWat; // "BA", iRowI, 999.2654076, formatD7); //Ro Wat
|
||||
public double RoAir; // "BB", iRowI, 0, formatD7); // Ro AIR
|
||||
public double Kbuoyancy; // "BC", iRowI, 1.00103, formatD7); // Kbuoyancy
|
||||
public int DensityOfSample; // "BD", iRowI, 998, formatInt); //Density of sample
|
||||
public int TTempRO; // "BE", iRowI, 23, formatInt); //TTemp. RO()
|
||||
|
||||
public double QMax; // "BF", iRowI, 0.00539688, formatD7); //Q max ()
|
||||
public double QMin; // "BG", iRowI, 0.005288206, formatD7); //Q min ()
|
||||
public double QMean; // "BH", iRowI, 0.005257821, formatD7); //Q mean
|
||||
public double Qctv; ///< "BI", iRowI, 23, formatD7); //Qctv
|
||||
public double VolRI; // "BJ", iRowI, 1.00006944444444, formatD7); //Vol. RI
|
||||
public double DivCorrection; // "BK", iRowI, 0, formatD3); //Div correction
|
||||
public double T; // "BL", iRowI, 674.242981, formatD3); //T(s)()
|
||||
|
||||
public double ERelRef; ///< "BM", iRowI, 1.557125667, formatD7); //E rel.ref. ()
|
||||
|
||||
//CellData(worksheet, "BN", iRowI, , formatD7);
|
||||
public int KMind; ///< "BO", iRowI, 14400, formatInt); //K MID ()
|
||||
//CellData(worksheet, "BP", iRowI, , formatInt);//Const.MAS
|
||||
|
||||
//Additional values
|
||||
public int DiverterStartTime; //"BQ", iRowI, 84, formatInt); //Diverter start time
|
||||
|
||||
public int DiverterEndTime; //"BR", iRowI, 86, formatInt); //Diverter end time
|
||||
|
||||
public int DiverterStartValeveOpenTime;//"BS", iRowI, 0, formatInt); // /// BS [ms] Start valve open time
|
||||
public int DiverterStartValeveCloseTime;//"BT", iRowI, 0, formatInt); // /// BT [ms] Start valve close time
|
||||
|
||||
public double TempUpMax; //"BU", iRowI, 17.40029, formatD7); //Temp. UP max
|
||||
public double TempDwMax; //"BV", iRowI, 17.91978, formatD7); // Temp DW max
|
||||
public double TempUpMin; //"BW", iRowI, 17.14815, formatD7); //Temp UP min
|
||||
public double TempDwMin; //"BX", iRowI, 17.74739, formatD7); //Temp DW min
|
||||
public double TempT10; //"BY", iRowI, 0, formatD7); //10 - T1,2
|
||||
|
||||
public double TempAmbEn; //"BZ", iRowI, 20.1, formatD1); //Temp Amb En
|
||||
public int PressAmbEn; //"CA", iRowI, 1010, formatInt); //Press Amb En
|
||||
public double HumAmbEn; //"CB", iRowI, 52.8, formatD1); //Hum Amb En
|
||||
|
||||
//checking
|
||||
|
||||
public int RefPulses; //"CC", iRowI, 14401, formatInt); //Ref pulses()
|
||||
public int DiverterTestTimeCorrection; //CellData(worksheet, "CD", iRowI, , formatInt); /// CD [ms] Diverter test time correction
|
||||
|
||||
public IList<ProcessDataMeterLine> processDataMeterList = new List<ProcessDataMeterLine>();
|
||||
|
||||
|
||||
|
||||
public void InitDefault()
|
||||
{
|
||||
DateTime = DateTime.Now;
|
||||
Batch = 914;
|
||||
TestName = "Q1 (1/5)";
|
||||
Reports = 5;
|
||||
RepCyc = 1;
|
||||
TestMeth = "FlyingStartMassCollection";
|
||||
TargetVOL = 1;
|
||||
TargetQMin = 0.005;
|
||||
TargetQPlus = 0.0055;
|
||||
ErrLimitMin = -2;
|
||||
ErrLimitPlus = -2;
|
||||
TargetTempFrom = 15;
|
||||
TargetTempTo = 25;
|
||||
TargetPressFrom = 0;
|
||||
TargetPressTo = 16;
|
||||
MIDNumberName = "I4";
|
||||
MIDNumberValue = 998.1848d;
|
||||
COR = "WT2";
|
||||
TempAmbM = 20.0;
|
||||
PressAmbM = 1010;
|
||||
HumidAmbM = 52.7;
|
||||
PressUpME = 272;
|
||||
PressDwME = 277;
|
||||
PressDeME = 0;
|
||||
PressUpST = 272;
|
||||
PressDwST = 277;
|
||||
PressDES = 0;
|
||||
PressUpEN = 271;
|
||||
PressDwEN = 276;
|
||||
PressDEE = 0;
|
||||
TempUpME = 17.27103;
|
||||
TempDwME = 17.84066;
|
||||
TempDiME = 18.25793;
|
||||
TempLoME = 0;
|
||||
TempHiME = 0;
|
||||
TempUpST = 17.18227;
|
||||
TempDwST = 17.78378;
|
||||
TempDiST = 18.1312;
|
||||
TempLoST = 0;
|
||||
TempHiST = 0;
|
||||
TempUpEN = 17.3036;
|
||||
TempDwEN = 17.88913;
|
||||
TempDiEN = 18.35797;
|
||||
TempLoEN = 0;
|
||||
TempHiEN = 0;
|
||||
MassStRaw = 18.104;
|
||||
MassSt = 18.104;
|
||||
MassEnRaw = 19.087;
|
||||
MassEn = 19.087;
|
||||
Mass = 0.983;
|
||||
RoWa = 999.0094727;
|
||||
TempLnME = 17.55585;
|
||||
RoWat = 999.2654076;
|
||||
RoAir = 0;
|
||||
Kbuoyancy = 1.00103;
|
||||
DensityOfSample = 998;
|
||||
TTempRO = 23;
|
||||
QMax = 0.00539688;
|
||||
QMin = 0.005288206;
|
||||
QMean = 0.005257821;
|
||||
Qctv = 23;
|
||||
VolRI = 1.00006944444444;
|
||||
DivCorrection = 0;
|
||||
T = 674.242981;
|
||||
ERelRef = 1.557125667;
|
||||
KMind = 14400;
|
||||
DiverterStartTime = 84;
|
||||
DiverterEndTime = 86;
|
||||
TempUpMax = 17.40029;
|
||||
TempDwMax = 17.91978;
|
||||
TempUpMin = 17.14815;
|
||||
TempDwMin = 17.74739;
|
||||
TempT10 = 0;
|
||||
TempAmbEn = 20.1;
|
||||
PressAmbEn = 1010;
|
||||
HumAmbEn = 52.8;
|
||||
RefPulses = 14401;
|
||||
DiverterTestTimeCorrection = 0;
|
||||
for (int i = 0; i < 3; i++)
|
||||
{
|
||||
|
||||
|
||||
ProcessDataMeterLine meterLine = new ProcessDataMeterLine();
|
||||
meterLine.InitDefault();
|
||||
meterLine.val[0] = $"XXXX{i}";
|
||||
processDataMeterList.Add(meterLine);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void Init(Results.Entities.TestRslt tstRslt)
|
||||
{
|
||||
|
||||
bool isPMaxTest = tstRslt.IsPMaxTest();
|
||||
bool isStartStop = tstRslt.IsStartStop();
|
||||
bool isDiverter = tstRslt.IsDiverter();
|
||||
bool isVolumeMethod = tstRslt.IsVolumeMethod();
|
||||
|
||||
DateTime =tstRslt.StartTime; /// A
|
||||
Batch = tstRslt.Batch.BatchNr; /// B
|
||||
/// Test information, target values, etc.
|
||||
TestName = tstRslt.Name(); /// C
|
||||
Reports = tstRslt.Repeats(); /// D
|
||||
RepCyc = tstRslt.RepetitionNr; /// E
|
||||
TestMeth = tstRslt.Method(); /// F
|
||||
TargetVOL = Convert.ToInt32(tstRslt.TargetVolume()); /// G
|
||||
TargetQMin = tstRslt.Qfrom(); /// H
|
||||
TargetQPlus = tstRslt.Qto(); /// I
|
||||
ErrLimitMin = Convert.ToInt32(tstRslt.ErrLimLo() + tstRslt.ErrLimMargin()); /// J
|
||||
ErrLimitPlus = Convert.ToInt32(tstRslt.ErrLimHi() - tstRslt.ErrLimMargin()); /// K
|
||||
TargetTempFrom = Convert.ToInt32(Double.Parse(string.Format("{0:F1}", tstRslt.TempLimLo()))); /// L
|
||||
TargetTempTo = Convert.ToInt32(Double.Parse(string.Format("{0:F1}", tstRslt.TempLimHi()))); /// M
|
||||
TargetPressFrom = 0; /// N
|
||||
TargetPressTo = 16; /// O
|
||||
MIDNumberName = tstRslt.RefFlowmeter(); /// P
|
||||
MIDNumberValue = Double.Parse(string.Format("{0:F4}", Formulas.DistilledWaterDensityFromTemp(tstRslt.AmbTempMean))); /// Q [kg/m3] hustota vody pri teplote okolia z priemernej teploty okolia bez korekcie na realnu hustotu vody
|
||||
COR = ((tstRslt.Components != null) ? tstRslt.Components.Scale : string.Empty); /// R
|
||||
|
||||
/// Ambient
|
||||
TempAmbM = Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.C, tstRslt.AmbTempStart))); /// S [°C]
|
||||
PressAmbM = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.mbar, tstRslt.AmbPressStart)))); /// T [mbar]
|
||||
HumidAmbM = Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.RPct, tstRslt.AmbHumiStart))); /// U [R%]
|
||||
|
||||
/// Pressure
|
||||
PressUpME = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.kPa, tstRslt.PressUpMean)))); /// V [kPa]
|
||||
PressDwME = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.kPa, tstRslt.PressDownMean)))); /// W [kPa]
|
||||
PressDeME = Convert.ToInt32(Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.kPa, tstRslt.PressDeltaMean)))); /// X [kPa]
|
||||
PressUpST = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.kPa, tstRslt.PressUpStart)))); /// Y [kPa]
|
||||
PressDwST = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.kPa, tstRslt.PressDownStart)))); /// Z [kPa]
|
||||
PressDES = Convert.ToInt32(Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.kPa, tstRslt.PressDeltaStart)))); /// AA [kPa]
|
||||
PressUpEN = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.kPa, tstRslt.PressUpEnd)))); /// AB [kPa]
|
||||
PressDwEN = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.kPa, tstRslt.PressDownEnd)))); /// AC [kPa]
|
||||
PressDEE = Convert.ToInt32(Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.kPa, tstRslt.PressDeltaEnd)))); /// AD [kPa]
|
||||
|
||||
/// Temperature
|
||||
TempUpME = (Units.ConvertTo(Unit.C, tstRslt.TempUpMean)); /// AE [°C]
|
||||
TempDwME = (Units.ConvertTo(Unit.C, tstRslt.TempDownMean)); /// AF [°C]
|
||||
TempDiME = (Units.ConvertTo(Unit.C, tstRslt.TempDivMean)); /// AG [°C]
|
||||
TempLoME = (Units.ConvertTo(Unit.C, tstRslt.Custom1)); /// AH [°C] T hi mean
|
||||
TempHiME = (Units.ConvertTo(Unit.C, tstRslt.Custom6)); /// AI [°C] T lo mean
|
||||
TempUpST = (Units.ConvertTo(Unit.C, tstRslt.TempUpStart)); /// AJ [°C]
|
||||
TempDwST = (Units.ConvertTo(Unit.C, tstRslt.TempDownStart)); /// AK [°C]
|
||||
TempDiST = (Units.ConvertTo(Unit.C, tstRslt.TempDivStart)); /// AL [°C]
|
||||
TempLoST = (Units.ConvertTo(Unit.C, tstRslt.Custom2)); /// AM [°C] T hi start
|
||||
TempHiST = (Units.ConvertTo(Unit.C, tstRslt.Custom7)); /// AN [°C] T lo start
|
||||
TempUpEN = (Units.ConvertTo(Unit.C, tstRslt.TempUpEnd)); /// AO [°C]
|
||||
TempDwEN = (Units.ConvertTo(Unit.C, tstRslt.TempDownEnd)); /// AP [°C]
|
||||
TempDiEN = (Units.ConvertTo(Unit.C, tstRslt.TempDivEnd)); /// AQ [°C]
|
||||
TempLoEN = (Units.ConvertTo(Unit.C, tstRslt.Custom3)); /// AR [°C] T hi end
|
||||
TempHiEN = (Units.ConvertTo(Unit.C, tstRslt.Custom8)); /// AS [°C] T lo end
|
||||
|
||||
/// Mass
|
||||
MassStRaw = (tstRslt.MassStartRaw); /// AT [kg]
|
||||
MassSt = (tstRslt.MassStart); /// AU [kg]
|
||||
MassEnRaw = (tstRslt.MassEndRaw); /// AV [kg]
|
||||
MassEn = (tstRslt.MassEnd); /// AW [kg]
|
||||
Mass = (tstRslt.MassEnd - tstRslt.MassStart); /// AX [kg]
|
||||
|
||||
/// Density and buoyancy
|
||||
RoWa = (tstRslt.DensityDiv); /// AY [kg/m3]
|
||||
TempLnME = ((tstRslt.TempUpMean + tstRslt.TempDownMean) / 2); /// AZ [°C] Tline ... priemerna teplota v linii
|
||||
RoWat = (tstRslt.DensityLine); /// BA [kg/m3]
|
||||
RoAir = (tstRslt.MassOfEvapWater); /// BB [kg] mass of evaporated water
|
||||
Kbuoyancy = (tstRslt.Batch.Buoyancy); /// BC Buoyancy: Sheet1 - X9
|
||||
|
||||
DensityOfSample = Convert.ToInt32(tstRslt.Batch.SampleDensity); /// BD
|
||||
TTempRO = Convert.ToInt32(tstRslt.Batch.SampleTemp); /// BE
|
||||
QMax = (tstRslt.FlowMax); /// BF pipe expansion: teraz vynechat
|
||||
QMin = (tstRslt.FlowMin); /// BG [kg/h] Qm
|
||||
QMean = (tstRslt.Flow); /// BH [l/h] Qv
|
||||
Qctv = (tstRslt.VolumeCTV); /// BI [l] Vet .... komercne prava hodnota objemu - podla vahy
|
||||
VolRI = (tstRslt.VolumeMaster); /// BJ [l] Velm ... objem podla etalonu (Prolonged: objem do vahy podla impulzov hradlovanych klapkou)
|
||||
DivCorrection = (tstRslt.TestTimeCorrection); /// BK [s] test time correction (diverter correction)
|
||||
/// (ori.) BK [l] Vmass .. objem podla druheho etalonu / prietokomeru pred tratou (teraz vynechavame)
|
||||
T = (tstRslt.TestTime); /// BL [s]
|
||||
ERelRef = (isVolumeMethod ? Formulas.ErrorFromVolumes(tstRslt.ConstMasterCorr, tstRslt.ConstMasterRaw) : tstRslt.ErrorMaster);
|
||||
/// BM [%] Eelm .... chyba etalonu voci komercne pravej hodnote
|
||||
KMind = Convert.ToInt32((tstRslt.ConstMasterRaw != 0) ? (1 / tstRslt.ConstMasterRaw) : 0); /// BO [pls/l] Const.MID .. konstanta etalonu
|
||||
DiverterStartTime = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", isDiverter ? 1000.0F * tstRslt.DiverterStart : 0))); /// BQ [ms] Diverter start time
|
||||
DiverterEndTime = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", isDiverter ? 1000.0F * tstRslt.DiverterEnd : 0))); /// BR [ms] Diverter end time
|
||||
DiverterStartValeveOpenTime = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", isStartStop ? 1000.0F * tstRslt.DiverterStart : 0))); /// BS [ms] Start valve open time
|
||||
DiverterStartValeveCloseTime = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", isStartStop ? 1000.0F * tstRslt.DiverterEnd : 0))); /// BT [ms] Start valve close time
|
||||
|
||||
TempUpMax = (tstRslt.TempUpMax); /// BU [°C]
|
||||
TempDwMax = (tstRslt.TempDownMax); /// BV [°C]
|
||||
TempUpMin = (tstRslt.TempUpMin); /// BW [°C]
|
||||
TempDwMin = (tstRslt.TempDownMin); /// BX [°C]
|
||||
TempT10 = (isPMaxTest ? tstRslt.TestTime : 0); /// BY [s] Duration of the pressure test
|
||||
TempAmbEn = Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.C, tstRslt.AmbTempEnd))); /// BZ [°C]
|
||||
PressAmbEn = Convert.ToInt32(Double.Parse(string.Format("{0:F0}", Units.ConvertTo(Unit.mbar, tstRslt.AmbPressEnd)))); /// CA [mbar]
|
||||
HumAmbEn = Double.Parse(string.Format("{0:F1}", Units.ConvertTo(Unit.RPct, tstRslt.AmbHumiEnd))); /// CB [R%]
|
||||
RefPulses = Convert.ToInt32(tstRslt.PulsesMaster); /// CC Celkovy pocet et. pulzov skusky (Prolonged : do vahy)
|
||||
DiverterTestTimeCorrection = Convert.ToInt32(1000 * tstRslt.TestTimeCorrection); /// CD [ms] Diverter test time correction
|
||||
|
||||
BatchResults batchResults = BatchResults.FromBatch(tstRslt.Batch);
|
||||
for (int i = 0; i < batchResults.WMPositionsCount; i++)
|
||||
{
|
||||
if (batchResults.Batch.WaterMeters != null &&
|
||||
batchResults.Batch.WaterMeters.Count > i &&
|
||||
batchResults.Batch.WaterMeters[i] != null &&
|
||||
!batchResults.Batch.WaterMeters[i].Disabled)
|
||||
{
|
||||
|
||||
ProcessDataMeterLine meterLine = new ProcessDataMeterLine(tstRslt, batchResults, i);
|
||||
processDataMeterList.Add(meterLine);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,472 +0,0 @@
|
||||
using System;
|
||||
using ClosedXML.Excel;
|
||||
using Common;
|
||||
using Results.Entities;
|
||||
|
||||
|
||||
namespace Results.Uncertainty
|
||||
{
|
||||
public class ProcessDataMeterLine
|
||||
{
|
||||
public XLCellValue[] val = new XLCellValue[21];
|
||||
|
||||
/*public string SerNo; // "Diehl202415687905" , formatStr);//Position - Ser.No. - CE
|
||||
public int VolMtSt; // 0 , formatInt);//Vol.Mt.st - CF
|
||||
public int VolMtEn; // 0 , formatInt);//Vol.Mt.en - CG
|
||||
public double VolMt; // 0.975333560911164 , formatD7);//Vol.Mt. - CH
|
||||
public double VolRm; // 0.980633088, formatD7);//Vol.rm - CI
|
||||
|
||||
public double ERel; // -0.540418981321314 , formatD6); // E rel. - CJ
|
||||
|
||||
public int
|
||||
IPerlCalibrationFactor; // , formatInt); // U - CK // CK iPerl calibration factor used during the test / ...
|
||||
|
||||
public int Pulses; // 154 , formatInt); //Pulses() - CL
|
||||
public int RefPulsesNi; // 14341 , formatInt); //Ref pulses_ni() - CM
|
||||
public double T; // 671.4207764 , formatD4); //T(s)()_ni -CN
|
||||
public string Evaluation; // "OK" , formatStr);//evaluation - CO
|
||||
public double PulsesL; // 157.8947 , formatD4);//Pulses/l - CP
|
||||
public int ImpL; // 4 , formatInt);//imp/l - CQ
|
||||
public int Div; // 0 , formatInt);//div - CR
|
||||
public int VEnd; // 0 , formatInt);//Vend
|
||||
public int TEnd; // 0 , formatInt);//T end
|
||||
|
||||
public string[] SmryItems = new string[5]; // - 0/// CU - 1/// CV - 2/// CW - 3/// CX - 4/// CY
|
||||
|
||||
*/
|
||||
public ProcessDataMeterLine(TestRslt tstRslt, BatchResults batchResults, int wmNr0)
|
||||
{
|
||||
var wm = batchResults.Batch.WaterMeters[wmNr0];
|
||||
var smryItems = DEItem.GetSummaryColumns();
|
||||
|
||||
{
|
||||
if (!wm.Compound() && !wm.HeatMeter())
|
||||
{
|
||||
/// If this is a single meter
|
||||
|
||||
Results.Entities.MeterTestRslt mtrRslt =
|
||||
batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.Single);
|
||||
|
||||
if (mtrRslt != null)
|
||||
{
|
||||
bool isCamera = (mtrRslt.RegReaderType == (int)RegisterReaderType.Camera);
|
||||
|
||||
val[0] = wm.SerialNr; /// CE WM Ser.No.
|
||||
val[1] = mtrRslt
|
||||
.VolumeStart; /// CF WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
val[2] = mtrRslt
|
||||
.VolumeEnd; /// CG WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
val[3] = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
||||
val[4] = mtrRslt.VolumeRef; /// CI WM Vref - objem namerany stanicou
|
||||
val[5] = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
||||
#if IPERL
|
||||
val[6] = wm.CalibFactor; /// CK iPerl calibration factor used during the test / ...
|
||||
#else
|
||||
val[6] = 0; /// CK nechat prazdne
|
||||
#endif
|
||||
val[7] = Convert.ToInt32(mtrRslt
|
||||
.PulsesMeter); /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
||||
val[8] = Convert.ToInt32(mtrRslt
|
||||
.PulsesMaster); /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
val[9] = mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
val[10] = mtrRslt.Passed
|
||||
? "OK"
|
||||
: "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
#if IPERL
|
||||
val[11] =
|
||||
mtrRslt.WaterMeter.Q2CorrRL; /// CP iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
||||
#else
|
||||
val[11] = mtrRslt.PulsesPerLiter; /// CP Pulses per liter
|
||||
#endif
|
||||
val[12] = Convert.ToInt32(isCamera
|
||||
? mtrRslt.VolumeStart * mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
||||
: wm.WMPosition); /// CQ WMPosition (normalne)
|
||||
val[13] = Convert.ToInt32(isCamera
|
||||
? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
||||
: 0); /// CR not used/spare (normalne)
|
||||
|
||||
//TODO - Time start is in table as VEnd ??? check it
|
||||
val[14] = Convert.ToInt32(mtrRslt.TimestampStart); /// CS WM Time_start - ' ' -
|
||||
val[15] = Convert.ToInt32(mtrRslt.TimestampEnd); /// CT WM Time_end - ' ' -
|
||||
|
||||
//sb.Append(";"); sb.Append(isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU camera: WM Degree per liter
|
||||
val[16] = (smryItems.Count < 1 ? "0" : DEUtils.GetContent(smryItems[0].Content, wm)); /// CU
|
||||
val[17] = (smryItems.Count < 2 ? "0" : DEUtils.GetContent(smryItems[1].Content, wm)); /// CV
|
||||
val[18] = (smryItems.Count < 3 ? "0" : DEUtils.GetContent(smryItems[2].Content, wm)); /// CW
|
||||
val[19] = (smryItems.Count < 4 ? "0" : DEUtils.GetContent(smryItems[3].Content, wm)); /// CX
|
||||
val[20] = (smryItems.Count < 5 ? "0" : DEUtils.GetContent(smryItems[4].Content, wm)); /// CY
|
||||
}
|
||||
}
|
||||
else if (wm.Compound())
|
||||
{
|
||||
/// Else if this is a compound meter
|
||||
|
||||
for (byte b = (byte)CompoundMeterId.CompoundMain; b <= (byte)CompoundMeterId.Compound; b++)
|
||||
{
|
||||
var mtrRslt = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, (CompoundMeterId)b);
|
||||
|
||||
if (mtrRslt != null)
|
||||
{
|
||||
int iIndex = 0;
|
||||
switch ((CompoundMeterId)b)
|
||||
{
|
||||
case CompoundMeterId.CompoundMain:
|
||||
val[0] = wm.SerialNr; /// CE
|
||||
break;
|
||||
case CompoundMeterId.CompoundAux:
|
||||
val[0] = wm.SerialNrAux; /// CE
|
||||
break;
|
||||
case CompoundMeterId.Compound:
|
||||
val[0] = wm.SerialNr; /// CE
|
||||
break;
|
||||
}
|
||||
|
||||
val[++iIndex] =
|
||||
mtrRslt
|
||||
.VolumeStart; /// CF WM Vinit - pri pevnom starte pociatocny stav natukany alebo cez inteligentny system
|
||||
val[++iIndex] =
|
||||
mtrRslt
|
||||
.VolumeEnd; /// CG WM Vfin - pri pevnom starte konecny stav natukany alebo cez inteligentny system
|
||||
val[++iIndex] = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
||||
val[++iIndex] = mtrRslt.VolumeRef; /// CI WM Vet - objem namerany stanicou
|
||||
val[++iIndex] = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
||||
val[++iIndex] = 0; /// CK WM U - neistota (zatial nechat prazdne)
|
||||
val[++iIndex] = mtrRslt.PulsesMeter; /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
||||
val[++iIndex] =
|
||||
mtrRslt
|
||||
.PulsesMaster; /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
val[++iIndex] =
|
||||
mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
val[++iIndex] =
|
||||
mtrRslt.Passed
|
||||
? "OK"
|
||||
: "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
val[++iIndex] = " "; /// CP WM AN value - hodnota z analogoveho prevodnika (teraz nic)
|
||||
|
||||
bool isCamera = mtrRslt.IsCamera();
|
||||
val[++iIndex] = (isCamera
|
||||
? mtrRslt.VolumeStart *
|
||||
mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
||||
: wm.WMPosition); /// CQ WMPosition (normalne)
|
||||
val[++iIndex] = (isCamera
|
||||
? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
||||
: 0); /// CR not used/spare (normalne)
|
||||
val[++iIndex] = (isCamera ? mtrRslt.TimestampStart : 0); /// CS WM Time_start - ' ' -
|
||||
val[++iIndex] = (isCamera ? mtrRslt.TimestampEnd : 0); /// CT WM Time_end - ' ' -
|
||||
val[++iIndex] = (isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU WM Degree per liter
|
||||
|
||||
val[++iIndex] = "0"; /// CV Analog out 1 (max mA)
|
||||
val[++iIndex] = "0"; /// CW Analog out 2 (V)
|
||||
val[++iIndex] = "0"; /// CX Analog out 3 (min mA)
|
||||
val[++iIndex] = "0"; /// CY Analog out 4 (max Q)
|
||||
}
|
||||
}
|
||||
}
|
||||
else /// if (ProcessData.BatchRslts.WaterMeters[i].HeatMeter())
|
||||
{
|
||||
/// Else this is a heat meter
|
||||
|
||||
var volumeMtr =
|
||||
batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterVolume);
|
||||
var energyMtr =
|
||||
batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterEnergy);
|
||||
|
||||
if (volumeMtr != null)
|
||||
{
|
||||
int iIndex = 0;
|
||||
val[iIndex] = wm.SerialNr; /// WM Ser.No.
|
||||
val[iIndex] =
|
||||
volumeMtr
|
||||
.VolumeStart; /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
val[iIndex] =
|
||||
volumeMtr
|
||||
.VolumeEnd; /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
val[iIndex] = volumeMtr.VolumeMeter; /// WM Vmer - objem namerany vodomerom
|
||||
val[iIndex] = volumeMtr.VolumeRef; /// WM Vref - objem namerany stanicou
|
||||
val[iIndex] = volumeMtr.Error; /// WM Emt - chyba vodomerom nameraneho objemu
|
||||
#if IPERL
|
||||
val[iIndex] = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
||||
#else
|
||||
val[iIndex] = 0; /// nechat prazdne
|
||||
#endif
|
||||
val[iIndex] = volumeMtr.PulsesMeter; /// WM Np met - pocet impulzov zo skusaneho meradla
|
||||
val[iIndex] =
|
||||
volumeMtr
|
||||
.PulsesMaster; /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
val[iIndex] = volumeMtr.TestTime; /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
val[iIndex] =
|
||||
volumeMtr.Passed ? "OK" : "NOK"; /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
#if IPERL
|
||||
val[iIndex] =
|
||||
(volumeMtr.WaterMeter.Q2CorrRL); /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
||||
#else
|
||||
val[iIndex] = " "; /// nechat prazdne
|
||||
#endif
|
||||
val[iIndex] =
|
||||
(volumeMtr.VolumeStart); /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
||||
val[iIndex] = (volumeMtr.TimestampStart); /// WM Time_start - ' ' -
|
||||
val[iIndex] = (volumeMtr.VolumeEnd); /// WM Volume_end - ' ' -
|
||||
val[iIndex] = (volumeMtr.TimestampEnd); /// WM Time_end - ' ' -
|
||||
}
|
||||
|
||||
if (energyMtr != null)
|
||||
{
|
||||
int iIndex = 0;
|
||||
val[iIndex] = (wm.SerialNr); /// WM Ser.No.
|
||||
val[iIndex] =
|
||||
(energyMtr
|
||||
.VolumeStart); /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
val[iIndex] =
|
||||
(energyMtr
|
||||
.VolumeEnd); /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
val[iIndex] = (energyMtr.VolumeMeter); /// WM Vmer - objem namerany vodomerom
|
||||
val[iIndex] = (energyMtr.VolumeRef); /// WM Vref - objem namerany stanicou
|
||||
val[iIndex] = (energyMtr.Error); /// WM Emt - chyba vodomerom nameraneho objemu
|
||||
#if IPERL
|
||||
val[iIndex] = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
||||
#else
|
||||
val[iIndex] = " "; /// nechat prazdne
|
||||
#endif
|
||||
val[iIndex] = (energyMtr.PulsesMeter); /// WM Np met - pocet impulzov zo skusaneho meradla
|
||||
val[iIndex] =
|
||||
(energyMtr
|
||||
.PulsesMaster); /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
val[iIndex] = (energyMtr.TestTime); /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
val[iIndex] =
|
||||
(energyMtr.Passed ? "OK" : "NOK"); /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
#if IPERL
|
||||
val[iIndex] =
|
||||
energyMtr.WaterMeter.Q2CorrRL; /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
||||
#else
|
||||
val[iIndex] = " "; /// nechat prazdne
|
||||
#endif
|
||||
val[iIndex] =
|
||||
energyMtr.VolumeStart; /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
||||
val[iIndex] = energyMtr.TimestampStart; /// WM Time_start - ' ' -
|
||||
val[iIndex] = energyMtr.VolumeEnd; /// WM Volume_end - ' ' -
|
||||
val[iIndex] = energyMtr.TimestampEnd; /// WM Time_end - ' ' -
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// public void ProcessDataMeterLine2(TestRslt tstRslt, WaterMeter wm, BatchResults batchResults, int wmNr0)
|
||||
// {
|
||||
// var smryItems = DEItem.GetSummaryColumns();
|
||||
// {
|
||||
//
|
||||
//
|
||||
// if (!wm.Compound() && !wm.HeatMeter())
|
||||
// {
|
||||
// /// If this is a single meter
|
||||
//
|
||||
// Results.Entities.MeterTestRslt mtrRslt = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.Single);
|
||||
//
|
||||
// if (mtrRslt != null)
|
||||
// {
|
||||
// bool isCamera = (mtrRslt.RegReaderType == (int)RegisterReaderType.Camera);
|
||||
//
|
||||
// SerNo = wm.SerialNr;/// CE WM Ser.No.
|
||||
// VolMtSt = mtrRslt.VolumeStart; /// CF WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
// VolMtEn = mtrRslt.VolumeEnd; /// CG WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
// VolMt = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
||||
// VolRm = mtrRslt.VolumeRef; /// CI WM Vref - objem namerany stanicou
|
||||
// ERel = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
||||
// #if IPERL
|
||||
// IPerlCalibrationFactor = wm.CalibFactor; /// CK iPerl calibration factor used during the test / ...
|
||||
// #else
|
||||
// IPerlCalibrationFactor = 0; /// CK nechat prazdne
|
||||
// #endif
|
||||
// Pulses = Convert.ToInt32(mtrRslt.PulsesMeter); /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
||||
// RefPulsesNi = Convert.ToInt32(mtrRslt.PulsesMaster); /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
// T = mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
// Evaluation = mtrRslt.Passed ? "OK" : "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
// #if IPERL
|
||||
// PulsesL = mtrRslt.WaterMeter.Q2CorrRL; /// CP iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
||||
// #else
|
||||
// PulsesL = mtrRslt.PulsesPerLiter; /// CP Pulses per liter
|
||||
// #endif
|
||||
// ImpL = Convert.ToInt32(isCamera
|
||||
// ? mtrRslt.VolumeStart * mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
||||
// : wm.WMPosition); /// CQ WMPosition (normalne)
|
||||
// Div = Convert.ToInt32(isCamera
|
||||
// ? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
||||
// : 0); /// CR not used/spare (normalne)
|
||||
//
|
||||
// //TODO - Time start is in table as VEnd ??? check it
|
||||
// VEnd = Convert.ToInt32(mtrRslt.TimestampStart); /// CS WM Time_start - ' ' -
|
||||
// TEnd = Convert.ToInt32(mtrRslt.TimestampEnd); /// CT WM Time_end - ' ' -
|
||||
//
|
||||
// //sb.Append(";"); sb.Append(isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU camera: WM Degree per liter
|
||||
// SmryItems[0] = (smryItems.Count < 1 ? "0" : DEUtils.GetContent(smryItems[0].Content, wm)); /// CU
|
||||
// SmryItems[1] = (smryItems.Count < 2 ? "0" : DEUtils.GetContent(smryItems[1].Content, wm)); /// CV
|
||||
// SmryItems[2] = (smryItems.Count < 3 ? "0" : DEUtils.GetContent(smryItems[2].Content, wm)); /// CW
|
||||
// SmryItems[3] = (smryItems.Count < 4 ? "0" : DEUtils.GetContent(smryItems[3].Content, wm)); /// CX
|
||||
// SmryItems[4] = (smryItems.Count < 5 ? "0" : DEUtils.GetContent(smryItems[4].Content, wm)); /// CY
|
||||
// }
|
||||
// }
|
||||
// else if (wm.Compound())
|
||||
// {
|
||||
// /// Else if this is a compound meter
|
||||
//
|
||||
// for (byte b = (byte)CompoundMeterId.CompoundMain; b <= (byte)CompoundMeterId.Compound; b++)
|
||||
// {
|
||||
// var mtrRslt = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, (CompoundMeterId)b);
|
||||
//
|
||||
// if (mtrRslt != null)
|
||||
// {
|
||||
// switch ((CompoundMeterId)b)
|
||||
// {
|
||||
// case CompoundMeterId.CompoundMain:
|
||||
// SerNo = wm.SerialNr; /// CE
|
||||
// break;
|
||||
// case CompoundMeterId.CompoundAux:
|
||||
// SerNo = wm.SerialNrAux; /// CE
|
||||
// break;
|
||||
// case CompoundMeterId.Compound:
|
||||
// SerNo = wm.SerialNr; /// CE
|
||||
// break;
|
||||
// }
|
||||
// VolMtSt = mtrRslt.VolumeStart; /// CF WM Vinit - pri pevnom starte pociatocny stav natukany alebo cez inteligentny system
|
||||
// VolMtEn = mtrRslt.VolumeEnd; /// CG WM Vfin - pri pevnom starte konecny stav natukany alebo cez inteligentny system
|
||||
// VolMt = mtrRslt.VolumeMeter; /// CH WM Vmer - objem namerany vodomerom
|
||||
// VolRm = mtrRslt.VolumeRef; /// CI WM Vet - objem namerany stanicou
|
||||
// ERel = mtrRslt.Error; /// CJ WM Emt - chyba vodomerom nameraneho objemu
|
||||
// IPerlCalibrationFactor = 0; /// CK WM U - neistota (zatial nechat prazdne)
|
||||
// Pulses = mtrRslt.PulsesMeter; /// CL WM Np met - pocet impulzov zo skusaneho meradla
|
||||
// RefPulsesNi = mtrRslt.PulsesMaster; /// CM WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
// T = mtrRslt.TestTime; /// CN WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
// Evaluation = mtrRslt.Passed ? "OK" : "NOK"; /// CO WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
// PulsesL = 0;//" " /// CP WM AN value - hodnota z analogoveho prevodnika (teraz nic)
|
||||
//
|
||||
// bool isCamera = mtrRslt.IsCamera();
|
||||
// ImpL = (isCamera
|
||||
// ? mtrRslt.VolumeStart * mtrRslt.PulsesPerLiter /// CQ WM Phi_start (pri hodnotach z kamery)
|
||||
// : wm.WMPosition); /// CQ WMPosition (normalne)
|
||||
// Div = (isCamera
|
||||
// ? mtrRslt.VolumeEnd * mtrRslt.PulsesPerLiter /// CR WM Phi_end (pri hodnotach z kamery)
|
||||
// : 0); /// CR not used/spare (normalne)
|
||||
// VEnd = (isCamera ? mtrRslt.TimestampStart : 0); /// CS WM Time_start - ' ' -
|
||||
// TEnd = (isCamera ? mtrRslt.TimestampEnd : 0); /// CT WM Time_end - ' ' -
|
||||
// SmryItems[0] = (isCamera ? mtrRslt.PulsesPerLiter : 0); /// CU WM Degree per liter
|
||||
//
|
||||
// SmryItems[1] = "0"; /// CV Analog out 1 (max mA)
|
||||
// SmryItems[2] = "0"; /// CW Analog out 2 (V)
|
||||
// SmryItems[3] = "0"; /// CX Analog out 3 (min mA)
|
||||
// SmryItems[4] = "0"; /// CY Analog out 4 (max Q)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// else /// if (ProcessData.BatchRslts.WaterMeters[i].HeatMeter())
|
||||
// {
|
||||
// /// Else this is a heat meter
|
||||
//
|
||||
// var volumeMtr = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterVolume);
|
||||
// var energyMtr = batchResults.GetMeterTestRslt(tstRslt.Name(), wmNr0, CompoundMeterId.HeatMeterEnergy);
|
||||
//
|
||||
// if (volumeMtr != null)
|
||||
// {
|
||||
// SerNo = wm.SerialNr; /// WM Ser.No.
|
||||
// VolMtSt = volumeMtr.VolumeStart; /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
// VolMtEn = volumeMtr.VolumeEnd; /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
// VolMt = volumeMtr.VolumeMeter; /// WM Vmer - objem namerany vodomerom
|
||||
// VolRm = volumeMtr.VolumeRef; /// WM Vref - objem namerany stanicou
|
||||
// ERel = volumeMtr.Error; /// WM Emt - chyba vodomerom nameraneho objemu
|
||||
// #if IPERL
|
||||
// IPerlCalibrationFactor = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
||||
// #else
|
||||
// IPerlCalibrationFactor = 0; /// nechat prazdne
|
||||
// #endif
|
||||
// Pulses = volumeMtr.PulsesMeter; /// WM Np met - pocet impulzov zo skusaneho meradla
|
||||
// RefPulsesNi = volumeMtr.PulsesMaster; /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
// T = volumeMtr.TestTime; /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
// Evaluation = volumeMtr.Passed ? "OK" : "NOK"); /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
// #if IPERL
|
||||
// ImpL = (volumeMtr.WaterMeter.Q2CorrRL); /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
||||
// #else
|
||||
// ImpL = 0; //(" "); /// nechat prazdne
|
||||
// #endif
|
||||
// ImpL = (volumeMtr.VolumeStart); /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
||||
// VEnd = (volumeMtr.TimestampStart); /// WM Time_start - ' ' -
|
||||
// VolMtEn = (volumeMtr.VolumeEnd); /// WM Volume_end - ' ' -
|
||||
// TEnd = (volumeMtr.TimestampEnd); /// WM Time_end - ' ' -
|
||||
// }
|
||||
//
|
||||
// if (energyMtr != null)
|
||||
// {
|
||||
// SerNo = (wm.SerialNr); /// WM Ser.No.
|
||||
// VolMtSt = (energyMtr.VolumeStart); /// WM Vstart - pociatocny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
// VolMtEn = (energyMtr.VolumeEnd); /// WM Vend - konecny stav pri pevnom starte alebo zachyteny pri data streame
|
||||
// VolMt = (energyMtr.VolumeMeter); /// WM Vmer - objem namerany vodomerom
|
||||
// VolRm = (energyMtr.VolumeRef); /// WM Vref - objem namerany stanicou
|
||||
// ERel = (energyMtr.Error); /// WM Emt - chyba vodomerom nameraneho objemu
|
||||
// #if IPERL
|
||||
// IPerlCalibrationFactor = wm.CalibFactor; /// iPerl calibration factor used during the test / ...
|
||||
// #else
|
||||
// IPerlCalibrationFactor = 0;//(" "); /// nechat prazdne
|
||||
// #endif
|
||||
// Pulses = (energyMtr.PulsesMeter); /// WM Np met - pocet impulzov zo skusaneho meradla
|
||||
// RefPulsesNi = (energyMtr.PulsesMaster); /// WM Np elm - pocet impulzov etalonu pocas merania pre prislusny vodomer
|
||||
// T = (energyMtr.TestTime); /// WM Tmet - cas merania (obmedzany pri synchro skuske)
|
||||
// Evaluation = (energyMtr.Passed ? "OK" : "NOK"); /// WM Vysledok (t.j. ci je v hraniciach chyb) - OK/NOK
|
||||
// #if IPERL
|
||||
// sb.Append(";"); sb.Append(energyMtr.WaterMeter.Q2CorrRL); /// iPerl Q2 correction factor used during the test / AN value - hodnota z analogoveho prevodnika
|
||||
// #else
|
||||
// sb.Append(";"); sb.Append(" "); /// nechat prazdne
|
||||
// #endif
|
||||
// VolMtSt = (energyMtr.VolumeStart); /// WM Volume_start - pri datastreamovych hodnotach (alebo kamera)
|
||||
// VEnd = (energyMtr.TimestampStart); /// WM Time_start - ' ' -
|
||||
// VolMtEn = (energyMtr.VolumeEnd); /// WM Volume_end - ' ' -
|
||||
// TEnd = (energyMtr.TimestampEnd); /// WM Time_end - ' ' -
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
public ProcessDataMeterLine()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* public void InitDefault()
|
||||
{
|
||||
SerNo = "Diehl202415687905"; // , formatStr);//Position - Ser.No. - CE
|
||||
VolMtSt = 0; // , formatInt);//Vol.Mt.st - CF
|
||||
VolMtEn = 0; // , formatInt);//Vol.Mt.en - CG
|
||||
VolMt = 0.975333560911164; // , formatD7);//Vol.Mt. - CH
|
||||
VolRm = 0.980633088; //, formatD7);//Vol.rm - CI
|
||||
ERel = -0.540418981321314; // , formatD6); // E rel. - CJ
|
||||
// , formatInt); // U - CK
|
||||
Pulses = 154; // , formatInt); //Pulses() -
|
||||
RefPulsesNi = 14341; // , formatInt); //Ref pulses_ni()
|
||||
T = 671.4207764; // , formatD4); //T(s)()_ni
|
||||
Evaluation = "OK"; // , formatStr);//evaluation
|
||||
PulsesL = 157.8947; // , formatD4);//Pulses/l - CP
|
||||
ImpL = 4; // , formatInt);//imp/l
|
||||
Div = 0; // , formatInt);//div
|
||||
VEnd = 0; // , formatInt);//Vend
|
||||
TEnd = 0; // , formatInt);//T end
|
||||
}*/
|
||||
|
||||
public void InitDefault()
|
||||
{
|
||||
val[0] = "Diehl202415687905"; // , formatStr);//Position - Ser.No. - CE
|
||||
val[1] = 0; // , formatInt);//Vol.Mt.st - CF
|
||||
val[2] = 0; // , formatInt);//Vol.Mt.en - CG
|
||||
val[3] = 0.975333560911164; // , formatD7);//Vol.Mt. - CH
|
||||
val[4] = 0.980633088; //, formatD7);//Vol.rm - CI
|
||||
val[5] = -0.540418981321314; // , formatD6); // E rel. - CJ
|
||||
// , formatInt); // U - CK
|
||||
val[6] = 154; // , formatInt); //Pulses() -
|
||||
val[7] = 14341; // , formatInt); //Ref pulses_ni()
|
||||
val[8] = 671.4207764; // , formatD4); //T(s)()_ni
|
||||
val[9] = "OK"; // , formatStr);//evaluation
|
||||
val[10] = 157.8947; // , formatD4);//Pulses/l - CP
|
||||
val[11] = 4; // , formatInt);//imp/l
|
||||
val[12] = 0; // , formatInt);//div
|
||||
val[13] = 0; // , formatInt);//Vend
|
||||
val[14] = 0; // , formatInt);//T end
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -408,7 +408,6 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Lite_per_pulse_Read, "1 / PlsPerLtr_Read", Quantity.PulsePerLtr, ItemCategory.Other, (w,t,u,f,p) => FormatDbl(u, f, p, "V4", (w.WaterMeterData.PulsesPerLtr != 0) ? 1/w.WaterMeterData.PulsesPerLtr : 0)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed_meters_count, Strings.Passed_meters_count, Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.PassedMetersCount())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Failed_meters_count, Strings.Failed_meters_count, Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.FailedMetersCount())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Failed_meters_countE15, Strings.Failed_meters_count + "E15", Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.FailedMetersCountE15())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed_seals_count, "Seals count of passed meters", Quantity.Number, ItemCategory.Other, (w,t,u,f,p) => FormatInt(f, w.Batch.PassedMetersCount() * int.Parse(w.WaterMeterData.Text5))));
|
||||
|
||||
/// Extra water meter data
|
||||
@@ -577,16 +576,6 @@ namespace Results
|
||||
{
|
||||
return FormatInt(f, w.Batch.Counter10);
|
||||
}));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty_DIV1, "Uncertainty DIV1", Quantity.Uncertainty, ItemCategory.BenchData, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? "0.1" : string.Format(f, 5)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty_DIV2, "Uncertainty DIV2", Quantity.Uncertainty, ItemCategory.BenchData, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? "0.2" : string.Format(f, 5)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty_DIV3, "Uncertainty DIV3", Quantity.Uncertainty, ItemCategory.BenchData, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? "0.3" : string.Format(f, 5)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty_DIV4, "Uncertainty DIV4", Quantity.Uncertainty, ItemCategory.BenchData, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? "0.4" : string.Format(f, 5)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty_DIV5, "Uncertainty DIV5", Quantity.Uncertainty, ItemCategory.BenchData, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? "0.5" : string.Format(f, 5)));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty_TEMP1, "Uncertainty TEMP1", Quantity.Uncertainty, ItemCategory.BenchData, (w,t,u,f,p) => string.IsNullOrEmpty(f) ? "0.5" : string.Format(f, 5)));
|
||||
|
||||
|
||||
}
|
||||
|
||||
/// To be updated by Output.FileWriter or Output.Printer
|
||||
|
||||
@@ -1,20 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="ClosedXML" version="0.105.0-rc" targetFramework="net472" />
|
||||
<package id="ClosedXML.Parser" version="2.0.0-preview1" targetFramework="net472" />
|
||||
<package id="SixLabors.Fonts" version="1.0.0" targetFramework="net472" />
|
||||
<package id="System.Runtime.CompilerServices.Unsafe" version="6.1.1" targetFramework="net472" />
|
||||
<package id="DocumentFormat.OpenXml" version="3.1.1" targetFramework="net472" />
|
||||
<package id="DocumentFormat.OpenXml.Framework" version="3.1.1" targetFramework="net472" />
|
||||
<package id="EPPlus.Interfaces" version="8.0.0" targetFramework="net472" />
|
||||
<package id="ExcelNumberFormat" version="1.1.0" targetFramework="net472" />
|
||||
<package id="Microsoft.Bcl.HashCode" version="1.1.1" targetFramework="net472" />
|
||||
<package id="Microsoft.IO.RecyclableMemoryStream" version="3.0.1" targetFramework="net472" />
|
||||
<package id="RBush.Signed" version="4.0.0" targetFramework="net472" />
|
||||
<package id="System.Buffers" version="4.6.1" targetFramework="net472" />
|
||||
<package id="System.ComponentModel.Annotations" version="5.0.0" targetFramework="net472" />
|
||||
<package id="System.Memory" version="4.6.2" targetFramework="net472" />
|
||||
<package id="System.Numerics.Vectors" version="4.6.1" targetFramework="net472" />
|
||||
<package id="System.Security.Cryptography.Xml" version="8.0.2" targetFramework="net472" />
|
||||
<package id="log4net" version="2.0.15" targetFramework="net472" />
|
||||
</packages>
|
||||
@@ -134,8 +134,6 @@ Global
|
||||
{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
|
||||
{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
|
||||
{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{743DF7DB-C7B6-42EB-986D-0F485E5588E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{743DF7DB-C7B6-42EB-986D-0F485E5588E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{743DF7DB-C7B6-42EB-986D-0F485E5588E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AAssert_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fd08b5425b14a4a129bfa8e447a81395e12190_003Fae_003F94d308d8_003FAssert_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbb93580b829e4f7d9c8d742286f27f7d5b8648_003F2d_003F54df0719_003FControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AICollection_00601_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4290c01eea7748b3aa477ca831e6a387531830_003F80_003Fe38b444d_003FICollection_00601_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ALoader_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F8210282bc4024c02ab1c8fa84c45a21e32a600_003F0d_003F48a17bd3_003FLoader_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATabControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbb93580b829e4f7d9c8d742286f27f7d5b8648_003F0e_003F5c4249c2_003FTabControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003Fad_003F4c8a6929_003FTestMethodInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003ATestMethodInfo_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F4472e9d6a19b4c92bcc9a80bd60ca17d26da8_003F98_003F3ffb6d31_003FTestMethodInfo_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AThrowHelper_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9c2967a135e648bdb993c5397a44991b573620_003Fd7_003F14d417af_003FThrowHelper_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AUserControl_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2024_002E3_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003Fbb93580b829e4f7d9c8d742286f27f7d5b8648_003Fa3_003F8eb63727_003FUserControl_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXLRangeBase_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003Fb48983f97d522ed19b681bf6f133c9baafae03ce9d864ed711a5aa8752bf_003FXLRangeBase_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXLWorksheet_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FSourcesCache_003F95dc236c6854d515fec2d9794746c52171e52b19e7f2ca0fcc6a6636bb4ed18_003FXLWorksheet_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=7020124F_002D9FFC_002D4AC3_002D8F3D_002DAAB8E0240759_002Ff_003AXmlSerializer_002Ecs_002Fl_003A_002E_002E_003F_002E_002E_003FAppData_003FRoaming_003FJetBrains_003FRider2025_002E1_003Fresharper_002Dhost_003FDecompilerCache_003Fdecompiler_003F9e4992465ee24dc8915fd9be20badb7d281d48_003F5e_003F4df5856e_003FXmlSerializer_002Ecs/@EntryIndexedValue">ForceIncluded</s:String>
|
||||
<s:String x:Key="/Default/Environment/AssemblyExplorer/XmlDocument/@EntryValue"><AssemblyExplorer>
|
||||
<Assembly Path="C:\Users\micha\git\tbf\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll" />
|
||||
</AssemblyExplorer></s:String>
|
||||
<s:String x:Key="/Default/Environment/Hierarchy/Build/BuildTool/CustomBuildToolPath/@EntryValue">C:\Program Files\JetBrains\JetBrains Rider 2024.1.6\tools\MSBuild\Current\Bin\amd64\MSBuild.exe</s:String>
|
||||
<s:Int64 x:Key="/Default/Environment/Hierarchy/Build/BuildTool/MsbuildVersion/@EntryValue">1114112</s:Int64>
|
||||
<s:Boolean x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/ShowAdvancedOptions/@EntryValue">True</s:Boolean>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=743DF7DB_002DC7B6_002D42EB_002D986D_002D0F485E5588E4/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=8648FD92_002DCDA1_002D4C3A_002DB5F9_002DFE547CE1FA48/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestProjectMapping/=9D0DCC88_002DDC81_002D47EB_002D9FDD_002D4C3907871BFB/@EntryIndexedValue">77EB589F-C670-4489-AAD6-2A3C02061FD1</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/CreateUnitTestDialog/TestTemplateMapping/=MSTest/@EntryIndexedValue">d6790ab7-33c2-4425-b2c9-51480cd1a852</s:String>
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=311ca613_002Da634_002D4e0f_002Db9fb_002D4b7af9b7abb2/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" Name="GetCorrection" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Entities.MeasurementCorrectionTest.GetCorrection</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Modbus.Meret.AdjustableScale.AdjustableMeterTest.GetCorrection</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.RtpListener</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.Initialize</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.RigUncertaintyTest.OpenDocument_SuccessfullyOpensDocument_RaisesNoExceptions</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.Calculation.MathTest.AritmeticMeanTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.Calculation.BatchProcessTableTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.Calculation.CalculationTableTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.CommonTable.TableTest.CrateTableTest</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
|
||||
<s:String x:Key="/Default/Environment/UnitTesting/UnitTestSessionStore/Sessions/=fee81c72_002D0b13_002D439c_002D8921_002D12878bb8cd86/@EntryIndexedValue"><SessionState ContinuousTestingMode="0" IsActive="True" Name="Initialize" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
|
||||
<TestAncestor>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Rig.Network.Camera.KeyenceIV3G120.CameraTest.Initialize</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.RigUncertaintyTest.OpenDocument_SuccessfullyOpensDocument_RaisesNoExceptions</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.RigUncertaintyTest.OpenDocument_Sheets</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.RigUncertaintyTest.OpenDocument_Sheets_InsertValues</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.RigUncertaintyTest.ExcelColumnsTools</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.RigUncertaintyTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.Calculation.MathTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.CommonTable.TableTest.CrateTableTest</TestId>
|
||||
<TestId>MSTest::77EB589F-C670-4489-AAD6-2A3C02061FD1::.NETFramework,Version=v4.7.2::TBFTests.Uncertainty.CommonTable.TableTest.CrateTableOnPositionTest</TestId>
|
||||
</TestAncestor>
|
||||
</SessionState></s:String>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Config_002FResources_002FStrings/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=DeviceTest_002FDeviceTestDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=Miscellaneous_0020Files_002FWyqupug/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FResources_002FStrings/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FCycleBeginningForm/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FCycleEndForm/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FDataEntry_002FStandartCameraPurchaseOrder_002FTestStartEndForm/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FAdapterFTP_002FNetadapterCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FKeyenceIV3G120_002FCameraCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartKeyence_002FRoiCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FRestAPI_002FRestApiCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FGroupPrinting_002FSingle_002FPrinterCfgCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FOutput_002FPrinters_002FGroupPrinting_002FSingle_002FPrinterTestBenchComponentSelectorDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FRegisterReaders_002FFrequencyMeterFromUniCB_002FRRCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FComponents_002FComponentsManagerDlg/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FCalibCertificateExtendedCtrl/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgAdjustableScaleTab/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgPressMeterTab/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgTempMeterTab/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FResultsMI_002FPreviousResultsDlgUncertainty/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/Initialized/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -76,7 +76,7 @@ namespace TBF.Boxes
|
||||
}
|
||||
else
|
||||
{
|
||||
return string.Format(string.Format("{{0:{0}}}", Format), Val * Factor);
|
||||
return string.Format(Format, Val * Factor);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("3.9.2144.1")]
|
||||
[assembly: AssemblyFileVersion("3.9.2144.1")]
|
||||
[assembly: AssemblyVersion("3.9.2141.1")]
|
||||
[assembly: AssemblyFileVersion("3.9.2141.1")]
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
# Information about new inserted functionality
|
||||
|
||||
|
||||
## Version
|
||||
|
||||
Document start on version `3.9.2144.1`
|
||||
|
||||
### v3.9.2144 Uncertainty
|
||||
#### Database update
|
||||
```
|
||||
use wrc2swindon298;
|
||||
alter table measurementcorrection add Uncertainty float null;
|
||||
alter table measurementcorrection add Readability float null;
|
||||
```
|
||||
Generated
-18
@@ -4307,15 +4307,6 @@ namespace TBF.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Project number.
|
||||
/// </summary>
|
||||
internal static string Project_number {
|
||||
get {
|
||||
return ResourceManager.GetString("Project_number", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Prompt.
|
||||
/// </summary>
|
||||
@@ -4622,15 +4613,6 @@ namespace TBF.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Readability.
|
||||
/// </summary>
|
||||
internal static string Readability {
|
||||
get {
|
||||
return ResourceManager.GetString("Readability", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Reading from the production tracing DB failed.
|
||||
/// </summary>
|
||||
|
||||
@@ -1752,7 +1752,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Napětí</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Projtové číslo</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -2217,7 +2217,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Spannung</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Projektnummer</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -120,7 +120,4 @@
|
||||
<data name="Activity" xml:space="preserve">
|
||||
<value>Activity in Spanish</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Número de proyecto</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -2016,7 +2016,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Tension</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Numéro de projet</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1785,7 +1785,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Voltaggio</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Numero del progetto</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1692,7 +1692,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Napięcie</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Numer projektu</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -949,9 +949,6 @@
|
||||
<data name="Purchase_order" xml:space="preserve">
|
||||
<value>Purchase order</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Project number</value>
|
||||
</data>
|
||||
<data name="Ambient_humidity" xml:space="preserve">
|
||||
<value>Ambient humidity</value>
|
||||
</data>
|
||||
@@ -2050,9 +2047,6 @@
|
||||
<data name="Uncertainty" xml:space="preserve">
|
||||
<value>Uncertainty</value>
|
||||
</data>
|
||||
<data name="Readability" xml:space="preserve">
|
||||
<value>Readability</value>
|
||||
</data>
|
||||
<data name="No_info_available" xml:space="preserve">
|
||||
<value>No info available</value>
|
||||
</data>
|
||||
|
||||
@@ -837,7 +837,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Voltage</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Numărul proiectului</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1605,7 +1605,4 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Voltage</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Номер проекта</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -241,7 +241,4 @@
|
||||
<data name="Paths" xml:space="preserve">
|
||||
<value>Cesty</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Číslo projektu</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -3,7 +3,6 @@
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Common;
|
||||
using log4net;
|
||||
using Dirichlet.Numerics;
|
||||
using TBF.Boxes;
|
||||
@@ -30,14 +29,12 @@ namespace TBF.Rig.BuiltIn
|
||||
/// Relative time in [s] from the start of the operation
|
||||
int timeShift; /// Set in SetValvesOp(cb, bool open, OutputPath outPath, DateTimeBox timeStamp)
|
||||
|
||||
int waitOnCBDelay = 2; // additional wait for the correct ControlBoard response in [s]
|
||||
|
||||
/// <summary>
|
||||
/// Processes coupled valves and creates switch points.
|
||||
/// </summary>
|
||||
/// <param name="valvesOpen">A list of opening master valves</param>
|
||||
/// <param name="valvesClose">A list of closing master valves</param>
|
||||
/// <returns></returns>
|
||||
/// <summary>
|
||||
/// Processes coupled valves and creates switch points.
|
||||
/// </summary>
|
||||
/// <param name="valvesOpen">A list of opening master valves</param>
|
||||
/// <param name="valvesClose">A list of closing master valves</param>
|
||||
/// <returns></returns>
|
||||
IList<SwitchPoint> AddSwitchPoints(IList<SwitchPoint> swPoints, IList<IValve> valvesOpen, IList<IValve> valvesClose, int time)
|
||||
{
|
||||
int ix0 = swPoints.Count;
|
||||
@@ -260,11 +257,6 @@ namespace TBF.Rig.BuiltIn
|
||||
/// <summary>Start this operation</summary>
|
||||
public void Start()
|
||||
{
|
||||
if (cb.DebugLevel == DebugMode.Simulate)
|
||||
{
|
||||
return ;
|
||||
}
|
||||
|
||||
UInt128 changed = cb.SetValves(switchPoints[0].MasksOpen, switchPoints[0].MasksClose, StateMachine.LogicalFnValves);
|
||||
|
||||
if (timeStamp != null && switchPoints[0].TimeSec == timeShift)
|
||||
@@ -283,14 +275,9 @@ namespace TBF.Rig.BuiltIn
|
||||
/// </returns>
|
||||
public Event Run()
|
||||
{
|
||||
if (cb.DebugLevel == DebugMode.Simulate)
|
||||
{
|
||||
return Event.ValvesSet;
|
||||
}
|
||||
|
||||
if (nextIx >= switchPoints.Count)
|
||||
if (nextIx >= switchPoints.Count)
|
||||
{
|
||||
return (StateMachine.Time >= swStartTime + maxDelayTime + waitOnCBDelay) ? Event.ValvesSet : Event.ValvesBusy;
|
||||
return (StateMachine.Time >= swStartTime + maxDelayTime) ? Event.ValvesSet : Event.ValvesBusy;
|
||||
}
|
||||
|
||||
if (StateMachine.Time >= swStartTime + switchPoints[nextIx].TimeSec)
|
||||
@@ -317,11 +304,6 @@ namespace TBF.Rig.BuiltIn
|
||||
/// <summary>Start this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
if (cb.DebugLevel == DebugMode.Simulate)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (switchTime != null && startStopValveBitNr >= 16 && startStopValveBitNr <= 23 && cb is ControlBoard.Uni.UniCB)
|
||||
{
|
||||
switchTime.Val = (cb as ControlBoard.Uni.UniCB).Data.ValveSwitchTime[startStopValveBitNr - 16];
|
||||
|
||||
@@ -30,11 +30,9 @@ namespace TBF.Rig.DataContainer.Buoyancy
|
||||
public string CertPath { get; set; }
|
||||
public DateTime CalibDate { get; set; }
|
||||
public DateTime CalibValidDate { get; set; }
|
||||
public string MeterSerialNo { get; set; }
|
||||
public string MeterType { get; set; }
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
ComponentCfg() {}
|
||||
|
||||
public ComponentCfg(string name, IComponentFactory factory)
|
||||
|
||||
@@ -31,11 +31,9 @@ namespace TBF.Rig.DataContainer.Density
|
||||
public string CertPath { get; set; }
|
||||
public DateTime CalibDate { get; set; }
|
||||
public DateTime CalibValidDate { get; set; }
|
||||
public string MeterSerialNo { get; set; }
|
||||
public string MeterType { get; set; }
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
ComponentCfg() {}
|
||||
|
||||
public ComponentCfg(string name, IComponentFactory factory)
|
||||
|
||||
@@ -24,8 +24,6 @@ namespace TBF.Rig.DataContainer.Evaporation
|
||||
public string CertPath { get; set; }
|
||||
public DateTime CalibDate { get; set; }
|
||||
public DateTime CalibValidDate { get; set; }
|
||||
public string MeterSerialNo { get; set; }
|
||||
public string MeterType { get; set; }
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
|
||||
@@ -56,11 +56,9 @@ namespace TBF.Rig.DataContainer.iPerlBenchInfo
|
||||
public string CertPath { get; set; }
|
||||
public DateTime CalibDate { get; set; }
|
||||
public DateTime CalibValidDate { get; set; }
|
||||
public string MeterSerialNo { get; set; }
|
||||
public string MeterType { get; set; }
|
||||
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
ComponentCfg() {}
|
||||
|
||||
public ComponentCfg(string name, IComponentFactory factory)
|
||||
|
||||
@@ -109,7 +109,6 @@ namespace TBF.Rig.DataEntry.Combined
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -66,7 +66,6 @@ namespace TBF.Rig.DataEntry
|
||||
Start,
|
||||
End,
|
||||
Both,
|
||||
Collect,
|
||||
}
|
||||
|
||||
///
|
||||
|
||||
@@ -124,7 +124,6 @@ namespace TBF.Rig.DataEntry.HeatMeters12
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -123,7 +123,6 @@ namespace TBF.Rig.DataEntry.HeatMeters6
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -117,7 +117,6 @@ namespace TBF.Rig.DataEntry.S620
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -7,7 +7,11 @@ using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using NHibernate;
|
||||
#if MANAGED
|
||||
using Oracle.ManagedDataAccess.Client;
|
||||
#else
|
||||
using Oracle.DataAccess.Client;
|
||||
#endif
|
||||
using Common;
|
||||
using TBF.Rig.Sequences;
|
||||
using TBF.Resources;
|
||||
|
||||
@@ -7,7 +7,11 @@ using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using NHibernate;
|
||||
#if MANAGED
|
||||
using Oracle.ManagedDataAccess.Client;
|
||||
#else
|
||||
using Oracle.DataAccess.Client;
|
||||
#endif
|
||||
using Common;
|
||||
using SharedDatabase;
|
||||
using SharedDatabase.Entities;
|
||||
|
||||
@@ -109,7 +109,6 @@ namespace TBF.Rig.DataEntry.Single
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -109,7 +109,6 @@ namespace TBF.Rig.DataEntry.Standard12
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -122,8 +122,6 @@ namespace TBF.Rig.DataEntry.Standard24
|
||||
this.waterMeters = waterMeters;
|
||||
return this;
|
||||
}
|
||||
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -109,7 +109,6 @@ namespace TBF.Rig.DataEntry.Standard48
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -105,7 +105,6 @@ namespace TBF.Rig.DataEntry.Standard6
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -82,7 +82,7 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
|
||||
if (hideOrder) orderGroupBox.Visible = false;
|
||||
|
||||
this.Height = 155 + lineSize * 44;
|
||||
Height = 155 + lineSize * 44;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -80,22 +80,10 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
public string WMCycleEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmCycleEndState.Length) ? wmCycleEndState[wmNr] : string.Empty; }
|
||||
|
||||
double[] wmStartState;
|
||||
|
||||
public double WMStartState(int wmNr)
|
||||
{
|
||||
bool real = (wmNr >= 0 && wmNr < wmStartState.Length);
|
||||
log.DebugFormat("WMEndState, wmNr:{0}, wmEndState real: {1}, wmEndState[wmNr]: {2} ",wmNr,real, real ? wmStartState[wmNr] : 0);
|
||||
return real ? wmStartState[wmNr] : 0;
|
||||
}
|
||||
public double WMStartState(int wmNr) { return (wmNr >= 0 && wmNr < wmStartState.Length) ? wmStartState[wmNr] : 0; }
|
||||
|
||||
double[] wmEndState;
|
||||
|
||||
public double WMEndState(int wmNr)
|
||||
{
|
||||
bool real = (wmNr >= 0 && wmNr < wmEndState.Length);
|
||||
log.DebugFormat("WMEndState, wmNr:{0}, wmEndState real: {1}, wmEndState[wmNr]: {2} ",wmNr,real, real ? wmEndState[wmNr] : 0);
|
||||
return real ? wmEndState[wmNr] : 0;
|
||||
}
|
||||
public double WMEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmEndState.Length) ? wmEndState[wmNr] : 0; }
|
||||
|
||||
string[] wmStartStateStr;
|
||||
|
||||
@@ -186,7 +174,6 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
@@ -228,7 +215,6 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
///
|
||||
void OpenTestStartStatesDlg(EntryForm myRef)
|
||||
{
|
||||
log.Debug("-- OpenTestStartStatesDlg --");
|
||||
string ocrMessage;
|
||||
var ocr = GetOcr(myRef.OcrWorkspace, out ocrMessage);
|
||||
myRef.modelessDlg = new TestStartEndForm(TBF.Data.WMsCount, myRef.regReaders, ocr, ocrMessage, myRef.OcrStream,
|
||||
@@ -238,7 +224,6 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
///
|
||||
void OpenTestEndStatesDlg(EntryForm myRef)
|
||||
{
|
||||
log.Debug("-- OpenTestEndStatesDlg --");
|
||||
string ocrMessage;
|
||||
var ocr = GetOcr(myRef.OcrWorkspace, out ocrMessage);
|
||||
myRef.modelessDlg = new TestStartEndForm(TBF.Data.WMsCount, myRef.regReaders, ocr, ocrMessage, myRef.OcrStream,
|
||||
|
||||
@@ -5,7 +5,6 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
@@ -548,7 +547,6 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
{
|
||||
try
|
||||
{
|
||||
log.DebugFormat("okButton_Click - TextBoxesCount: [{0}], phys2wm:[{1}]", TextBoxesCount, phys2wm.ToArray().ToString());
|
||||
for (int i = 0; i < TextBoxesCount; i++)
|
||||
{
|
||||
int wmPos = phys2wm[i];
|
||||
@@ -562,7 +560,6 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
{
|
||||
WMStartState[wmPos - 1] = Units.ConvertFrom(unit, val); /// Convert to liters
|
||||
WMStartStateStr[wmPos - 1] = startTextBoxes[i].Text;
|
||||
log.DebugFormat("startTextBoxes[{0}]= {1} - wmPos= {2} - WMStartState[{3}]= {4} ", i,startTextBoxes[i].Text, wmPos, wmPos - 1,WMStartState[wmPos - 1] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -572,7 +569,6 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
if (Utils.TryParseUDouble(endTextBoxes[i].Text, out val))
|
||||
{
|
||||
WMEndState[wmPos - 1] = Units.ConvertFrom(unit, val); /// Convert to liters
|
||||
log.DebugFormat("endTextBoxes[{0}]= {1} - wmPos= {2} - WMEndState[{3}]= {4} ", i,endTextBoxes[i].Text, wmPos, wmPos - 1,WMEndState[wmPos - 1] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -692,14 +688,10 @@ namespace TBF.Rig.DataEntry.StandardCamera
|
||||
|
||||
double err = 100.0 * (endVolumeL - startVolumeL - refVolume) / refVolume;
|
||||
exclamations[uiCtrlPos].Visible = (err < warningLimLo) || (warningLimHi < err);
|
||||
|
||||
log.Debug(string.Format("DataEntry - Update unit:[{0}], startV: {1} -> {2}, endV: {3} -> {4} ",
|
||||
unit, startV, startVolumeL, endV, endVolumeL));
|
||||
}
|
||||
catch
|
||||
{
|
||||
exclamations[uiCtrlPos].Visible = false;
|
||||
log.Debug("DataEntry - Update unit - Error uiCtrlPos: " + uiCtrlPos);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
-1911
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user