Compare commits
30
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f07a506ad | ||
|
|
3a2290570d | ||
|
|
3b68e3f9fd | ||
|
|
3184b1da8e | ||
|
|
b70a10e697 | ||
|
|
3433bbbebe | ||
|
|
4c0a797e98 | ||
|
|
203c2498ac | ||
|
|
2023ea5221 | ||
|
|
cbb3d4f735 | ||
|
|
8acf219ba2 | ||
|
|
68884cd7df | ||
|
|
1629d82d65 | ||
|
|
17ab11bdf1 | ||
|
|
d2ef959f15 | ||
|
|
21b00e9b83 | ||
|
|
3d7aaaaa3d | ||
|
|
705f7760af | ||
|
|
3b385d592d | ||
|
|
cf6a16656b | ||
|
|
f50f9bfa5b | ||
|
|
77d8c95930 | ||
|
|
57c2019405 | ||
|
|
46432bc61b | ||
|
|
a4360f6993 | ||
|
|
97e0a764b8 | ||
|
|
7409af70ac | ||
|
|
783d51e71a | ||
|
|
a710ab7457 | ||
|
|
6a428e3c76 |
+11
@@ -66,6 +66,17 @@ 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
|
||||
|
||||
@@ -115,6 +115,7 @@
|
||||
<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>
|
||||
|
||||
@@ -21,6 +21,9 @@ 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")
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace Config
|
||||
{
|
||||
public class PurchaseResources
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
// <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.
@@ -0,0 +1,4 @@
|
||||
// <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.
@@ -0,0 +1,541 @@
|
||||
<?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
@@ -0,0 +1,4 @@
|
||||
// <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.
@@ -0,0 +1 @@
|
||||
e4ab36b7b0030299e8d3f9c15f8edfab217c00c33b5d908f61099287ac9a64d6
|
||||
@@ -0,0 +1,17 @@
|
||||
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.
@@ -181,6 +181,18 @@ 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;
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
|
||||
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);
|
||||
@@ -0,0 +1,41 @@
|
||||
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);
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
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,6 +5,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
|
||||
namespace Results.Entities
|
||||
{
|
||||
@@ -246,10 +247,17 @@ 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;
|
||||
}
|
||||
@@ -390,6 +398,9 @@ namespace Results.Entities
|
||||
Counter3 = src.Counter3;
|
||||
Counter4 = src.Counter4;
|
||||
Counter5 = src.Counter5;
|
||||
|
||||
TestCollected = src.TestCollected;
|
||||
TestMeasured = src.TestMeasured;
|
||||
}
|
||||
|
||||
/// <summary> Wrapper </summary>
|
||||
@@ -428,7 +439,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}",
|
||||
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}",
|
||||
Part, RepetitionNr, TestDone, Remark, StartTime, EndTime, FlowSetTime, TestTime,
|
||||
PulsesMaster, ConstMaster, MassStartRaw, MassStart, MassEndRaw, MassEnd,
|
||||
DensityIn, DensityLine, DensityDiv, MassOfEvapWater, Qdetected, Flow,
|
||||
@@ -444,7 +455,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);
|
||||
DiverterStart, DiverterEnd, TestMeasured, TestCollected);
|
||||
}
|
||||
|
||||
|
||||
@@ -586,6 +597,8 @@ 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)
|
||||
@@ -727,6 +740,8 @@ namespace Results.Entities
|
||||
Counter3 = reader.ReadInt32();
|
||||
Counter4 = reader.ReadInt32();
|
||||
Counter5 = reader.ReadInt32();
|
||||
TestMeasured = reader.ReadBoolean();
|
||||
TestCollected = reader.ReadBoolean();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,6 +189,12 @@ 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
|
||||
@@ -270,6 +276,24 @@ 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,6 +349,8 @@ 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
|
||||
|
||||
Count,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
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
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
}
|
||||
+68
-1
@@ -224,15 +224,18 @@ 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, Cells[rowIx][colIx].Text,
|
||||
Common.Printers.PrintersCommon.PrintAt(e, mergedCellsCount == 1 ? Cells[rowIx][colIx].Text : GetMergedCellStringAsNegativeOrPositive(texts),
|
||||
Cells[rowIx][colIx].Font,
|
||||
left + mergedColPos,
|
||||
top + mergedRowPos,
|
||||
@@ -309,6 +312,70 @@ 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.
|
||||
|
||||
@@ -70,6 +70,9 @@
|
||||
<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" />
|
||||
@@ -130,6 +133,9 @@
|
||||
<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" />
|
||||
@@ -245,6 +251,10 @@
|
||||
<ItemGroup>
|
||||
<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.
|
||||
|
||||
@@ -408,6 +408,7 @@ 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
|
||||
|
||||
@@ -134,6 +134,8 @@ 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
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
<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: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/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>
|
||||
</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>
|
||||
</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">True</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">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FKeyenceIV3G120_002FCameraCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FCamera_002FRoiForFixedStartKeyence_002FRoiCfgCtrl/@EntryIndexedValue">True</s:Boolean>
|
||||
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FRig_002FNetwork_002FRestAPI_002FRestApiCfgCtrl/@EntryIndexedValue">True</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">True</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_002FMetrologyDlgAdjustableScaleTab/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/CheckedGroups/=TBF_002FUI_002FBench_002FMetrology_002FMetrologyDlgPressMeterTab/@EntryIndexedValue">False</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/ResxEditorPersonal/Initialized/@EntryValue">True</s:Boolean></wpf:ResourceDictionary>
|
||||
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
[assembly: AssemblyVersion("3.9.2141.1")]
|
||||
[assembly: AssemblyFileVersion("3.9.2141.1")]
|
||||
[assembly: AssemblyVersion("3.9.2143.1")]
|
||||
[assembly: AssemblyFileVersion("3.9.2143.1")]
|
||||
|
||||
Generated
+9
@@ -4307,6 +4307,15 @@ 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>
|
||||
|
||||
@@ -1752,4 +1752,7 @@
|
||||
<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,4 +2217,7 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Spannung</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Projektnummer</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -120,4 +120,7 @@
|
||||
<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,4 +2016,7 @@
|
||||
<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,4 +1785,7 @@
|
||||
<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,4 +1692,7 @@
|
||||
<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,6 +949,9 @@
|
||||
<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>
|
||||
|
||||
@@ -837,4 +837,7 @@
|
||||
<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,4 +1605,7 @@
|
||||
<data name="Voltage" xml:space="preserve">
|
||||
<value>Voltage</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Номер проекта</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -241,4 +241,7 @@
|
||||
<data name="Paths" xml:space="preserve">
|
||||
<value>Cesty</value>
|
||||
</data>
|
||||
<data name="Project_number" xml:space="preserve">
|
||||
<value>Číslo projektu</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -109,6 +109,7 @@ 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,6 +66,7 @@ namespace TBF.Rig.DataEntry
|
||||
Start,
|
||||
End,
|
||||
Both,
|
||||
Collect,
|
||||
}
|
||||
|
||||
///
|
||||
|
||||
@@ -124,6 +124,7 @@ 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,6 +123,7 @@ 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,6 +117,7 @@ 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,11 +7,7 @@ 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,11 +7,7 @@ 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,6 +109,7 @@ 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,6 +109,7 @@ 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,6 +122,8 @@ 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,6 +109,7 @@ 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,6 +105,7 @@ 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;
|
||||
|
||||
Height = 155 + lineSize * 44;
|
||||
this.Height = 155 + lineSize * 44;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -80,10 +80,22 @@ 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) { return (wmNr >= 0 && wmNr < wmStartState.Length) ? wmStartState[wmNr] : 0; }
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
double[] wmEndState;
|
||||
public double WMEndState(int wmNr) { return (wmNr >= 0 && wmNr < wmEndState.Length) ? wmEndState[wmNr] : 0; }
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
string[] wmStartStateStr;
|
||||
|
||||
@@ -174,6 +186,7 @@ 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)
|
||||
@@ -215,6 +228,7 @@ 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,
|
||||
@@ -224,6 +238,7 @@ 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,6 +5,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
@@ -547,6 +548,7 @@ 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];
|
||||
@@ -560,6 +562,7 @@ 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] );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -569,6 +572,7 @@ 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] );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -688,10 +692,14 @@ 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
@@ -0,0 +1,276 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="okButton.Text" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="orderGroupBox.Text" xml:space="preserve">
|
||||
<value>Kolejność</value>
|
||||
</data>
|
||||
<data name="clearButton.Text" xml:space="preserve">
|
||||
<value>Usunąć</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 1</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 2</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 3</value>
|
||||
</data>
|
||||
<data name="label4.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 4</value>
|
||||
</data>
|
||||
<data name="label5.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 5</value>
|
||||
</data>
|
||||
<data name="label6.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 6</value>
|
||||
</data>
|
||||
<data name="label7.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 7</value>
|
||||
</data>
|
||||
<data name="label8.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 8</value>
|
||||
</data>
|
||||
<data name="label9.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 9</value>
|
||||
</data>
|
||||
<data name="label10.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 10</value>
|
||||
</data>
|
||||
<data name="label11.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 11</value>
|
||||
</data>
|
||||
<data name="label12.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 12</value>
|
||||
</data>
|
||||
<data name="label13.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 13</value>
|
||||
</data>
|
||||
<data name="label14.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 14</value>
|
||||
</data>
|
||||
<data name="label15.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 15</value>
|
||||
</data>
|
||||
<data name="label16.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 16</value>
|
||||
</data>
|
||||
<data name="label17.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 17</value>
|
||||
</data>
|
||||
<data name="label18.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 18</value>
|
||||
</data>
|
||||
<data name="label19.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 19</value>
|
||||
</data>
|
||||
<data name="label20.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 20</value>
|
||||
</data>
|
||||
<data name="label21.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 21</value>
|
||||
</data>
|
||||
<data name="label22.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 22</value>
|
||||
</data>
|
||||
<data name="label23.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 23</value>
|
||||
</data>
|
||||
<data name="label24.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 24</value>
|
||||
</data>
|
||||
<data name="label48.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 48</value>
|
||||
</data>
|
||||
<data name="label47.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 47</value>
|
||||
</data>
|
||||
<data name="label46.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 46</value>
|
||||
</data>
|
||||
<data name="label45.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 45</value>
|
||||
</data>
|
||||
<data name="label44.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 44</value>
|
||||
</data>
|
||||
<data name="label43.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 43</value>
|
||||
</data>
|
||||
<data name="label42.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 42</value>
|
||||
</data>
|
||||
<data name="label41.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 41</value>
|
||||
</data>
|
||||
<data name="label40.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 40</value>
|
||||
</data>
|
||||
<data name="label39.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 39</value>
|
||||
</data>
|
||||
<data name="label38.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 38</value>
|
||||
</data>
|
||||
<data name="label37.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 37</value>
|
||||
</data>
|
||||
<data name="label36.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 36</value>
|
||||
</data>
|
||||
<data name="label35.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 35</value>
|
||||
</data>
|
||||
<data name="label34.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 34</value>
|
||||
</data>
|
||||
<data name="label33.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 16</value>
|
||||
</data>
|
||||
<data name="label32.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 17</value>
|
||||
</data>
|
||||
<data name="label31.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 18</value>
|
||||
</data>
|
||||
<data name="label30.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 19</value>
|
||||
</data>
|
||||
<data name="label29.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 20</value>
|
||||
</data>
|
||||
<data name="label28.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 21</value>
|
||||
</data>
|
||||
<data name="label27.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 22</value>
|
||||
</data>
|
||||
<data name="label26.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 23</value>
|
||||
</data>
|
||||
<data name="label25.Text" xml:space="preserve">
|
||||
<value>Nr seryjny 24</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Dane partii</value>
|
||||
</data>
|
||||
</root>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,276 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="okButton.Text" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="orderGroupBox.Text" xml:space="preserve">
|
||||
<value>Порядок</value>
|
||||
</data>
|
||||
<data name="clearButton.Text" xml:space="preserve">
|
||||
<value>Очистить</value>
|
||||
</data>
|
||||
<data name="label1.Text" xml:space="preserve">
|
||||
<value>Серийный номер 1</value>
|
||||
</data>
|
||||
<data name="label2.Text" xml:space="preserve">
|
||||
<value>Серийный номер 2</value>
|
||||
</data>
|
||||
<data name="label3.Text" xml:space="preserve">
|
||||
<value>Серийный номер 3</value>
|
||||
</data>
|
||||
<data name="label4.Text" xml:space="preserve">
|
||||
<value>Серийный номер 4</value>
|
||||
</data>
|
||||
<data name="label5.Text" xml:space="preserve">
|
||||
<value>Серийный номер 5</value>
|
||||
</data>
|
||||
<data name="label6.Text" xml:space="preserve">
|
||||
<value>Серийный номер 6</value>
|
||||
</data>
|
||||
<data name="label7.Text" xml:space="preserve">
|
||||
<value>Серийный номер 7</value>
|
||||
</data>
|
||||
<data name="label8.Text" xml:space="preserve">
|
||||
<value>Серийный номер 8</value>
|
||||
</data>
|
||||
<data name="label9.Text" xml:space="preserve">
|
||||
<value>Серийный номер 9</value>
|
||||
</data>
|
||||
<data name="label10.Text" xml:space="preserve">
|
||||
<value>Серийный номер 10</value>
|
||||
</data>
|
||||
<data name="label11.Text" xml:space="preserve">
|
||||
<value>Серийный номер 11</value>
|
||||
</data>
|
||||
<data name="label12.Text" xml:space="preserve">
|
||||
<value>Серийный номер 12</value>
|
||||
</data>
|
||||
<data name="label13.Text" xml:space="preserve">
|
||||
<value>Серийный номер 13</value>
|
||||
</data>
|
||||
<data name="label14.Text" xml:space="preserve">
|
||||
<value>Серийный номер 14</value>
|
||||
</data>
|
||||
<data name="label15.Text" xml:space="preserve">
|
||||
<value>Серийный номер 15</value>
|
||||
</data>
|
||||
<data name="label16.Text" xml:space="preserve">
|
||||
<value>Серийный номер 16</value>
|
||||
</data>
|
||||
<data name="label17.Text" xml:space="preserve">
|
||||
<value>Серийный номер 17</value>
|
||||
</data>
|
||||
<data name="label18.Text" xml:space="preserve">
|
||||
<value>Серийный номер 18</value>
|
||||
</data>
|
||||
<data name="label19.Text" xml:space="preserve">
|
||||
<value>Серийный номер 19</value>
|
||||
</data>
|
||||
<data name="label20.Text" xml:space="preserve">
|
||||
<value>Серийный номер 20</value>
|
||||
</data>
|
||||
<data name="label21.Text" xml:space="preserve">
|
||||
<value>Серийный номер 21</value>
|
||||
</data>
|
||||
<data name="label22.Text" xml:space="preserve">
|
||||
<value>Серийный номер 22</value>
|
||||
</data>
|
||||
<data name="label23.Text" xml:space="preserve">
|
||||
<value>Серийный номер 23</value>
|
||||
</data>
|
||||
<data name="label24.Text" xml:space="preserve">
|
||||
<value>Серийный номер 24</value>
|
||||
</data>
|
||||
<data name="label48.Text" xml:space="preserve">
|
||||
<value>Серийный номер 48</value>
|
||||
</data>
|
||||
<data name="label47.Text" xml:space="preserve">
|
||||
<value>Серийный номер 47</value>
|
||||
</data>
|
||||
<data name="label46.Text" xml:space="preserve">
|
||||
<value>Серийный номер 46</value>
|
||||
</data>
|
||||
<data name="label45.Text" xml:space="preserve">
|
||||
<value>Серийный номер 45</value>
|
||||
</data>
|
||||
<data name="label44.Text" xml:space="preserve">
|
||||
<value>Серийный номер 44</value>
|
||||
</data>
|
||||
<data name="label43.Text" xml:space="preserve">
|
||||
<value>Серийный номер 43</value>
|
||||
</data>
|
||||
<data name="label42.Text" xml:space="preserve">
|
||||
<value>Серийный номер 42</value>
|
||||
</data>
|
||||
<data name="label41.Text" xml:space="preserve">
|
||||
<value>Серийный номер 41</value>
|
||||
</data>
|
||||
<data name="label40.Text" xml:space="preserve">
|
||||
<value>Серийный номер 40</value>
|
||||
</data>
|
||||
<data name="label39.Text" xml:space="preserve">
|
||||
<value>Серийный номер 39</value>
|
||||
</data>
|
||||
<data name="label38.Text" xml:space="preserve">
|
||||
<value>Серийный номер 38</value>
|
||||
</data>
|
||||
<data name="label37.Text" xml:space="preserve">
|
||||
<value>Серийный номер 37</value>
|
||||
</data>
|
||||
<data name="label36.Text" xml:space="preserve">
|
||||
<value>Серийный номер 36</value>
|
||||
</data>
|
||||
<data name="label35.Text" xml:space="preserve">
|
||||
<value>Серийный номер 35</value>
|
||||
</data>
|
||||
<data name="label34.Text" xml:space="preserve">
|
||||
<value>Серийный номер 34</value>
|
||||
</data>
|
||||
<data name="label33.Text" xml:space="preserve">
|
||||
<value>Серийный номер 33</value>
|
||||
</data>
|
||||
<data name="label32.Text" xml:space="preserve">
|
||||
<value>Серийный номер 32</value>
|
||||
</data>
|
||||
<data name="label31.Text" xml:space="preserve">
|
||||
<value>Серийный номер 31</value>
|
||||
</data>
|
||||
<data name="label30.Text" xml:space="preserve">
|
||||
<value>Серийный номер 30</value>
|
||||
</data>
|
||||
<data name="label29.Text" xml:space="preserve">
|
||||
<value>Серийный номер 29</value>
|
||||
</data>
|
||||
<data name="label28.Text" xml:space="preserve">
|
||||
<value>Серийный номер 28</value>
|
||||
</data>
|
||||
<data name="label27.Text" xml:space="preserve">
|
||||
<value>Серийный номер 27</value>
|
||||
</data>
|
||||
<data name="label26.Text" xml:space="preserve">
|
||||
<value>Серийный номер 26</value>
|
||||
</data>
|
||||
<data name="label25.Text" xml:space="preserve">
|
||||
<value>Серийный номер 25</value>
|
||||
</data>
|
||||
<data name="$this.Text" xml:space="preserve">
|
||||
<value>Пакетные данные</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,165 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using log4net;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
public partial class CycleEndForm : Form, GenericDevices.IHasCompleted
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(CycleEndForm));
|
||||
|
||||
/// <summary> Number of text boxes for serial numbers </summary>
|
||||
public readonly int WaterMetersCount;
|
||||
readonly int lineSize;
|
||||
|
||||
// To be retrieved after the form closes
|
||||
public string[] EndStateText;
|
||||
|
||||
// Set to 'true' when the form closes
|
||||
public bool Completed { get { return completed; } }
|
||||
bool completed;
|
||||
|
||||
int textBoxesCount;
|
||||
Label[] labels;
|
||||
TextBox[] textBoxes;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
|
||||
public CycleEndForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
ControlBox = false;
|
||||
|
||||
labels = new Label[]
|
||||
{
|
||||
label1, label2, label3, label4, label5, label6, label7, label8, label9, label10,
|
||||
label11, label12, label13, label14, label15, label16, label17, label18, label19, label20,
|
||||
label21, label22, label23, label24,
|
||||
};
|
||||
textBoxes = new TextBox[]
|
||||
{
|
||||
textBox1, textBox2, textBox3, textBox4, textBox5, textBox6,
|
||||
textBox7, textBox8, textBox9, textBox10, textBox11, textBox12,
|
||||
textBox13, textBox14, textBox15, textBox16, textBox17, textBox18,
|
||||
textBox19, textBox20, textBox21, textBox22, textBox23, textBox24,
|
||||
};
|
||||
textBoxesCount = textBoxes.Length;
|
||||
this.WaterMetersCount = textBoxesCount;
|
||||
this.lineSize = textBoxesCount / 2;
|
||||
|
||||
completed = false;
|
||||
StartForceCloseHandler();
|
||||
}
|
||||
|
||||
/// <summary> Parameterless constructor for 3 watermeters </summary>
|
||||
public CycleEndForm(int waterMetersCount, int lineSize)
|
||||
: this()
|
||||
{
|
||||
this.WaterMetersCount = waterMetersCount;
|
||||
this.lineSize = lineSize;
|
||||
ShuffleTextBoxes(waterMetersCount, lineSize);
|
||||
EndStateText = new string[WaterMetersCount];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Make sure the layout of labels/text boxes on the screen
|
||||
/// corresponds to the layout of watermeters of the test bench.
|
||||
/// </summary>
|
||||
/// <param name="wmsCount">Number of watermeters</param>
|
||||
/// <param name="lineSize">Number of watermeters in one line</param>
|
||||
void ShuffleTextBoxes(int wmsCount, int lineSize)
|
||||
{
|
||||
for (int i = 0; i < textBoxesCount; i++)
|
||||
{
|
||||
labels[i].Visible = false;
|
||||
textBoxes[i].Visible = false;
|
||||
}
|
||||
|
||||
if (wmsCount < textBoxesCount && lineSize > 0)
|
||||
{
|
||||
int nrLines;
|
||||
int realLineSize;
|
||||
if (WaterMetersCount <= 6)
|
||||
{
|
||||
realLineSize = WaterMetersCount;
|
||||
nrLines = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
nrLines = (wmsCount + lineSize - 1) / lineSize;
|
||||
realLineSize = lineSize;
|
||||
}
|
||||
int gap = (textBoxesCount - wmsCount) / nrLines;
|
||||
|
||||
int dest = 0;
|
||||
for (int l = 0; l < nrLines; l++)
|
||||
{
|
||||
for (int i = 0; i < realLineSize; i++)
|
||||
{
|
||||
labels[dest] = labels[l * lineSize + l * gap + i];
|
||||
textBoxes[dest] = textBoxes[l * lineSize + l * gap + i];
|
||||
labels[dest].Visible = true;
|
||||
textBoxes[dest].Visible = true;
|
||||
dest++;
|
||||
}
|
||||
}
|
||||
textBoxesCount = wmsCount;
|
||||
|
||||
Height = 60 + 36 * realLineSize;
|
||||
}
|
||||
}
|
||||
|
||||
private void CycleEndForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
Localize();
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
Text = Strings.Data;
|
||||
okButton.Text = Strings.OkBtnText;
|
||||
|
||||
for (int i = 0; i < WaterMetersCount; i++)
|
||||
{
|
||||
labels[i].Text = string.Format("{0} {1}:", Strings.Water_Meter, (i + 1).ToString());
|
||||
}
|
||||
}
|
||||
|
||||
private void okButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
for (int i = 0; i < WaterMetersCount; i++)
|
||||
{
|
||||
EndStateText[i] = textBoxes[i].Text;
|
||||
}
|
||||
|
||||
completed = true;
|
||||
Close();
|
||||
}
|
||||
|
||||
#region Forced close handling
|
||||
|
||||
public void StartForceCloseHandler()
|
||||
{
|
||||
UiBridge.Bridge.CloseModelessFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnForceClose), sender, args); }
|
||||
else OnForceClose(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
void OnForceClose(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,652 @@
|
||||
///
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
///
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
partial class CycleEndForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.textBox2 = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.textBox3 = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.textBox4 = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.textBox5 = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.textBox6 = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.textBox7 = new System.Windows.Forms.TextBox();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.textBox8 = new System.Windows.Forms.TextBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.textBox9 = new System.Windows.Forms.TextBox();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.textBox10 = new System.Windows.Forms.TextBox();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.textBox11 = new System.Windows.Forms.TextBox();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.textBox12 = new System.Windows.Forms.TextBox();
|
||||
this.label12 = new System.Windows.Forms.Label();
|
||||
this.textBox13 = new System.Windows.Forms.TextBox();
|
||||
this.label13 = new System.Windows.Forms.Label();
|
||||
this.textBox14 = new System.Windows.Forms.TextBox();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.textBox15 = new System.Windows.Forms.TextBox();
|
||||
this.label15 = new System.Windows.Forms.Label();
|
||||
this.textBox16 = new System.Windows.Forms.TextBox();
|
||||
this.label16 = new System.Windows.Forms.Label();
|
||||
this.textBox17 = new System.Windows.Forms.TextBox();
|
||||
this.label17 = new System.Windows.Forms.Label();
|
||||
this.textBox18 = new System.Windows.Forms.TextBox();
|
||||
this.label18 = new System.Windows.Forms.Label();
|
||||
this.textBox19 = new System.Windows.Forms.TextBox();
|
||||
this.label19 = new System.Windows.Forms.Label();
|
||||
this.textBox20 = new System.Windows.Forms.TextBox();
|
||||
this.label20 = new System.Windows.Forms.Label();
|
||||
this.textBox21 = new System.Windows.Forms.TextBox();
|
||||
this.label21 = new System.Windows.Forms.Label();
|
||||
this.textBox22 = new System.Windows.Forms.TextBox();
|
||||
this.label22 = new System.Windows.Forms.Label();
|
||||
this.textBox23 = new System.Windows.Forms.TextBox();
|
||||
this.label23 = new System.Windows.Forms.Label();
|
||||
this.textBox24 = new System.Windows.Forms.TextBox();
|
||||
this.label24 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// textBox2
|
||||
//
|
||||
this.textBox2.Location = new System.Drawing.Point(205, 66);
|
||||
this.textBox2.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox2.Name = "textBox2";
|
||||
this.textBox2.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox2.TabIndex = 1;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(38, 71);
|
||||
this.label2.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(62, 18);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Stand:";
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Location = new System.Drawing.Point(205, 30);
|
||||
this.textBox1.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox1.TabIndex = 1;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(38, 35);
|
||||
this.label1.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(62, 18);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Stand:";
|
||||
//
|
||||
// okButton
|
||||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.Font = new System.Drawing.Font("Verdana", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.okButton.ForeColor = System.Drawing.Color.Black;
|
||||
this.okButton.Location = new System.Drawing.Point(832, 30);
|
||||
this.okButton.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(90, 60);
|
||||
this.okButton.TabIndex = 7;
|
||||
this.okButton.Text = "OK";
|
||||
this.okButton.UseVisualStyleBackColor = true;
|
||||
this.okButton.Click += new System.EventHandler(this.okButton_Click);
|
||||
//
|
||||
// textBox3
|
||||
//
|
||||
this.textBox3.Location = new System.Drawing.Point(205, 102);
|
||||
this.textBox3.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox3.Name = "textBox3";
|
||||
this.textBox3.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox3.TabIndex = 1;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(38, 107);
|
||||
this.label3.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(62, 18);
|
||||
this.label3.TabIndex = 0;
|
||||
this.label3.Text = "Stand:";
|
||||
//
|
||||
// textBox4
|
||||
//
|
||||
this.textBox4.Location = new System.Drawing.Point(205, 138);
|
||||
this.textBox4.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox4.Name = "textBox4";
|
||||
this.textBox4.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox4.TabIndex = 1;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(38, 143);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(62, 18);
|
||||
this.label4.TabIndex = 0;
|
||||
this.label4.Text = "Stand:";
|
||||
//
|
||||
// textBox5
|
||||
//
|
||||
this.textBox5.Location = new System.Drawing.Point(205, 174);
|
||||
this.textBox5.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox5.Name = "textBox5";
|
||||
this.textBox5.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox5.TabIndex = 1;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(38, 179);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(62, 18);
|
||||
this.label5.TabIndex = 0;
|
||||
this.label5.Text = "Stand:";
|
||||
//
|
||||
// textBox6
|
||||
//
|
||||
this.textBox6.Location = new System.Drawing.Point(205, 210);
|
||||
this.textBox6.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox6.Name = "textBox6";
|
||||
this.textBox6.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox6.TabIndex = 1;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(38, 215);
|
||||
this.label6.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(62, 18);
|
||||
this.label6.TabIndex = 0;
|
||||
this.label6.Text = "Stand:";
|
||||
//
|
||||
// textBox7
|
||||
//
|
||||
this.textBox7.Location = new System.Drawing.Point(205, 246);
|
||||
this.textBox7.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox7.Name = "textBox7";
|
||||
this.textBox7.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox7.TabIndex = 9;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(38, 251);
|
||||
this.label7.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(62, 18);
|
||||
this.label7.TabIndex = 8;
|
||||
this.label7.Text = "Stand:";
|
||||
//
|
||||
// textBox8
|
||||
//
|
||||
this.textBox8.Location = new System.Drawing.Point(205, 282);
|
||||
this.textBox8.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox8.Name = "textBox8";
|
||||
this.textBox8.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox8.TabIndex = 11;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(38, 287);
|
||||
this.label8.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(62, 18);
|
||||
this.label8.TabIndex = 10;
|
||||
this.label8.Text = "Stand:";
|
||||
//
|
||||
// textBox9
|
||||
//
|
||||
this.textBox9.Location = new System.Drawing.Point(205, 318);
|
||||
this.textBox9.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox9.Name = "textBox9";
|
||||
this.textBox9.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox9.TabIndex = 13;
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(38, 323);
|
||||
this.label9.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(62, 18);
|
||||
this.label9.TabIndex = 12;
|
||||
this.label9.Text = "Stand:";
|
||||
//
|
||||
// textBox10
|
||||
//
|
||||
this.textBox10.Location = new System.Drawing.Point(205, 354);
|
||||
this.textBox10.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox10.Name = "textBox10";
|
||||
this.textBox10.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox10.TabIndex = 15;
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(38, 359);
|
||||
this.label10.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(62, 18);
|
||||
this.label10.TabIndex = 14;
|
||||
this.label10.Text = "Stand:";
|
||||
//
|
||||
// textBox11
|
||||
//
|
||||
this.textBox11.Location = new System.Drawing.Point(205, 390);
|
||||
this.textBox11.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox11.Name = "textBox11";
|
||||
this.textBox11.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox11.TabIndex = 17;
|
||||
//
|
||||
// label11
|
||||
//
|
||||
this.label11.AutoSize = true;
|
||||
this.label11.Location = new System.Drawing.Point(38, 395);
|
||||
this.label11.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label11.Name = "label11";
|
||||
this.label11.Size = new System.Drawing.Size(62, 18);
|
||||
this.label11.TabIndex = 16;
|
||||
this.label11.Text = "Stand:";
|
||||
//
|
||||
// textBox12
|
||||
//
|
||||
this.textBox12.Location = new System.Drawing.Point(205, 426);
|
||||
this.textBox12.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox12.Name = "textBox12";
|
||||
this.textBox12.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox12.TabIndex = 19;
|
||||
//
|
||||
// label12
|
||||
//
|
||||
this.label12.AutoSize = true;
|
||||
this.label12.Location = new System.Drawing.Point(38, 431);
|
||||
this.label12.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label12.Name = "label12";
|
||||
this.label12.Size = new System.Drawing.Size(62, 18);
|
||||
this.label12.TabIndex = 18;
|
||||
this.label12.Text = "Stand:";
|
||||
//
|
||||
// textBox13
|
||||
//
|
||||
this.textBox13.Location = new System.Drawing.Point(623, 30);
|
||||
this.textBox13.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox13.Name = "textBox13";
|
||||
this.textBox13.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox13.TabIndex = 21;
|
||||
//
|
||||
// label13
|
||||
//
|
||||
this.label13.AutoSize = true;
|
||||
this.label13.Location = new System.Drawing.Point(456, 35);
|
||||
this.label13.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label13.Name = "label13";
|
||||
this.label13.Size = new System.Drawing.Size(62, 18);
|
||||
this.label13.TabIndex = 20;
|
||||
this.label13.Text = "Stand:";
|
||||
//
|
||||
// textBox14
|
||||
//
|
||||
this.textBox14.Location = new System.Drawing.Point(623, 66);
|
||||
this.textBox14.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox14.Name = "textBox14";
|
||||
this.textBox14.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox14.TabIndex = 23;
|
||||
//
|
||||
// label14
|
||||
//
|
||||
this.label14.AutoSize = true;
|
||||
this.label14.Location = new System.Drawing.Point(456, 71);
|
||||
this.label14.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label14.Name = "label14";
|
||||
this.label14.Size = new System.Drawing.Size(62, 18);
|
||||
this.label14.TabIndex = 22;
|
||||
this.label14.Text = "Stand:";
|
||||
//
|
||||
// textBox15
|
||||
//
|
||||
this.textBox15.Location = new System.Drawing.Point(623, 102);
|
||||
this.textBox15.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox15.Name = "textBox15";
|
||||
this.textBox15.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox15.TabIndex = 25;
|
||||
//
|
||||
// label15
|
||||
//
|
||||
this.label15.AutoSize = true;
|
||||
this.label15.Location = new System.Drawing.Point(456, 107);
|
||||
this.label15.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label15.Name = "label15";
|
||||
this.label15.Size = new System.Drawing.Size(62, 18);
|
||||
this.label15.TabIndex = 24;
|
||||
this.label15.Text = "Stand:";
|
||||
//
|
||||
// textBox16
|
||||
//
|
||||
this.textBox16.Location = new System.Drawing.Point(623, 138);
|
||||
this.textBox16.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox16.Name = "textBox16";
|
||||
this.textBox16.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox16.TabIndex = 27;
|
||||
//
|
||||
// label16
|
||||
//
|
||||
this.label16.AutoSize = true;
|
||||
this.label16.Location = new System.Drawing.Point(456, 143);
|
||||
this.label16.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label16.Name = "label16";
|
||||
this.label16.Size = new System.Drawing.Size(62, 18);
|
||||
this.label16.TabIndex = 26;
|
||||
this.label16.Text = "Stand:";
|
||||
//
|
||||
// textBox17
|
||||
//
|
||||
this.textBox17.Location = new System.Drawing.Point(623, 174);
|
||||
this.textBox17.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox17.Name = "textBox17";
|
||||
this.textBox17.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox17.TabIndex = 29;
|
||||
//
|
||||
// label17
|
||||
//
|
||||
this.label17.AutoSize = true;
|
||||
this.label17.Location = new System.Drawing.Point(456, 179);
|
||||
this.label17.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label17.Name = "label17";
|
||||
this.label17.Size = new System.Drawing.Size(62, 18);
|
||||
this.label17.TabIndex = 28;
|
||||
this.label17.Text = "Stand:";
|
||||
//
|
||||
// textBox18
|
||||
//
|
||||
this.textBox18.Location = new System.Drawing.Point(623, 210);
|
||||
this.textBox18.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox18.Name = "textBox18";
|
||||
this.textBox18.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox18.TabIndex = 31;
|
||||
//
|
||||
// label18
|
||||
//
|
||||
this.label18.AutoSize = true;
|
||||
this.label18.Location = new System.Drawing.Point(456, 215);
|
||||
this.label18.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label18.Name = "label18";
|
||||
this.label18.Size = new System.Drawing.Size(62, 18);
|
||||
this.label18.TabIndex = 30;
|
||||
this.label18.Text = "Stand:";
|
||||
//
|
||||
// textBox19
|
||||
//
|
||||
this.textBox19.Location = new System.Drawing.Point(623, 246);
|
||||
this.textBox19.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox19.Name = "textBox19";
|
||||
this.textBox19.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox19.TabIndex = 33;
|
||||
//
|
||||
// label19
|
||||
//
|
||||
this.label19.AutoSize = true;
|
||||
this.label19.Location = new System.Drawing.Point(456, 251);
|
||||
this.label19.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label19.Name = "label19";
|
||||
this.label19.Size = new System.Drawing.Size(62, 18);
|
||||
this.label19.TabIndex = 32;
|
||||
this.label19.Text = "Stand:";
|
||||
//
|
||||
// textBox20
|
||||
//
|
||||
this.textBox20.Location = new System.Drawing.Point(623, 282);
|
||||
this.textBox20.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox20.Name = "textBox20";
|
||||
this.textBox20.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox20.TabIndex = 35;
|
||||
//
|
||||
// label20
|
||||
//
|
||||
this.label20.AutoSize = true;
|
||||
this.label20.Location = new System.Drawing.Point(456, 287);
|
||||
this.label20.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label20.Name = "label20";
|
||||
this.label20.Size = new System.Drawing.Size(62, 18);
|
||||
this.label20.TabIndex = 34;
|
||||
this.label20.Text = "Stand:";
|
||||
//
|
||||
// textBox21
|
||||
//
|
||||
this.textBox21.Location = new System.Drawing.Point(623, 318);
|
||||
this.textBox21.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox21.Name = "textBox21";
|
||||
this.textBox21.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox21.TabIndex = 37;
|
||||
//
|
||||
// label21
|
||||
//
|
||||
this.label21.AutoSize = true;
|
||||
this.label21.Location = new System.Drawing.Point(456, 323);
|
||||
this.label21.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label21.Name = "label21";
|
||||
this.label21.Size = new System.Drawing.Size(62, 18);
|
||||
this.label21.TabIndex = 36;
|
||||
this.label21.Text = "Stand:";
|
||||
//
|
||||
// textBox22
|
||||
//
|
||||
this.textBox22.Location = new System.Drawing.Point(623, 354);
|
||||
this.textBox22.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox22.Name = "textBox22";
|
||||
this.textBox22.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox22.TabIndex = 39;
|
||||
//
|
||||
// label22
|
||||
//
|
||||
this.label22.AutoSize = true;
|
||||
this.label22.Location = new System.Drawing.Point(456, 359);
|
||||
this.label22.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label22.Name = "label22";
|
||||
this.label22.Size = new System.Drawing.Size(62, 18);
|
||||
this.label22.TabIndex = 38;
|
||||
this.label22.Text = "Stand:";
|
||||
//
|
||||
// textBox23
|
||||
//
|
||||
this.textBox23.Location = new System.Drawing.Point(623, 390);
|
||||
this.textBox23.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox23.Name = "textBox23";
|
||||
this.textBox23.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox23.TabIndex = 41;
|
||||
//
|
||||
// label23
|
||||
//
|
||||
this.label23.AutoSize = true;
|
||||
this.label23.Location = new System.Drawing.Point(456, 395);
|
||||
this.label23.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label23.Name = "label23";
|
||||
this.label23.Size = new System.Drawing.Size(62, 18);
|
||||
this.label23.TabIndex = 40;
|
||||
this.label23.Text = "Stand:";
|
||||
//
|
||||
// textBox24
|
||||
//
|
||||
this.textBox24.Location = new System.Drawing.Point(623, 426);
|
||||
this.textBox24.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.textBox24.Name = "textBox24";
|
||||
this.textBox24.Size = new System.Drawing.Size(169, 27);
|
||||
this.textBox24.TabIndex = 43;
|
||||
//
|
||||
// label24
|
||||
//
|
||||
this.label24.AutoSize = true;
|
||||
this.label24.Location = new System.Drawing.Point(456, 431);
|
||||
this.label24.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
|
||||
this.label24.Name = "label24";
|
||||
this.label24.Size = new System.Drawing.Size(62, 18);
|
||||
this.label24.TabIndex = 42;
|
||||
this.label24.Text = "Stand:";
|
||||
//
|
||||
// CycleEndForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(10F, 18F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.DarkGray;
|
||||
this.ClientSize = new System.Drawing.Size(959, 489);
|
||||
this.Controls.Add(this.textBox24);
|
||||
this.Controls.Add(this.label24);
|
||||
this.Controls.Add(this.textBox23);
|
||||
this.Controls.Add(this.label23);
|
||||
this.Controls.Add(this.textBox22);
|
||||
this.Controls.Add(this.label22);
|
||||
this.Controls.Add(this.textBox21);
|
||||
this.Controls.Add(this.label21);
|
||||
this.Controls.Add(this.textBox20);
|
||||
this.Controls.Add(this.label20);
|
||||
this.Controls.Add(this.textBox19);
|
||||
this.Controls.Add(this.label19);
|
||||
this.Controls.Add(this.textBox18);
|
||||
this.Controls.Add(this.label18);
|
||||
this.Controls.Add(this.textBox17);
|
||||
this.Controls.Add(this.label17);
|
||||
this.Controls.Add(this.textBox16);
|
||||
this.Controls.Add(this.label16);
|
||||
this.Controls.Add(this.textBox15);
|
||||
this.Controls.Add(this.label15);
|
||||
this.Controls.Add(this.textBox14);
|
||||
this.Controls.Add(this.label14);
|
||||
this.Controls.Add(this.textBox13);
|
||||
this.Controls.Add(this.label13);
|
||||
this.Controls.Add(this.textBox12);
|
||||
this.Controls.Add(this.label12);
|
||||
this.Controls.Add(this.textBox11);
|
||||
this.Controls.Add(this.label11);
|
||||
this.Controls.Add(this.textBox10);
|
||||
this.Controls.Add(this.label10);
|
||||
this.Controls.Add(this.textBox9);
|
||||
this.Controls.Add(this.label9);
|
||||
this.Controls.Add(this.textBox8);
|
||||
this.Controls.Add(this.label8);
|
||||
this.Controls.Add(this.textBox7);
|
||||
this.Controls.Add(this.label7);
|
||||
this.Controls.Add(this.textBox6);
|
||||
this.Controls.Add(this.label6);
|
||||
this.Controls.Add(this.textBox5);
|
||||
this.Controls.Add(this.label5);
|
||||
this.Controls.Add(this.textBox4);
|
||||
this.Controls.Add(this.label4);
|
||||
this.Controls.Add(this.textBox3);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.textBox2);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.textBox1);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.okButton);
|
||||
this.Font = new System.Drawing.Font("Verdana", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
|
||||
this.Margin = new System.Windows.Forms.Padding(5, 4, 5, 4);
|
||||
this.Name = "CycleEndForm";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.Text = "Daten";
|
||||
this.TopMost = true;
|
||||
this.Load += new System.EventHandler(this.CycleEndForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox textBox2;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.TextBox textBox1;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button okButton;
|
||||
private System.Windows.Forms.TextBox textBox3;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox textBox4;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox textBox5;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox textBox6;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox textBox7;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.TextBox textBox8;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.TextBox textBox9;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.TextBox textBox10;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.TextBox textBox11;
|
||||
private System.Windows.Forms.Label label11;
|
||||
private System.Windows.Forms.TextBox textBox12;
|
||||
private System.Windows.Forms.Label label12;
|
||||
private System.Windows.Forms.TextBox textBox13;
|
||||
private System.Windows.Forms.Label label13;
|
||||
private System.Windows.Forms.TextBox textBox14;
|
||||
private System.Windows.Forms.Label label14;
|
||||
private System.Windows.Forms.TextBox textBox15;
|
||||
private System.Windows.Forms.Label label15;
|
||||
private System.Windows.Forms.TextBox textBox16;
|
||||
private System.Windows.Forms.Label label16;
|
||||
private System.Windows.Forms.TextBox textBox17;
|
||||
private System.Windows.Forms.Label label17;
|
||||
private System.Windows.Forms.TextBox textBox18;
|
||||
private System.Windows.Forms.Label label18;
|
||||
private System.Windows.Forms.TextBox textBox19;
|
||||
private System.Windows.Forms.Label label19;
|
||||
private System.Windows.Forms.TextBox textBox20;
|
||||
private System.Windows.Forms.Label label20;
|
||||
private System.Windows.Forms.TextBox textBox21;
|
||||
private System.Windows.Forms.Label label21;
|
||||
private System.Windows.Forms.TextBox textBox22;
|
||||
private System.Windows.Forms.Label label22;
|
||||
private System.Windows.Forms.TextBox textBox23;
|
||||
private System.Windows.Forms.Label label23;
|
||||
private System.Windows.Forms.TextBox textBox24;
|
||||
private System.Windows.Forms.Label label24;
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,501 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2022 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using log4net;
|
||||
using Common;
|
||||
using TBF.Rig.GenericDevices;
|
||||
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
public class EntryForm : ComponentBase, IOperation, IDataEntryForCamera, IHasWMStatesForm, IHasCycleBeginForm, IHasCycleEndForm
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(EntryForm));
|
||||
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
|
||||
|
||||
const string DfltOcrWorkspaceFolder = "C:\\TBF\\OCR\\";
|
||||
const string DfltOcrWorkspaceExt = ".vrws";
|
||||
|
||||
static Dictionary<string, OcrVidi> ocrDictionary = new Dictionary<string, OcrVidi>();
|
||||
|
||||
|
||||
readonly EntryFormCfg entryFormCfg;
|
||||
|
||||
public string OcrWorkspace
|
||||
{
|
||||
get { return (entryFormCfg != null && entryFormCfg.ProcParams != null) ? entryFormCfg.ProcParams.OcrWorkspace : string.Empty; }
|
||||
}
|
||||
|
||||
public string OcrStream
|
||||
{
|
||||
get { return (entryFormCfg != null && entryFormCfg.ProcParams != null) ? entryFormCfg.ProcParams.OcrStream : string.Empty; }
|
||||
}
|
||||
|
||||
IRegReader[] regReaders;
|
||||
|
||||
|
||||
public string[] StartImages
|
||||
{
|
||||
get { return startImages; }
|
||||
set
|
||||
{
|
||||
/*if (entryFormCfg.DebugLevel == DebugMode.Simulate )
|
||||
{
|
||||
startImages = new string[] { "C:\\TBF\\Images\\Test\\Image1.jpg", "C:\\TBF\\Images\\Test\\Image2.jpg",
|
||||
"C:\\TBF\\Images\\Test\\Image3.jpg", "C:\\TBF\\Images\\Test\\Image4.jpg", "C:\\TBF\\Images\\Test\\Image5.jpg",
|
||||
"C:\\TBF\\Images\\Test\\Image1.jpg", "C:\\TBF\\Images\\Test\\Image2.jpg", "C:\\TBF\\Images\\Test\\Image3.jpg",
|
||||
"C:\\TBF\\Images\\Test\\Image4.jpg", "C:\\TBF\\Images\\Test\\Image5.jpg", "C:\\TBF\\Images\\Test\\Image1.jpg",
|
||||
"C:\\TBF\\Images\\Test\\Image2.jpg", "C:\\TBF\\Images\\Test\\Image3.jpg", "C:\\TBF\\Images\\Test\\Image4.jpg",
|
||||
"C:\\TBF\\Images\\Test\\Image5.jpg", "C:\\TBF\\Images\\Test\\Image1.jpg", "C:\\TBF\\Images\\Test\\Image2.jpg",
|
||||
"C:\\TBF\\Images\\Test\\Image3.jpg", "C:\\TBF\\Images\\Test\\Image4.jpg", "C:\\TBF\\Images\\Test\\Image5.jpg" };
|
||||
}
|
||||
else*/
|
||||
{
|
||||
startImages = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
string[] startImages;
|
||||
|
||||
public string[] EndImages
|
||||
{
|
||||
get { return endImages; }
|
||||
set { endImages = value; }
|
||||
}
|
||||
string[] endImages;
|
||||
|
||||
public bool SaveImages
|
||||
{
|
||||
get { return entryFormCfg.SaveImages; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Properties set by the Begin, End and WMStates form
|
||||
/// </summary>
|
||||
bool[] disabled; /// This array is shared between forms
|
||||
|
||||
string[] wmCycleEndState;
|
||||
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;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
string[] wmStartStateStr;
|
||||
|
||||
|
||||
System.Windows.Forms.Form modelessDlg;
|
||||
public bool Completed { get { return (modelessDlg is IHasCompleted) ? (modelessDlg as IHasCompleted).Completed : true; } }
|
||||
|
||||
double refVolume;
|
||||
double errLimLo;
|
||||
double errLimHi;
|
||||
|
||||
bool resultSaved; /// Set in Run() when results are saved
|
||||
|
||||
IList<Results.Entities.WaterMeter> waterMeters; /// Reference to ...ProcessData.BatchRslts.WaterMeters[]
|
||||
|
||||
public string TestStartImgName(int wmNr0, string testName)
|
||||
{
|
||||
if (waterMeters == null || wmNr0 < 0 || wmNr0 >= waterMeters.Count)
|
||||
{
|
||||
return string.Format("{0}-start.bmp", testName).Replace(' ','_');
|
||||
}
|
||||
|
||||
return string.Format("{0}-start.bmp", testName).Replace(' ','_');
|
||||
}
|
||||
|
||||
public string TestEndImgName(int wmNr0, string testName)
|
||||
{
|
||||
if (waterMeters == null || wmNr0 < 0 || wmNr0 >= waterMeters.Count)
|
||||
{
|
||||
return string.Format("{0}-end.bmp", testName).Replace(' ','_');
|
||||
}
|
||||
|
||||
return string.Format("{0}-end.bmp", testName).Replace(' ','_');
|
||||
}
|
||||
|
||||
public enum CurrentOp
|
||||
{
|
||||
None,
|
||||
ShowFormAtCycleBeginning,
|
||||
ShowFormAtCycleEnd,
|
||||
TestStartStates,
|
||||
TestEndStates,
|
||||
DeferredTestEval,
|
||||
TestBothStates,
|
||||
}
|
||||
|
||||
CurrentOp currentOp;
|
||||
|
||||
public EntryForm() { }
|
||||
|
||||
public EntryForm(Generic.IComponentCfg cfg)
|
||||
: base(cfg)
|
||||
{
|
||||
entryFormCfg = cfg as EntryFormCfg;
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
disabled = new bool[TBF.Data.WMsCount];
|
||||
wmStartState = new double[TBF.Data.WMsCount];
|
||||
wmStartStateStr = new string[TBF.Data.WMsCount];
|
||||
wmEndState = new double[TBF.Data.WMsCount];
|
||||
wmCycleEndState = new string[TBF.Data.WMsCount];
|
||||
currentOp = CurrentOp.None;
|
||||
log.FatalFormat("{0} initialized: {1}", Name, this);
|
||||
}
|
||||
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowCycleBeginFormOp()
|
||||
{
|
||||
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
|
||||
currentOp = CurrentOp.ShowFormAtCycleBeginning;
|
||||
this.waterMeters = TBF.Rig.Sequences.ProcessData.BatchRslts.Batch.WaterMeters;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowCycleEndFormOp(IList<Results.Entities.WaterMeter> waterMeters)
|
||||
{
|
||||
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
|
||||
currentOp = CurrentOp.ShowFormAtCycleEnd;
|
||||
this.waterMeters = waterMeters;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestStartFormOp(IRegReader[] regReaders)
|
||||
{
|
||||
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
|
||||
currentOp = CurrentOp.TestStartStates;
|
||||
this.regReaders = regReaders;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <returns>null (not implemented)</returns>
|
||||
public IOperation ShowAdvancedTestStartFormOp(IRegReader[] regReaders, IList<Results.Entities.WaterMeter> waterMeters, bool isCondOp) { return null; }
|
||||
|
||||
/// <summary>
|
||||
/// this will be used for collect data on the end = no working as START/END but as both
|
||||
/// </summary>
|
||||
/// <param name="regReaders"></param>
|
||||
/// <param name="volumeRef"></param>
|
||||
/// <param name="errLimLo"></param>
|
||||
/// <param name="errLimHi"></param>
|
||||
/// <returns></returns>
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo,
|
||||
double errLimHi)
|
||||
{
|
||||
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
|
||||
currentOp = CurrentOp.TestBothStates;
|
||||
this.regReaders = regReaders;
|
||||
this.refVolume = refVolume;
|
||||
this.errLimLo = errLimLo;
|
||||
this.errLimHi = errLimHi;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowTestEndFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
{
|
||||
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
|
||||
currentOp = CurrentOp.TestEndStates;
|
||||
this.regReaders = regReaders;
|
||||
this.refVolume = refVolume;
|
||||
this.errLimLo = errLimLo;
|
||||
this.errLimHi = errLimHi;
|
||||
return this;
|
||||
}
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowDeferredTestEvalFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
{
|
||||
if (currentOp != CurrentOp.None) throw new Exception("Sequence error");
|
||||
currentOp = CurrentOp.DeferredTestEval;
|
||||
this.regReaders = regReaders;
|
||||
this.refVolume = refVolume;
|
||||
this.errLimLo = errLimLo;
|
||||
this.errLimHi = errLimHi;
|
||||
return this;
|
||||
}
|
||||
|
||||
delegate void EntryFormDlgt(EntryForm myRef);
|
||||
///
|
||||
void OpenBeginningDlg(EntryForm myRef)
|
||||
{
|
||||
myRef.modelessDlg = new CycleBeginningForm(TBF.Data.WMsCount, entryFormCfg.HideOrder);
|
||||
modelessDlg.Show();
|
||||
}
|
||||
///
|
||||
void OpenEndDlg(EntryForm myRef)
|
||||
{
|
||||
myRef.modelessDlg = new CycleEndForm(TBF.Data.WMsCount, TBF.Data.LineSize);
|
||||
modelessDlg.Show();
|
||||
}
|
||||
///
|
||||
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,
|
||||
startImages, disabled);
|
||||
modelessDlg.Show();
|
||||
}
|
||||
///
|
||||
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,
|
||||
startImages, wmStartState, wmStartStateStr, endImages, disabled,
|
||||
refVolume, errLimLo, errLimHi);
|
||||
modelessDlg.Show();
|
||||
}
|
||||
|
||||
void OpenTestBothStatesDlg(EntryForm myRef)
|
||||
{
|
||||
log.Debug("-- OpenTestBothStatesDlg --");
|
||||
string ocrMessage;
|
||||
var ocr = GetOcr(myRef.OcrWorkspace, out ocrMessage);
|
||||
myRef.modelessDlg = new TestStartEndForm(TBF.Data.WMsCount, myRef.regReaders, ocr, ocrMessage, myRef.OcrStream,
|
||||
startImages, wmStartState, wmStartStateStr, endImages, disabled,
|
||||
refVolume, errLimLo, errLimHi, true);
|
||||
modelessDlg.Show();
|
||||
}
|
||||
///
|
||||
void OpenDeferredTestEvalDlg(EntryForm myRef)
|
||||
{
|
||||
string ocrMessage;
|
||||
var ocr = GetOcr(myRef.OcrWorkspace, out ocrMessage);
|
||||
myRef.modelessDlg = new TestStartEndForm(TBF.Data.WMsCount, myRef.regReaders, ocr, ocrMessage, myRef.OcrStream,
|
||||
startImages, endImages, disabled,
|
||||
refVolume, errLimLo, errLimHi);
|
||||
modelessDlg.Show();
|
||||
}
|
||||
///
|
||||
OcrVidi GetOcr(string ocrWorkspace, out string message)
|
||||
{
|
||||
message = string.Empty;
|
||||
if (string.IsNullOrEmpty(ocrWorkspace)) return null; /// No OCR was configured
|
||||
|
||||
string fullPath = (ocrWorkspace.Contains("\\") || ocrWorkspace.Contains("/"))
|
||||
? ocrWorkspace.Replace('/', '\\')
|
||||
: System.IO.Path.Combine(DfltOcrWorkspaceFolder, ocrWorkspace);
|
||||
if (!fullPath.Contains(".")) fullPath = fullPath + DfltOcrWorkspaceExt;
|
||||
|
||||
OcrVidi ocrVidi;
|
||||
if (ocrDictionary.TryGetValue(fullPath, out ocrVidi))
|
||||
{
|
||||
log.InfoFormat("existing OcrVidi({0}) was retrieved from dictionary", fullPath);
|
||||
return ocrVidi;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
ocrVidi = new OcrVidi(fullPath);
|
||||
ocrDictionary.Add(fullPath, ocrVidi);
|
||||
log.WarnFormat("new OcrVidi({0}) was added to dictionary", fullPath);
|
||||
return ocrVidi;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (e.InnerException != null)
|
||||
{
|
||||
log.ErrorFormat("new OcrVidi({0}) thrown {1}: {2} / {3}",
|
||||
fullPath, e.GetType().ToString(), e.Message,e.InnerException.Message);
|
||||
}
|
||||
else
|
||||
{
|
||||
log.ErrorFormat("new OcrVidi({0}) thrown {1}: {2}",
|
||||
fullPath, e.GetType().ToString(), e.Message);
|
||||
}
|
||||
log.ErrorFormat("Stack trace:\r\n{0}", e.StackTrace);
|
||||
|
||||
message = string.Format("Cannot load OCR workspace:\r\n{0}\r\nOCR workspace file is {1}", e.Message, fullPath);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Start this operation</summary>
|
||||
public void Start()
|
||||
{
|
||||
resultSaved = false;
|
||||
switch (currentOp)
|
||||
{
|
||||
case CurrentOp.ShowFormAtCycleBeginning:
|
||||
if (!entryFormCfg.EnterSerialNrsAtTheEnd)
|
||||
{
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenBeginningDlg), this);
|
||||
}
|
||||
break;
|
||||
|
||||
case CurrentOp.ShowFormAtCycleEnd:
|
||||
if (entryFormCfg.EnterSerialNrsAtTheEnd)
|
||||
{
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenBeginningDlg), this);
|
||||
}
|
||||
else if (entryFormCfg.ShowCycleEndForm)
|
||||
{
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenEndDlg), this);
|
||||
}
|
||||
break;
|
||||
|
||||
case CurrentOp.TestStartStates:
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestStartStatesDlg), this);
|
||||
break;
|
||||
|
||||
case CurrentOp.TestEndStates:
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestEndStatesDlg), this);
|
||||
break;
|
||||
|
||||
case CurrentOp.TestBothStates:
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenTestBothStatesDlg), this);
|
||||
break;
|
||||
|
||||
case CurrentOp.DeferredTestEval:
|
||||
Program.MainWnd.Invoke(new EntryFormDlgt(OpenDeferredTestEvalDlg), this);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>Run this operation</summary>
|
||||
/// <returns>Event.ResultsPrinted</returns>
|
||||
public Event Run()
|
||||
{
|
||||
if ((modelessDlg is IHasCompleted) && !(modelessDlg as IHasCompleted).Completed)
|
||||
{
|
||||
return Event.ModelessFormIsOpen;
|
||||
}
|
||||
|
||||
if (!resultSaved) /// This is to save the result only once
|
||||
{
|
||||
if ((!entryFormCfg.EnterSerialNrsAtTheEnd && currentOp == CurrentOp.ShowFormAtCycleBeginning) ||
|
||||
(entryFormCfg.EnterSerialNrsAtTheEnd && currentOp == CurrentOp.ShowFormAtCycleEnd))
|
||||
{
|
||||
CycleBeginningForm dlg = (modelessDlg as CycleBeginningForm);
|
||||
if (dlg != null)
|
||||
{
|
||||
for (int i = 0; i < Math.Min(dlg.WaterMetersCount, waterMeters.Count); i++)
|
||||
{
|
||||
if (waterMeters[i] != null)
|
||||
{
|
||||
waterMeters[i].Disabled = disabled[i] = dlg.Disabled[i];
|
||||
waterMeters[i].SerialNr = dlg.SNText[i];
|
||||
if (!entryFormCfg.HideOrder && dlg.PurchaseOrder != null) waterMeters[i].PurchaseOrder = dlg.PurchaseOrder;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (currentOp == CurrentOp.ShowFormAtCycleEnd)
|
||||
{
|
||||
if (modelessDlg is CycleEndForm)
|
||||
{
|
||||
CycleEndForm dlg = (modelessDlg as CycleEndForm);
|
||||
int count = waterMeters.Count;
|
||||
if ((dlg != null) && (count > dlg.WaterMetersCount)) count = dlg.WaterMetersCount;
|
||||
|
||||
for (int i = 0; i < count; i++)
|
||||
{
|
||||
if (waterMeters[i] != null)
|
||||
{
|
||||
/// In case entryFormCfg.ShowCycleEndForm == false dlg would be null, values would be string.Empty
|
||||
wmCycleEndState[i] = waterMeters[i].EndState = (dlg != null) ? dlg.EndStateText[i] : string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.TestStartStates)
|
||||
{
|
||||
/// Fixed start/stop: test start
|
||||
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
|
||||
if (dlg != null)
|
||||
{
|
||||
for (int i = 0; i < dlg.WaterMetersCount; i++)
|
||||
{
|
||||
wmStartState[i] = dlg.WMStartState[i];
|
||||
wmStartStateStr[i] = dlg.WMStartStateStr[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.TestEndStates)
|
||||
{
|
||||
/// Fixed start/stop: test end
|
||||
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
|
||||
if (dlg != null)
|
||||
{
|
||||
for (int i = 0; i < dlg.WaterMetersCount; i++)
|
||||
{
|
||||
wmStartState[i] = dlg.WMStartState[i];
|
||||
wmStartStateStr[i] = dlg.WMStartStateStr[i];
|
||||
wmEndState[i] = dlg.WMEndState[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.TestBothStates)
|
||||
{
|
||||
/// Fixed start/stop: test end
|
||||
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
|
||||
if (dlg != null)
|
||||
{
|
||||
for (int i = 0; i < dlg.WaterMetersCount; i++)
|
||||
{
|
||||
wmStartState[i] = dlg.WMStartState[i];
|
||||
wmStartStateStr[i] = dlg.WMStartStateStr[i];
|
||||
wmEndState[i] = dlg.WMEndState[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (modelessDlg is TestStartEndForm && currentOp == CurrentOp.DeferredTestEval)
|
||||
{
|
||||
/// Fixed start/stop: deferred test evaluation
|
||||
TestStartEndForm dlg = (modelessDlg as TestStartEndForm);
|
||||
if (dlg != null)
|
||||
{
|
||||
for (int i = 0; i < dlg.WaterMetersCount; i++)
|
||||
{
|
||||
wmStartState[i] = dlg.WMStartState[i];
|
||||
wmStartStateStr[i] = dlg.WMStartStateStr[i];
|
||||
wmEndState[i] = dlg.WMEndState[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
resultSaved = true;
|
||||
modelessDlg = null;
|
||||
}
|
||||
|
||||
return Event.ModelessFormClosed; /// Form closed
|
||||
}
|
||||
|
||||
/// <summary>Stop this operation</summary>
|
||||
public void Stop()
|
||||
{
|
||||
if (modelessDlg is IHasCompleted)
|
||||
{
|
||||
UiBridge.Bridge.OnCloseModelessForm(this, null);
|
||||
modelessDlg = null;
|
||||
}
|
||||
currentOp = CurrentOp.None;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2022 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
using Common;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
public class EntryFormCfg : ComponentCfgBase, Generic.IComponentCfg
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(EntryFormCfg) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public IComponentCfgCtrl GetControl(IList<Config.Entities.Component> cmpntEntities) { return new EntryFormCfgCtrl(); }
|
||||
|
||||
///
|
||||
/// Serialized parameters
|
||||
///
|
||||
public bool HideOrder;
|
||||
public bool EnterSerialNrsAtTheEnd;
|
||||
public bool ShowCycleEndForm;
|
||||
public bool SaveImages;
|
||||
|
||||
|
||||
/// <summary> Procedure parameters </summary>
|
||||
[XmlIgnore]
|
||||
public ProcParams ProcParams;
|
||||
public override IParamsProvider GetRuntimeProcParamsProvider() { return ProcParams; }
|
||||
public override IParamsProvider CreateProcParamsProvider() { return new ProcParams(true); }
|
||||
|
||||
/// Private parameterless constructor invoked by all other (public) constructors
|
||||
EntryFormCfg()
|
||||
{
|
||||
ProcParams = new ProcParams(true);
|
||||
|
||||
Name = "DataEntry-for-Camera-PO";
|
||||
ParentName = string.Empty;
|
||||
HideOrder = false;
|
||||
EnterSerialNrsAtTheEnd = false;
|
||||
ShowCycleEndForm = false;
|
||||
SaveImages = false;
|
||||
}
|
||||
|
||||
public EntryFormCfg(IComponentFactory factory)
|
||||
: this()
|
||||
{
|
||||
this.Factory = factory;
|
||||
}
|
||||
|
||||
public string ToString(int i)
|
||||
{
|
||||
return string.Format("Name={0}, HideOrder={1} SNsAtTheEnd={2}, EndForm={3}, SaveImages={4}", Name, HideOrder, EnterSerialNrsAtTheEnd, ShowCycleEndForm, SaveImages);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,91 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2021 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Windows.Forms;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
using TBF.Resources;
|
||||
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
public partial class EntryFormCfgCtrl : UserControl, IComponentCfgCtrl
|
||||
{
|
||||
public bool ShowMore { get { return false; } }
|
||||
|
||||
EntryFormCfg config;
|
||||
public IComponentCfg Config
|
||||
{
|
||||
get { return config as IComponentCfg; }
|
||||
set
|
||||
{
|
||||
config = value as EntryFormCfg;
|
||||
Redraw();
|
||||
}
|
||||
}
|
||||
|
||||
public EntryFormCfgCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void EntryFormCfgCtrl_Load(object sender, EventArgs e)
|
||||
{
|
||||
Localize();
|
||||
Redraw();
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
enterSNsAtTheEndCheckBox.Text = Strings.Enter_SNs_at_the_end;
|
||||
showEndStateFormCheckBox.Text = Strings.Show_cycle_end_form;
|
||||
saveImagesCheckBox.Text = "Save images";
|
||||
}
|
||||
|
||||
public void Closing()
|
||||
{
|
||||
}
|
||||
|
||||
void Redraw()
|
||||
{
|
||||
if (config == null) return; /// Control was not loaded, settings were not changed
|
||||
classNameLabel.Text = config.Factory.ClassName;
|
||||
nameTextBox.Text = config.Name;
|
||||
hideOrderCheckBox.Checked = config.HideOrder;
|
||||
enterSNsAtTheEndCheckBox.Checked = config.EnterSerialNrsAtTheEnd;
|
||||
showEndStateFormCheckBox.Checked = config.ShowCycleEndForm;
|
||||
saveImagesCheckBox.Checked = config.SaveImages;
|
||||
}
|
||||
|
||||
public void Unlock()
|
||||
{
|
||||
nameTextBox.Enabled = true;
|
||||
hideOrderCheckBox.Enabled = true;
|
||||
enterSNsAtTheEndCheckBox.Enabled = true;
|
||||
showEndStateFormCheckBox.Enabled = true;
|
||||
saveImagesCheckBox.Enabled = true;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags VerifyCfg(ref string message)
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.None;
|
||||
return flags;
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateCfg()
|
||||
{
|
||||
CfgUpdateFlags flags = CfgUpdateFlags.RestartRqrd;
|
||||
|
||||
if (config == null) return CfgUpdateFlags.Error; /// Control was not loaded, settings were not changed
|
||||
|
||||
config.Name = nameTextBox.Text;
|
||||
config.HideOrder = hideOrderCheckBox.Checked;
|
||||
config.EnterSerialNrsAtTheEnd = enterSNsAtTheEndCheckBox.Checked;
|
||||
config.ShowCycleEndForm = showEndStateFormCheckBox.Checked;
|
||||
config.SaveImages = saveImagesCheckBox.Checked;
|
||||
|
||||
return flags;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,142 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
partial class EntryFormCfgCtrl
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.nameTextBox = new System.Windows.Forms.TextBox();
|
||||
this.nameLabel = new System.Windows.Forms.Label();
|
||||
this.classNameLabel = new System.Windows.Forms.Label();
|
||||
this.showEndStateFormCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.enterSNsAtTheEndCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.saveImagesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.hideOrderCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// nameTextBox
|
||||
//
|
||||
this.nameTextBox.Enabled = false;
|
||||
this.nameTextBox.Location = new System.Drawing.Point(136, 31);
|
||||
this.nameTextBox.Name = "nameTextBox";
|
||||
this.nameTextBox.Size = new System.Drawing.Size(130, 20);
|
||||
this.nameTextBox.TabIndex = 2;
|
||||
//
|
||||
// nameLabel
|
||||
//
|
||||
this.nameLabel.AutoSize = true;
|
||||
this.nameLabel.Location = new System.Drawing.Point(26, 34);
|
||||
this.nameLabel.Name = "nameLabel";
|
||||
this.nameLabel.Size = new System.Drawing.Size(35, 13);
|
||||
this.nameLabel.TabIndex = 1;
|
||||
this.nameLabel.Text = "Name";
|
||||
//
|
||||
// classNameLabel
|
||||
//
|
||||
this.classNameLabel.AutoSize = true;
|
||||
this.classNameLabel.Location = new System.Drawing.Point(133, 10);
|
||||
this.classNameLabel.Name = "classNameLabel";
|
||||
this.classNameLabel.Size = new System.Drawing.Size(61, 13);
|
||||
this.classNameLabel.TabIndex = 0;
|
||||
this.classNameLabel.Text = "Class name";
|
||||
//
|
||||
// showEndStateFormCheckBox
|
||||
//
|
||||
this.showEndStateFormCheckBox.AutoSize = true;
|
||||
this.showEndStateFormCheckBox.Enabled = false;
|
||||
this.showEndStateFormCheckBox.Location = new System.Drawing.Point(136, 103);
|
||||
this.showEndStateFormCheckBox.Name = "showEndStateFormCheckBox";
|
||||
this.showEndStateFormCheckBox.Size = new System.Drawing.Size(151, 17);
|
||||
this.showEndStateFormCheckBox.TabIndex = 5;
|
||||
this.showEndStateFormCheckBox.Text = "Watermeter end state form";
|
||||
this.showEndStateFormCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// enterSNsAtTheEndCheckBox
|
||||
//
|
||||
this.enterSNsAtTheEndCheckBox.AutoSize = true;
|
||||
this.enterSNsAtTheEndCheckBox.Enabled = false;
|
||||
this.enterSNsAtTheEndCheckBox.Location = new System.Drawing.Point(136, 82);
|
||||
this.enterSNsAtTheEndCheckBox.Name = "enterSNsAtTheEndCheckBox";
|
||||
this.enterSNsAtTheEndCheckBox.Size = new System.Drawing.Size(167, 17);
|
||||
this.enterSNsAtTheEndCheckBox.TabIndex = 4;
|
||||
this.enterSNsAtTheEndCheckBox.Text = "Enter serial number at the end";
|
||||
this.enterSNsAtTheEndCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// saveImagesCheckBox
|
||||
//
|
||||
this.saveImagesCheckBox.AutoSize = true;
|
||||
this.saveImagesCheckBox.Enabled = false;
|
||||
this.saveImagesCheckBox.Location = new System.Drawing.Point(136, 124);
|
||||
this.saveImagesCheckBox.Name = "saveImagesCheckBox";
|
||||
this.saveImagesCheckBox.Size = new System.Drawing.Size(87, 17);
|
||||
this.saveImagesCheckBox.TabIndex = 6;
|
||||
this.saveImagesCheckBox.Text = "Save images";
|
||||
this.saveImagesCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// hideOrderCheckBox
|
||||
//
|
||||
this.hideOrderCheckBox.AutoSize = true;
|
||||
this.hideOrderCheckBox.Enabled = false;
|
||||
this.hideOrderCheckBox.Location = new System.Drawing.Point(136, 61);
|
||||
this.hideOrderCheckBox.Name = "hideOrderCheckBox";
|
||||
this.hideOrderCheckBox.Size = new System.Drawing.Size(103, 17);
|
||||
this.hideOrderCheckBox.TabIndex = 3;
|
||||
this.hideOrderCheckBox.Text = "Hide \'Order\' field";
|
||||
this.hideOrderCheckBox.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// EntryFormCfgCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.hideOrderCheckBox);
|
||||
this.Controls.Add(this.saveImagesCheckBox);
|
||||
this.Controls.Add(this.enterSNsAtTheEndCheckBox);
|
||||
this.Controls.Add(this.showEndStateFormCheckBox);
|
||||
this.Controls.Add(this.nameTextBox);
|
||||
this.Controls.Add(this.nameLabel);
|
||||
this.Controls.Add(this.classNameLabel);
|
||||
this.Name = "EntryFormCfgCtrl";
|
||||
this.Size = new System.Drawing.Size(359, 275);
|
||||
this.Load += new System.EventHandler(this.EntryFormCfgCtrl_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TextBox nameTextBox;
|
||||
private System.Windows.Forms.Label nameLabel;
|
||||
private System.Windows.Forms.Label classNameLabel;
|
||||
private System.Windows.Forms.CheckBox showEndStateFormCheckBox;
|
||||
private System.Windows.Forms.CheckBox enterSNsAtTheEndCheckBox;
|
||||
private System.Windows.Forms.CheckBox saveImagesCheckBox;
|
||||
private System.Windows.Forms.CheckBox hideOrderCheckBox;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,25 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
public class Factory : IComponentFactory
|
||||
{
|
||||
public string ClassName { get { return "DataEntry-CameraPurchaseOrder"; } }
|
||||
public override string ToString() { return ClassName; }
|
||||
|
||||
public IComponent DummyComponent() { return new EntryForm(); }
|
||||
|
||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new EntryForm(cfg); }
|
||||
|
||||
public IComponentCfg DefaultConfig() { return new EntryFormCfg(this); }
|
||||
|
||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||
{
|
||||
return ComponentCfgBase.CreateFromDbEntity(EntryFormCfg.Serializer, component, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
///
|
||||
/// Copyright (c) 2022 Sensus Slovensko a.s.
|
||||
///
|
||||
using System.IO;
|
||||
using System.Xml.Serialization;
|
||||
using Common;
|
||||
using Config.Entities;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.DataEntry.StandartCameraPurchaseOrder
|
||||
{
|
||||
public class ProcParams : ProcedureParamsBase, IParamsProvider, IProcedureParams
|
||||
{
|
||||
public static XmlSerializer Serializer = XmlSerializer.FromTypes(new[] { typeof(ProcParams) })[0];
|
||||
public override XmlSerializer GetSerializer() { return Serializer; }
|
||||
|
||||
public string OcrWorkspace; /// Path to a Cognex workspace file
|
||||
public string OcrStream; /// Cognex workspace stream name
|
||||
|
||||
|
||||
public override void InitializeAll()
|
||||
{
|
||||
OcrWorkspace = string.Empty;
|
||||
OcrStream = "default";
|
||||
}
|
||||
|
||||
string[] paramNames = new string[]
|
||||
{
|
||||
"OCR workspace file",
|
||||
"OCR stream",
|
||||
};
|
||||
public override string ParamName(int i) { return paramNames[i]; }
|
||||
public override int ParamsCount() { return paramNames.Length; }
|
||||
|
||||
public override string ToString(int i)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 0: return OcrWorkspace;
|
||||
case 1: return OcrStream;
|
||||
default: return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
public CfgUpdateFlags UpdateParam(int i, string str)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 0: OcrWorkspace = str; return CfgUpdateFlags.None;
|
||||
case 1: OcrStream = str; return CfgUpdateFlags.None;
|
||||
default: return CfgUpdateFlags.None;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Verifiy the string representation of the parameter
|
||||
/// </summary>
|
||||
/// <param name="i">Parameter ID</param>
|
||||
/// <param name="str">String representation of the parameter</param>
|
||||
/// <param name="message">In case false is returned this is the error messsage to be displayed</param>
|
||||
/// <returns>true = parameter OK, false = parameter NOK</returns>
|
||||
public bool ValidateParam(int i, string str, out string message)
|
||||
{
|
||||
message = string.Empty;
|
||||
|
||||
switch (i)
|
||||
{
|
||||
case 0:
|
||||
return true;
|
||||
case 1:
|
||||
if (!string.IsNullOrEmpty(str)) return true;
|
||||
break;
|
||||
default:
|
||||
message = "Invalid index";
|
||||
return false;
|
||||
}
|
||||
|
||||
message = ParamName(i) + " is invalid";
|
||||
return false;
|
||||
}
|
||||
|
||||
void CopyContentTo(ProcParams prms)
|
||||
{
|
||||
prms.OcrWorkspace = OcrWorkspace;
|
||||
prms.OcrStream = OcrStream;
|
||||
}
|
||||
|
||||
public IParamsProvider Clone()
|
||||
{
|
||||
ProcParams pars = new ProcParams();
|
||||
CopyContentTo(pars);
|
||||
return pars;
|
||||
}
|
||||
|
||||
public override void UpdateFromDbEntity(ComponentProcedure dbEntity)
|
||||
{
|
||||
if (dbEntity == null) return;
|
||||
try
|
||||
{
|
||||
ProcParams tmp = Serializer.Deserialize(new StringReader(dbEntity.Parameters)) as ProcParams;
|
||||
|
||||
procedureParamsEntity = dbEntity;
|
||||
componentName = dbEntity.CmpntName;
|
||||
procedure = dbEntity.Procedure;
|
||||
|
||||
if (tmp != null) tmp.CopyContentTo(this);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Parameterless constructor initializes the parameters
|
||||
/// </summary>
|
||||
public ProcParams()
|
||||
{
|
||||
}
|
||||
|
||||
public ProcParams(bool initialize)
|
||||
{
|
||||
if (initialize) InitializeAll();
|
||||
}
|
||||
|
||||
public ProcParams(ComponentProcedure procParamsEntity, string componentName, Procedure procedure)
|
||||
{
|
||||
this.procedureParamsEntity = procParamsEntity;
|
||||
this.componentName = componentName;
|
||||
this.procedure = procedure;
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
+3231
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -195,6 +195,7 @@ namespace TBF.Rig.DataEntry.Uni
|
||||
{
|
||||
return null;
|
||||
}
|
||||
public IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi) { return null; }
|
||||
|
||||
/// <returns>Reference to the operation</returns>
|
||||
public IOperation ShowDeferredTestEvalFormOp(IRegReader[] regReaders, double refVolume, double errLimLo, double errLimHi)
|
||||
|
||||
@@ -100,6 +100,7 @@ namespace TBF.Rig.DataEntry.iPerl
|
||||
|
||||
/// <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)
|
||||
|
||||
@@ -3,7 +3,7 @@ using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.GenericDevices
|
||||
{
|
||||
public interface IAdjustableMeter : IComponent
|
||||
public interface IAdjustableMeter : IPressureMeter
|
||||
{
|
||||
/// <summary>
|
||||
/// Events: PressureDone, Error
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace TBF.Rig.GenericDevices
|
||||
{
|
||||
public interface IFTPAdapter : TBF.Rig.Generic.IComponent
|
||||
{
|
||||
string Path { get; }
|
||||
}
|
||||
}
|
||||
@@ -40,5 +40,11 @@ namespace TBF.Rig.GenericDevices
|
||||
/// </summary>
|
||||
/// <returns>Operation to be used in the sequence</returns>
|
||||
IOperation ShowTestEndFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi);
|
||||
|
||||
/// <summary>
|
||||
/// Displays form at the end of all tests the test to enter water meter start start.
|
||||
/// </summary>
|
||||
/// <returns>Operation to be used in the sequence</returns>
|
||||
IOperation ShowTestCollectFormOp(IRegReader[] regReaders, double volumeRef, double errLimLo, double errLimHi);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,5 +22,8 @@ namespace TBF.Rig.GenericDevices
|
||||
bool blackAndWhite,
|
||||
bool lowResolution,
|
||||
Common.ImageRotation imageRotation);
|
||||
|
||||
//if has valve return it
|
||||
IValve GetValve();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
namespace TBF.Rig.GenericDevices
|
||||
{
|
||||
public interface IRestAPIAdapter : TBF.Rig.Generic.IComponent
|
||||
{
|
||||
string Path { get; }
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,10 @@ namespace TBF.Rig.Modbus.Meret.AdjustableScale
|
||||
double receivedValue;
|
||||
double receivedAmpers;
|
||||
|
||||
public IOperation ReadPressureOp(ref DoubleBox pressure) { return this.ReadAdjustableOp(ref pressure); }
|
||||
|
||||
public IOperation ReadPressureOp(ref DoubleBox pressure, Event pressureDone) { return this.ReadAdjustableOp(ref pressure, pressureDone); }
|
||||
|
||||
public bool MsrmntAvailable { get { return true; } }
|
||||
public double MeasuredVal { get { return receivedValue; } }
|
||||
public double MsrdValLimLo { get { return Units.ConvertFrom(MsrdUnit, _adjustableMtrCfg.MsrdValLimLo); } }
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Net;
|
||||
using Common;
|
||||
using log4net;
|
||||
|
||||
namespace TBF.Rig.Network.Adapter
|
||||
@@ -37,7 +38,11 @@ namespace TBF.Rig.Network.Adapter
|
||||
AdapterInfo netadapter = AdapterInfo.GetNetAdapter(netadapterCfg.Description);
|
||||
ipAddress = netadapter.IPAddress;
|
||||
netMask = netadapter.NetMask;
|
||||
broadcastAddress = netadapter.GetBroadcastAddress();
|
||||
|
||||
if (this.Cfg.DebugLevel != DebugMode.Simulate)
|
||||
{
|
||||
broadcastAddress = netadapter.GetBroadcastAddress();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Collections.Generic;
|
||||
using TBF.Rig.Generic;
|
||||
|
||||
namespace TBF.Rig.Network.AdapterFTP
|
||||
{
|
||||
public class Factory : IComponentFactory
|
||||
{
|
||||
public string ClassName { get { return this.GetType().Namespace.Substring(8); } }
|
||||
public override string ToString() { return ClassName; }
|
||||
|
||||
public IComponent DummyComponent() { return new NetFtpAdapter(); }
|
||||
|
||||
public IComponent GetComponent(IComponentCfg cfg, IList<IComponent> components) { return new NetFtpAdapter(cfg); }
|
||||
|
||||
public IComponentCfg DefaultConfig() { return new NetFtpadapterCfg(this.GetType().Namespace.Substring(8), this); }
|
||||
|
||||
public IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component)
|
||||
{
|
||||
return ComponentCfgBase.CreateFromDbEntity(NetFtpadapterCfg.Serializer, component, this);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
///
|
||||
/// Copyright (c) 2017 Sensus Metering Systems
|
||||
///
|
||||
using System.Net;
|
||||
using log4net;
|
||||
using TBF.Rig.GenericDevices;
|
||||
|
||||
namespace TBF.Rig.Network.AdapterFTP
|
||||
{
|
||||
public class NetFtpAdapter : ComponentBase, GenericDevices.IFTPAdapter
|
||||
{
|
||||
private static readonly ILog log = LogManager.GetLogger(typeof(NetFtpAdapter));
|
||||
public override string ToString() { return string.Format("{0}({1})", ClassName, Cfg.ToString(-1)); }
|
||||
|
||||
readonly NetFtpadapterCfg netFtpadapterCfg;
|
||||
|
||||
private string path;
|
||||
public string Path { get => path; }
|
||||
|
||||
|
||||
public NetFtpAdapter() { }
|
||||
|
||||
public NetFtpAdapter(Generic.IComponentCfg cfg)
|
||||
: base(cfg)
|
||||
{
|
||||
netFtpadapterCfg = cfg as NetFtpadapterCfg;
|
||||
log.Warn(this.ToString());
|
||||
}
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
path = netFtpadapterCfg.Path;
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user