Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
162cb2a4e6 |
@@ -1,2 +0,0 @@
|
||||
# Set the default behavior, in case people don't have core.autocrlf set.
|
||||
* text=auto
|
||||
@@ -14,8 +14,6 @@ Results/bin/
|
||||
Results/obj/
|
||||
ResultsBrowser/bin/
|
||||
ResultsBrowser/obj/
|
||||
Statistics/bin/
|
||||
Statistics/obj/
|
||||
TBF/bin/
|
||||
TBF/obj/
|
||||
TBFSetup/Debug/
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;SENTEC</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
@@ -28,7 +28,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<DefineConstants>TRACE;SENTEC</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -78,7 +78,6 @@
|
||||
<Compile Include="Entities\IHasName.cs" />
|
||||
<Compile Include="Entities\IHasValves.cs" />
|
||||
<Compile Include="Entities\IParamsProvider.cs" />
|
||||
<Compile Include="Entities\IperlEnums.cs" />
|
||||
<Compile Include="Entities\MeasurementCorrection.cs" />
|
||||
<Compile Include="Entities\MetersPath.cs" />
|
||||
<Compile Include="Entities\OutputPath.cs" />
|
||||
|
||||
+2
-8
@@ -20,7 +20,7 @@ namespace Config
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = WMsCount / LineSize;
|
||||
#elif FUZHOU_300 || FUZHOU_150 || IZRAEL_200 || PUCHONG_200 || GENESIS || SLM_150 || PETERSBURG_200 || DEWA_300
|
||||
#elif FUZHOU_300 || FUZHOU_150 || PT200IL || PUCHONG_200 || GENESIS || SLM_150 || PETERSBURG_200
|
||||
public const int WMsCount = 6;
|
||||
public const int LineSize = 6;
|
||||
public const int CompoundWMsCount = 3;
|
||||
@@ -32,12 +32,6 @@ namespace Config
|
||||
public const int CompoundWMsCount = 0;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = WMsCount / LineSize;
|
||||
#elif IZRAEL_50
|
||||
public const int WMsCount = 40;
|
||||
public const int LineSize = 10;
|
||||
public const int CompoundWMsCount = 0;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = WMsCount / LineSize;
|
||||
#elif FUZHOU_100
|
||||
public const int WMsCount = 10;
|
||||
public const int LineSize = 10;
|
||||
@@ -50,7 +44,7 @@ namespace Config
|
||||
public const int CompoundWMsCount = 1;
|
||||
public const int HeatMetersCount = 0;
|
||||
public const int MaxPartNr = 1;
|
||||
#elif TORUN_50 || CEVAK_40 || MURES_40 || FUZHOU_50 || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || IZRAEL_25 || ZAMBIA || ZODINO || FEWA_50
|
||||
#elif TORUN_50 || CEVAK_40 || MURES_40 || FUZHOU_50 || PETERSBURG_50 || KEMPNO_50 || BAHRAIN_50 || KRAKOW_50 || JUZNA_AFRIKA_50 || ZAMBIA || FEWA_50
|
||||
public const int WMsCount = 20;
|
||||
public const int LineSize = 10;
|
||||
public const int CompoundWMsCount = 1;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -58,7 +58,7 @@ namespace Config.Entities
|
||||
[Description("Remote DB only")] RemoteDBOnly,
|
||||
[Description("Both DB-s, local 1st")] BothDBsLocalFirst,
|
||||
[Description("Both DB-s, remote 1st")] BothDBsRemoteFirst,
|
||||
Count
|
||||
Count,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -224,14 +224,6 @@ namespace Config.Entities
|
||||
Count
|
||||
}
|
||||
|
||||
public enum MeretProtocol
|
||||
{
|
||||
[Description("<undefined>")] Undefined,
|
||||
[Description("Meret (obsolete)")] Meret,
|
||||
[Description("Modbus")] Modbus,
|
||||
Count
|
||||
}
|
||||
|
||||
public enum Publish : sbyte
|
||||
{
|
||||
#if LANG_DE
|
||||
@@ -498,75 +490,4 @@ namespace Config.Entities
|
||||
#endif
|
||||
Count
|
||||
}
|
||||
|
||||
|
||||
public enum ErrorFlagShift
|
||||
{
|
||||
E1 = 0,
|
||||
E2,
|
||||
E3,
|
||||
E4,
|
||||
E5,
|
||||
E6,
|
||||
E7,
|
||||
E8,
|
||||
E9,
|
||||
E10,
|
||||
E11,
|
||||
E12,
|
||||
E13,
|
||||
E14,
|
||||
E15,
|
||||
E16,
|
||||
E17,
|
||||
E18,
|
||||
E19,
|
||||
E20,
|
||||
E21,
|
||||
E22,
|
||||
E23,
|
||||
E24,
|
||||
E25,
|
||||
E26,
|
||||
E27,
|
||||
E28,
|
||||
E29,
|
||||
E30,
|
||||
E31,
|
||||
}
|
||||
|
||||
public enum ErrorFlagMask
|
||||
{
|
||||
E1 = (1 << (int)ErrorFlagShift.E1),
|
||||
E2 = (1 << (int)ErrorFlagShift.E2),
|
||||
E3 = (1 << (int)ErrorFlagShift.E3),
|
||||
E4 = (1 << (int)ErrorFlagShift.E4),
|
||||
E5 = (1 << (int)ErrorFlagShift.E5),
|
||||
E6 = (1 << (int)ErrorFlagShift.E6),
|
||||
E7 = (1 << (int)ErrorFlagShift.E7),
|
||||
E8 = (1 << (int)ErrorFlagShift.E8),
|
||||
E9 = (1 << (int)ErrorFlagShift.E9),
|
||||
E10 = (1 << (int)ErrorFlagShift.E10),
|
||||
E11 = (1 << (int)ErrorFlagShift.E11),
|
||||
E12 = (1 << (int)ErrorFlagShift.E12),
|
||||
E13 = (1 << (int)ErrorFlagShift.E13),
|
||||
E14 = (1 << (int)ErrorFlagShift.E14),
|
||||
E15 = (1 << (int)ErrorFlagShift.E15),
|
||||
E16 = (1 << (int)ErrorFlagShift.E16),
|
||||
E17 = (1 << (int)ErrorFlagShift.E17),
|
||||
E18 = (1 << (int)ErrorFlagShift.E18),
|
||||
E19 = (1 << (int)ErrorFlagShift.E19),
|
||||
E20 = (1 << (int)ErrorFlagShift.E20),
|
||||
E21 = (1 << (int)ErrorFlagShift.E21),
|
||||
E22 = (1 << (int)ErrorFlagShift.E22),
|
||||
E23 = (1 << (int)ErrorFlagShift.E23),
|
||||
E24 = (1 << (int)ErrorFlagShift.E24),
|
||||
E25 = (1 << (int)ErrorFlagShift.E25),
|
||||
E26 = (1 << (int)ErrorFlagShift.E26),
|
||||
E27 = (1 << (int)ErrorFlagShift.E27),
|
||||
E28 = (1 << (int)ErrorFlagShift.E28),
|
||||
E29 = (1 << (int)ErrorFlagShift.E29),
|
||||
E30 = (1 << (int)ErrorFlagShift.E30),
|
||||
E31 = (1 << (int)ErrorFlagShift.E31),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,11 +60,7 @@ namespace Config.Entities
|
||||
/// <param name="strValue">String representation of the parameter</param>
|
||||
CfgUpdateFlags UpdateParam(int ix, string strValue);
|
||||
|
||||
/// <summary>
|
||||
/// Updates DB entities for related parameters
|
||||
/// </summary>
|
||||
/// <returns>true when successful</returns>
|
||||
bool UpdateEmbeddedDbEntity();
|
||||
void UpdateEmbeddedDbEntity();
|
||||
|
||||
/// <summary>
|
||||
/// Creates an object copy
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
|
||||
namespace Config.Entities
|
||||
{
|
||||
|
||||
public enum Side
|
||||
{
|
||||
#if LANG_CS
|
||||
[Description("Levá")] Left,
|
||||
[Description("Pravá")] Right,
|
||||
#else
|
||||
[Description("Left")] Left,
|
||||
[Description("Right")] Right,
|
||||
#endif
|
||||
Count
|
||||
}
|
||||
|
||||
public enum FlowDir
|
||||
{
|
||||
R_L,
|
||||
L_R,
|
||||
Count
|
||||
}
|
||||
|
||||
public enum Counting
|
||||
{
|
||||
Arbitrary,
|
||||
Positive,
|
||||
Negative,
|
||||
Count
|
||||
}
|
||||
|
||||
public enum OptoHeadState
|
||||
{
|
||||
Disabled,
|
||||
OptoAndDirOK,
|
||||
OptoNok,
|
||||
DirNok,
|
||||
Count
|
||||
}
|
||||
}
|
||||
@@ -12,14 +12,11 @@ namespace Config.Entities
|
||||
public virtual float Measurement { get; set; }
|
||||
public virtual float Correction { get; set; }
|
||||
|
||||
public MeasurementCorrection()
|
||||
{
|
||||
RangeIx = 0;
|
||||
}
|
||||
public MeasurementCorrection() { }
|
||||
|
||||
public MeasurementCorrection(int rangeIx)
|
||||
{
|
||||
RangeIx = rangeIx;
|
||||
RangeIx = rangeIx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+16
-50
@@ -25,8 +25,8 @@ namespace Config.Entities
|
||||
public virtual float Volume { get; set; } /// Test volume (target) in [l]
|
||||
public virtual float TstTime { get; set; } /// Test time (estimate) in [s]
|
||||
public virtual string Method { get; set; }
|
||||
public virtual float ErrLimLo { get; set; } /// in [%] usually < 0, in case of heat meters: 1=class1, 2=class2, 3=class3
|
||||
public virtual float ErrLimHi { get; set; } /// in [%] usually > 0, in case of heat meters: -Qn in m3/h
|
||||
public virtual float ErrLimLo { get; set; } /// in [%] (usually < 0) or 1=class1, 2=class2, 3=class3
|
||||
public virtual float ErrLimHi { get; set; } /// in [%] (usually > 0) or -Qn in m3/h
|
||||
public virtual float Uncertainty { get; set; } /// int [%] makes error limits tighter: 0 <= Uncertainty <= abs(ErrLimXx)
|
||||
public virtual int Repeats { get; set; }
|
||||
public virtual bool DoDraining { get; set; }
|
||||
@@ -310,88 +310,54 @@ namespace Config.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
public virtual double GetErrLimLo(double volumeCTV, double testTime)
|
||||
public virtual float GetErrLimLo(float flow)
|
||||
{
|
||||
if (ErrLimLo <= ErrLimHi)
|
||||
{
|
||||
return ErrLimLo; /// Error limit of a water meter
|
||||
return ErrLimLo; /// Error limit of a water meter
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Metrological class and nominal flow of a heat meter
|
||||
int metrClass = (int)Math.Round(ErrLimLo);
|
||||
double Qp = Math.Abs(ErrLimHi);
|
||||
double Q = (testTime == 0) ? 1 : Math.Max(3.6 * volumeCTV / testTime, 0.00001); /// Div. by zero avoided
|
||||
float Qp = Math.Abs(ErrLimHi);
|
||||
float Q = Math.Max(flow, 0.00001f); /// to avoid division by zero
|
||||
|
||||
/// Calculate the error limit of a heat meter
|
||||
switch (metrClass)
|
||||
{
|
||||
default:
|
||||
case 1: return -Math.Min(3.5, 1.0 + 0.01 * Qp / Q);
|
||||
case 2: return -Math.Min(5.0, 2.0 + 0.02 * Qp / Q);
|
||||
case 3: return -Math.Min(5.0, 3.0 + 0.05 * Qp / Q);
|
||||
case 1: return -Math.Min(3.5f, 1.0f + 0.01f * Qp / Q);
|
||||
case 2: return -Math.Min(5.0f, 2.0f + 0.02f * Qp / Q);
|
||||
case 3: return -Math.Min(5.0f, 3.0f + 0.05f * Qp / Q);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual double GetErrLimHi(double volumeCTV, double testTime)
|
||||
public virtual float GetErrLimHi(float flow)
|
||||
{
|
||||
if (ErrLimLo <= ErrLimHi)
|
||||
{
|
||||
return ErrLimHi; /// Error limit of a water meter
|
||||
return ErrLimHi; /// Error limit of a water meter
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Metrological class and nominal flow of a heat meter
|
||||
int metrClass = (int)Math.Round(ErrLimLo);
|
||||
double Qp = Math.Abs(ErrLimHi);
|
||||
double Q = (testTime == 0) ? 1 : Math.Max(3.6 * volumeCTV / testTime, 0.00001); /// Div. by zero avoided
|
||||
float Qp = Math.Abs(ErrLimHi);
|
||||
float Q = Math.Max(flow, 0.00001f); /// to avoid division by zero
|
||||
|
||||
/// Calculate the error limit of a heat meter
|
||||
switch (metrClass)
|
||||
{
|
||||
default:
|
||||
case 1: return +Math.Min(3.5, 1.0 + 0.01 * Qp / Q);
|
||||
case 2: return +Math.Min(5.0, 2.0 + 0.02 * Qp / Q);
|
||||
case 3: return +Math.Min(5.0, 3.0 + 0.05 * Qp / Q);
|
||||
case 1: return +Math.Min(3.5f, 1.0f + 0.01f * Qp / Q);
|
||||
case 2: return +Math.Min(5.0f, 2.0f + 0.02f * Qp / Q);
|
||||
case 3: return +Math.Min(5.0f, 3.0f + 0.05f * Qp / Q);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual bool IsPartCompatible(int waterMeterPartNr)
|
||||
{
|
||||
if ((this.Part == 0) || (waterMeterPartNr == 0)) return true;
|
||||
|
||||
if ((this.Part % 10) == waterMeterPartNr) return true;
|
||||
if (((this.Part / 10) % 10) == waterMeterPartNr) return true;
|
||||
if (((this.Part / 100) % 10) == waterMeterPartNr) return true;
|
||||
if (((this.Part / 1000) % 10) == waterMeterPartNr) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether tests part number is OK.
|
||||
/// Examples of correct part number are:
|
||||
/// 1, 2, 12, 21 in case of max. part nr.== 2
|
||||
/// 1, 2, 3, 4, 12, 13, 14, 23, 24, 34, 123, 124, 134, 234, 1234 in case of max. part nr.== 4
|
||||
/// </summary>
|
||||
/// <param name="partNr">Tests par tnumber</param>
|
||||
/// <returns>true when Part number is OK</returns>
|
||||
public static bool IsGoodPartNr(int partNr)
|
||||
{
|
||||
bool firstDigitIsOK = ((partNr % 10) > 0) && ((partNr % 10) <= Config.Data.MaxPartNr);
|
||||
bool secondDigitIsOK = (((partNr/10) % 10) > 0) && (((partNr/10) % 10) <= Config.Data.MaxPartNr);
|
||||
bool thirdDigitIsOK = (((partNr/100) % 10) > 0) && (((partNr/100) % 10) <= Config.Data.MaxPartNr);
|
||||
bool fourthDigitIsOK = (((partNr/1000) % 10) > 0) && (((partNr/1000) % 10) <= Config.Data.MaxPartNr);
|
||||
|
||||
if (firstDigitIsOK && (partNr / 10 == 0)) return true;
|
||||
if (firstDigitIsOK && secondDigitIsOK && (partNr / 100 == 0)) return true;
|
||||
if (firstDigitIsOK && secondDigitIsOK && thirdDigitIsOK && (partNr / 1000 == 0)) return true;
|
||||
if (firstDigitIsOK && secondDigitIsOK && thirdDigitIsOK && fourthDigitIsOK && (partNr / 10000 == 0)) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
|
||||
namespace Config.Entities
|
||||
{
|
||||
@@ -40,56 +37,5 @@ namespace Config.Entities
|
||||
foreach (var step in TransitionSteps) { result.TransitionSteps.Add(step.Clone()); }
|
||||
return result;
|
||||
}
|
||||
|
||||
public virtual void Export(StreamWriter output)
|
||||
{
|
||||
output.WriteLine(ItemNr.ToString(CultureInfo.InvariantCulture));
|
||||
output.WriteLine(Name);
|
||||
output.WriteLine(Description);
|
||||
|
||||
foreach (var step in TransitionSteps) { step.Export(output); }
|
||||
output.WriteLine();
|
||||
|
||||
output.Close();
|
||||
}
|
||||
|
||||
public static TransitionSequence Import(StreamReader input)
|
||||
{
|
||||
TransitionSequence result = new TransitionSequence();
|
||||
|
||||
result.ItemNr = int.Parse(input.ReadLine(), CultureInfo.InvariantCulture);
|
||||
result.Name = input.ReadLine();
|
||||
result.Description = input.ReadLine();
|
||||
|
||||
while (true)
|
||||
{
|
||||
TransitionStep step = TransitionStep.Import(input, result);
|
||||
if (step == null)
|
||||
break;
|
||||
else
|
||||
result.TransitionSteps.Add(step);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public virtual string Compare(StreamReader inp)
|
||||
{
|
||||
System.Text.StringBuilder diff = new System.Text.StringBuilder();
|
||||
const string fmt = "{0} = {1}\r\n (in the file {2})\r\n";
|
||||
string ln;
|
||||
|
||||
ln = inp.ReadLine(); /// skip ItemNr
|
||||
ln = inp.ReadLine(); if (ln != Name) { diff.AppendFormat(fmt, "Name", Name, ln); };
|
||||
ln = inp.ReadLine(); if (ln != Description) { diff.AppendFormat(fmt, "Description", Description, ln); };
|
||||
|
||||
//foreach (var step in TransitionSteps)
|
||||
//{
|
||||
// string testDiff = step.Compare(inp);
|
||||
// if (testDiff.Contains(
|
||||
//}
|
||||
|
||||
return diff.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2015, 2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
|
||||
namespace Config.Entities
|
||||
{
|
||||
@@ -63,64 +61,5 @@ namespace Config.Entities
|
||||
result += indent + "PumpsWithFMPct = " + PumpWithFMPcts + Environment.NewLine;
|
||||
return result;
|
||||
}
|
||||
|
||||
public virtual void Export(StreamWriter output)
|
||||
{
|
||||
CultureInfo ci = CultureInfo.InvariantCulture;
|
||||
|
||||
output.WriteLine(ItemNr.ToString(ci));
|
||||
output.WriteLine(Duration.ToString(ci));
|
||||
output.WriteLine(Message);
|
||||
output.WriteLine(EndCondition);
|
||||
output.WriteLine(ValvesOpen);
|
||||
output.WriteLine(ValvesClose);
|
||||
output.WriteLine(RegulValvesPct);
|
||||
output.WriteLine(PumpWithFMPcts);
|
||||
}
|
||||
|
||||
public static TransitionStep Import(StreamReader input, TransitionSequence newSequence)
|
||||
{
|
||||
string firstLine = input.ReadLine();
|
||||
if (string.IsNullOrEmpty(firstLine))
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
CultureInfo ci = CultureInfo.InvariantCulture;
|
||||
int itemNr = int.Parse(firstLine, ci);
|
||||
TransitionStep tst = new TransitionStep(itemNr, newSequence);
|
||||
|
||||
tst.Duration = int.Parse(input.ReadLine(), ci);
|
||||
tst.Message = input.ReadLine();
|
||||
tst.EndCondition = input.ReadLine();
|
||||
tst.ValvesOpen = input.ReadLine();
|
||||
tst.ValvesClose = input.ReadLine();
|
||||
tst.RegulValvesPct = input.ReadLine();
|
||||
tst.PumpWithFMPcts = input.ReadLine();
|
||||
|
||||
return tst;
|
||||
}
|
||||
|
||||
public virtual string Compare(StreamReader inp)
|
||||
{
|
||||
System.Text.StringBuilder diff = new System.Text.StringBuilder();
|
||||
string fmt = string.Format("Step {0} : ", ItemNr) + "{0} = {1}\r\n (in the file {2})\r\n";
|
||||
string ln;
|
||||
CultureInfo ci = CultureInfo.InvariantCulture;
|
||||
|
||||
string firstLine = inp.ReadLine();
|
||||
if (string.IsNullOrEmpty(firstLine)) return string.Format("TransitionStep {0} is missing in the compared file\r\n", ItemNr);
|
||||
|
||||
if (ItemNr.ToString() != firstLine) { diff.AppendFormat(fmt, "ItemNr", ItemNr, firstLine); };
|
||||
ln = inp.ReadLine(); if (ln != Duration.ToString(ci)) { diff.AppendFormat(fmt, "Duration", Duration.ToString(ci), ln); };
|
||||
ln = inp.ReadLine(); if (ln != Message) { diff.AppendFormat(fmt, "Message", Message, ln); };
|
||||
ln = inp.ReadLine(); if (ln != EndCondition) { diff.AppendFormat(fmt, "EndCondition", EndCondition, ln); };
|
||||
ln = inp.ReadLine(); if (ln != ValvesOpen) { diff.AppendFormat(fmt, "ValvesOpen", ValvesOpen, ln); };
|
||||
ln = inp.ReadLine(); if (ln != ValvesClose) { diff.AppendFormat(fmt, "ValvesClose", ValvesClose, ln); };
|
||||
ln = inp.ReadLine(); if (ln != RegulValvesPct) { diff.AppendFormat(fmt, "RegulValvesPct", RegulValvesPct, ln); };
|
||||
ln = inp.ReadLine(); if (ln != PumpWithFMPcts) { diff.AppendFormat(fmt, "PumpWithFMPcts", PumpWithFMPcts, ln); };
|
||||
|
||||
return diff.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
///
|
||||
/// Copyright (c) 2013-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
|
||||
namespace Config.Entities
|
||||
{
|
||||
@@ -36,24 +35,5 @@ namespace Config.Entities
|
||||
foreach (var step in VirtualBenchSteps) { result.VirtualBenchSteps.Add(step.Clone()); }
|
||||
return result;
|
||||
}
|
||||
|
||||
public virtual void Export(StreamWriter output)
|
||||
{
|
||||
/// TODO
|
||||
}
|
||||
|
||||
public static VirtualBenchSequence Import(StreamReader input)
|
||||
{
|
||||
VirtualBenchSequence result = new VirtualBenchSequence();
|
||||
/// TODO
|
||||
return result;
|
||||
}
|
||||
|
||||
public virtual string Compare(StreamReader inp)
|
||||
{
|
||||
System.Text.StringBuilder diff = new System.Text.StringBuilder();
|
||||
/// TODO
|
||||
return diff.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.18.1151.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1151.0")]
|
||||
[assembly: AssemblyVersion("2.18.982.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.982.0")]
|
||||
|
||||
+2
-19
@@ -1,7 +1,4 @@
|
||||
///
|
||||
/// Copyright (c) 2017-2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
@@ -12,21 +9,7 @@ namespace Config
|
||||
{
|
||||
public static string SignificantDigitsToFmt(double value, int sigDigits)
|
||||
{
|
||||
if (sigDigits == 6)
|
||||
{
|
||||
if (value >= 99999.5 || value < -99999.5) return "F0";
|
||||
else if (value >= 9999.95 || value < -9999.95) return "F1";
|
||||
else if (value >= 999.995 || value < -999.995) return "F2";
|
||||
else if (value >= 99.9995 || value < -99.9995) return "F3";
|
||||
else if (value >= 9.99995 || value < -9.99995) return "F4";
|
||||
else if (value >= 0.999995 || value < -0.999995) return "F5";
|
||||
else if (value >= 0.0999995 || value < -0.0999995) return "F6";
|
||||
else if (value >= 0.00999995 || value < -0.00999995) return "F7";
|
||||
else if (value >= 0.000999995 || value < -0.000999995) return "F8";
|
||||
else if (value >= 0.0000999995 || value < -0.0000999995) return "F9";
|
||||
else return "F10";
|
||||
}
|
||||
else if (sigDigits == 5)
|
||||
if (sigDigits == 5)
|
||||
{
|
||||
if (value >= 9999.5 || value < -9999.5) return "F0";
|
||||
else if (value >= 999.95 || value < -999.95) return "F1";
|
||||
|
||||
+13
-76
@@ -56,10 +56,7 @@ namespace DeviceTest
|
||||
|
||||
|
||||
static TBF.Boxes.FloatBox floatBox;
|
||||
static TBF.Boxes.DoubleBox dblBox1;
|
||||
static TBF.Boxes.DoubleBox dblBox2;
|
||||
static TBF.Boxes.DoubleBox dblBox3;
|
||||
static Event evnt;
|
||||
static Event evnt;
|
||||
|
||||
|
||||
static DeviceTestDlg()
|
||||
@@ -276,14 +273,7 @@ namespace DeviceTest
|
||||
radioButton3.Text = "SelectTank 3";
|
||||
radioButton4.Text = "SelectTank -";
|
||||
}
|
||||
else if (className == "Modbus.QuidoRS")
|
||||
{
|
||||
radioButton1.Text = "Close relay 1";
|
||||
radioButton2.Text = "Close relay 2";
|
||||
radioButton3.Text = "Close relay 3";
|
||||
radioButton4.Text = "Open all relays";
|
||||
}
|
||||
else radioButton1.Text = "spare";
|
||||
else radioButton1.Text = "spare";
|
||||
}
|
||||
///
|
||||
void UpdateOperations2(string className)
|
||||
@@ -303,14 +293,7 @@ namespace DeviceTest
|
||||
radioButton23.Text = "SelectTank 3";
|
||||
radioButton24.Text = "SelectTank -";
|
||||
}
|
||||
else if (className == "Modbus.QuidoRS")
|
||||
{
|
||||
radioButton21.Text = "Close relay 1";
|
||||
radioButton22.Text = "Close relay 2";
|
||||
radioButton23.Text = "Close relay 3";
|
||||
radioButton24.Text = "Open all relays";
|
||||
}
|
||||
else radioButton21.Text = "spare";
|
||||
else radioButton21.Text = "spare";
|
||||
}
|
||||
///
|
||||
void UpdateOperations3(string className)
|
||||
@@ -330,14 +313,7 @@ namespace DeviceTest
|
||||
radioButton33.Text = "SelectTank 3";
|
||||
radioButton34.Text = "SelectTank -";
|
||||
}
|
||||
else if (className == "Modbus.QuidoRS")
|
||||
{
|
||||
radioButton31.Text = "Close relay 1";
|
||||
radioButton32.Text = "Close relay 2";
|
||||
radioButton33.Text = "Close relay 3";
|
||||
radioButton34.Text = "Open all relays";
|
||||
}
|
||||
else radioButton31.Text = "spare";
|
||||
else radioButton31.Text = "spare";
|
||||
}
|
||||
|
||||
|
||||
@@ -681,25 +657,13 @@ namespace DeviceTest
|
||||
operation1 = (tbfComponent1forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(10);
|
||||
operation2 = (tbfComponent1forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(20);
|
||||
}
|
||||
else if (tbfComponent1forOp is TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter)
|
||||
{
|
||||
operation1 = (tbfComponent1forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadLevelOp(ref dblBox1);
|
||||
operation2 = (tbfComponent1forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
|
||||
}
|
||||
else if (tbfComponent1forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
else if (tbfComponent1forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
{
|
||||
//operation1 = (tbfComponent1forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(1);
|
||||
//operation2 = (tbfComponent1forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(2);
|
||||
//operation3 = (tbfComponent1forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(3);
|
||||
//operation4 = (tbfComponent1forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(0);
|
||||
}
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
{
|
||||
operation1 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(1);
|
||||
operation2 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(2);
|
||||
operation3 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(4);
|
||||
operation4 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(0);
|
||||
}
|
||||
|
||||
|
||||
if (tbfComponent2forOp is TBF.BenchControl.Modbus.PressureMeter.Meret.PressureMeter)
|
||||
@@ -717,28 +681,16 @@ namespace DeviceTest
|
||||
}
|
||||
else if (tbfComponent2forOp is TBF.BenchControl.Modbus.Easytherm.Easytherm)
|
||||
{
|
||||
operation21 = (tbfComponent2forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(10);
|
||||
operation22 = (tbfComponent2forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(20);
|
||||
operation21 = (tbfComponent1forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(10);
|
||||
operation22 = (tbfComponent1forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(20);
|
||||
}
|
||||
else if (tbfComponent2forOp is TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter)
|
||||
{
|
||||
operation21 = (tbfComponent2forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadLevelOp(ref dblBox1);
|
||||
operation22 = (tbfComponent2forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
|
||||
}
|
||||
else if (tbfComponent2forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
else if (tbfComponent2forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
{
|
||||
//operation21 = (tbfComponent2forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(1);
|
||||
//operation22 = (tbfComponent2forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(2);
|
||||
//operation23 = (tbfComponent2forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(3);
|
||||
//operation24 = (tbfComponent2forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(0);
|
||||
}
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
{
|
||||
operation21 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(1);
|
||||
operation22 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(2);
|
||||
operation23 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(4);
|
||||
operation24 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(0);
|
||||
}
|
||||
|
||||
|
||||
if (tbfComponent3forOp is TBF.BenchControl.Modbus.PressureMeter.Meret.PressureMeter)
|
||||
@@ -756,38 +708,23 @@ namespace DeviceTest
|
||||
}
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.Easytherm.Easytherm)
|
||||
{
|
||||
operation31 = (tbfComponent3forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(10);
|
||||
operation32 = (tbfComponent3forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(20);
|
||||
operation31 = (tbfComponent1forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(10);
|
||||
operation32 = (tbfComponent1forOp as TBF.BenchControl.Modbus.Easytherm.Easytherm).SetTemperatureOp(20);
|
||||
}
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter)
|
||||
{
|
||||
operation31 = (tbfComponent3forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadLevelOp(ref dblBox1);
|
||||
operation32 = (tbfComponent3forOp as TBF.BenchControl.Modbus.UltrasoundLevelMeter.LevelMeter).ReadTempOp(ref dblBox3);
|
||||
}
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
{
|
||||
//operation31 = (tbfComponent3forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(1);
|
||||
//operation32 = (tbfComponent3forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(2);
|
||||
//operation33 = (tbfComponent3forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(3);
|
||||
//operation34 = (tbfComponent3forOp as TBF.BenchControl.Modbus.TankSelector.TankSelector).SelectTankOp(0);
|
||||
}
|
||||
else if (tbfComponent3forOp is TBF.BenchControl.Modbus.TankSelector.TankSelector)
|
||||
{
|
||||
operation31 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(1);
|
||||
operation32 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(2);
|
||||
operation33 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(4);
|
||||
operation34 = (tbfComponent3forOp as TBF.BenchControl.Modbus.QuidoRS.QuidoRS).SetOutputsOp(0);
|
||||
}
|
||||
|
||||
|
||||
int time = 0;
|
||||
while (workerThreadRunning)
|
||||
while (workerThreadRunning)
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
|
||||
StateMachine.Time = ++time;
|
||||
|
||||
if (workerThreadRunning)
|
||||
if (workerThreadRunning)
|
||||
{
|
||||
foreach (var d in tbfDevices) d.RunDeviceBefore();
|
||||
|
||||
|
||||
@@ -72,10 +72,10 @@ namespace DeviceTest
|
||||
}
|
||||
|
||||
/// Configure and start logging
|
||||
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(Path.Combine(LocAppDataDir, log4netConfigFName)));
|
||||
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(LocAppDataDir + log4netConfigFName));
|
||||
log = LogManager.GetLogger(typeof(Program));
|
||||
log.Fatal("--------------------------------------------------------------------------------");
|
||||
log.FatalFormat("DeviceTest ver.{0}", Version);
|
||||
log.Fatal(string.Format("TBF ver.{0}", Version));
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
|
||||
@@ -96,7 +96,7 @@ namespace Results
|
||||
{
|
||||
if (d.WaterMeters[i] == null) continue;
|
||||
|
||||
if (!t.IsPartCompatible(waterMeterParts[i])) continue;
|
||||
if (t.Part != 0 && waterMeterParts[i] != 0 && t.Part != waterMeterParts[i]) continue;
|
||||
|
||||
///
|
||||
/// Create empty watermeter test results and add them to the list and to dictionaries
|
||||
|
||||
@@ -25,13 +25,9 @@ namespace Results.Entities
|
||||
|
||||
/// Main result
|
||||
public virtual double Error { get; set; } /// [%]
|
||||
public virtual int ErrorIndicators { get; set; } /// Not mapped to DB !!!, bit24=E25, bit25=E26, bit26=E27, bit27=E28
|
||||
public virtual double KorrErrQ { get; set; } /// [%] not mapped to results DB, saved to Oracle DB
|
||||
public virtual bool TestDone { get; set; } /// true = test was completed
|
||||
public virtual bool Passed { get; set; } /// true = test passed, water meter is OK
|
||||
#if ORACLE_DB
|
||||
public virtual double LastError { get; set; } /// [%] Previous test error at this Q in case Pruefindex > 1
|
||||
#endif
|
||||
|
||||
public virtual WaterMeter WaterMeter { get; set; } /// reference to the WaterMeter entity
|
||||
public virtual TestRslt TestRslt { get; set; } /// reference to the TestRslt entity
|
||||
@@ -84,18 +80,10 @@ namespace Results.Entities
|
||||
public virtual bool IsDataStream() { return (RegReaderType == (int)Config.Entities.RegisterReaderType.DataStream); }
|
||||
public virtual bool IsManual() { return (RegReaderType == (int)Config.Entities.RegisterReaderType.Manual); }
|
||||
|
||||
public virtual string PassedColorStr(string yesNoFormatOrEmpty)
|
||||
public virtual string PassedColorStr()
|
||||
{
|
||||
if (string.IsNullOrEmpty(yesNoFormatOrEmpty))
|
||||
{
|
||||
return Utils.PassedColorStr(Passed, Evaluate());
|
||||
}
|
||||
else
|
||||
{
|
||||
string[] yesNo = yesNoFormatOrEmpty.Split(new char[] { '~' });
|
||||
return Passed ? yesNo[0] : ((yesNo.Length >= 2) ? yesNo[1] : Results.Resources.Strings.No);
|
||||
}
|
||||
}
|
||||
return Utils.PassedColorStr(Passed, Evaluate());
|
||||
}
|
||||
|
||||
public MeterTestRslt()
|
||||
{
|
||||
|
||||
@@ -20,8 +20,8 @@ namespace Results.Entities
|
||||
public virtual double TargetVolume { get; set; } /// [l] target test volume
|
||||
public virtual double TargetTime { get; set; } /// [s] target test time
|
||||
public virtual string Method { get; set; }
|
||||
public virtual double ErrLimLo { get; set; } /// [%] usually < 0, in case of heat meters: 1=class1, 2=class2, 3=class3
|
||||
public virtual double ErrLimHi { get; set; } /// [%] usually > 0, in case of heat meters: -Qn in m3/h
|
||||
public virtual double ErrLimLo { get; set; } /// [%] (usually < 0)
|
||||
public virtual double ErrLimHi { get; set; } /// [%] (usually > 0)
|
||||
public virtual double Uncertainty { get; set; } /// [%] makes error limits tighter: 0 <= Uncertainty <= abs(ErrLimXx)
|
||||
public virtual bool DoControlWaterTemp { get; set; }
|
||||
public virtual float TempLimLo { get; set; }
|
||||
|
||||
@@ -25,8 +25,7 @@ namespace Results.Entities
|
||||
public virtual DateTime EndTime { get; set; } /// Date and time of the test end
|
||||
public virtual int FlowSetTime { get; set; } /// [s] Measurement time in seconds
|
||||
public virtual double TestTime { get; set; } /// [s] Measurement time in seconds
|
||||
public virtual double PulsesMaster { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the water to the tank
|
||||
public virtual double TotalPulsesMstr { get; set; } /// [pls] FlyingStartMassCollectionProlonged: MID pulses of the complete test (not mapped to DB)
|
||||
public virtual double PulsesMaster { get; set; }
|
||||
public virtual double ConstMasterRaw { get; set; } /// [l/pls] Liters per pulse of the master flow meter uncorrected.
|
||||
public virtual double ConstMasterCorr { get; set; } /// [l/pls] Liters per pulse of the master flow meter corrected by a correction table.
|
||||
public virtual double ConstMaster { get; set; } /// [l/pls] Liters per pulse of the master flow meter calculated from a mass measurement.
|
||||
@@ -148,7 +147,7 @@ namespace Results.Entities
|
||||
/// Metrological class and nominal flow of a heat meter
|
||||
int metrClass = (int)Math.Round(TestData.ErrLimLo);
|
||||
double Qp = Math.Abs(TestData.ErrLimHi);
|
||||
double Q = (TestTime == 0) ? 1 : Math.Max(3.6 * VolumeCTV / TestTime, 0.00001); /// Div. by zero avoided
|
||||
double Q = Math.Max(FlowMean, 0.00001); /// to avoid division by zero
|
||||
|
||||
/// Calculate the error limit of a heat meter
|
||||
switch (metrClass)
|
||||
@@ -172,7 +171,7 @@ namespace Results.Entities
|
||||
/// Metrological class and nominal flow of a heat meter
|
||||
int metrClass = (int)Math.Round(TestData.ErrLimLo);
|
||||
double Qp = Math.Abs(TestData.ErrLimHi);
|
||||
double Q = (TestTime == 0) ? 1 : Math.Max(3.6 * VolumeCTV / TestTime, 0.00001); /// Div. by zero avoided
|
||||
double Q = Math.Max(FlowMean, 0.00001); /// to avoid division by zero
|
||||
|
||||
/// Calculate the error limit of a heat meter
|
||||
switch (metrClass)
|
||||
@@ -319,18 +318,6 @@ namespace Results.Entities
|
||||
#endif
|
||||
}
|
||||
|
||||
public virtual bool IsPartCompatible(int waterMeterPartNr)
|
||||
{
|
||||
if ((this.Part == 0) || (waterMeterPartNr == 0)) return true;
|
||||
|
||||
if ((this.Part % 10) == waterMeterPartNr) return true;
|
||||
if (((this.Part / 10) % 10) == waterMeterPartNr) return true;
|
||||
if (((this.Part / 100) % 10) == waterMeterPartNr) return true;
|
||||
if (((this.Part / 1000) % 10) == waterMeterPartNr) return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return string.Format("batch={0}, procedure={1}, test={2}, {3} {4}", Batch.BatchNr, Batch.ProcedureName, Name(), StartTime.ToShortDateString(), StartTime.ToShortTimeString());
|
||||
|
||||
@@ -41,8 +41,8 @@ namespace Results.Entities
|
||||
public class WaterMeter
|
||||
{
|
||||
public virtual int Id { get; protected set; }
|
||||
public virtual string SerialNr { get; set; } /// S/N _or_ S/N of the main meter of a compound meter _or_ PCB Number of an iPerl water meter
|
||||
public virtual string SerialNrAux { get; set; } /// S/N of the aux. meter of a compound meter _or_ a complete assigned S/N of an iPerl water meter
|
||||
public virtual string SerialNr { get; set; } /// Main s/n for compound meters, PCB Number for iPerl water meter
|
||||
public virtual string SerialNrAux { get; set; } /// Aux s/n for compound meters, Serial number for iPerl water meter
|
||||
public virtual string PurchaseOrder { get; set; }
|
||||
public virtual int YearOfProduction { get; set; }
|
||||
public virtual int WMPosition { get; set; }
|
||||
@@ -57,48 +57,27 @@ namespace Results.Entities
|
||||
public virtual string Remark { get; set; }
|
||||
|
||||
#if IPERL
|
||||
public virtual int SerialNrEx { get; set; } /// Aux s/n for compound meters, Serial number for iPerl water meter
|
||||
public virtual double OrigCalibFactor { get; set; } /// Original iPerl calibration factor used during the test
|
||||
public virtual double CalibFactor { get; set; } /// iPerl calibration factor used during the test
|
||||
public virtual double OrigCalibFactorLNA{ get; set; } /// Original iPerl LNA calibration factor used during the test
|
||||
public virtual double OrigCalibFactorLNA { get; set; } /// Original iPerl LNA calibration factor used during the test
|
||||
public virtual double CalibFactorLNA { get; set; } /// iPerl LNA calibration factor used during the test
|
||||
public virtual double Q2ErrWOCorrection { get; set; }
|
||||
public virtual int Q2CorrRL { get; set; } /// iPerl Q2 correction for the R-flow written to iPerl
|
||||
public virtual int Q2CorrLR { get; set; } /// iPerl Q2 correction for the L-flow written to iPerl
|
||||
public virtual bool Q2CorrectionDone { get; set; } /// true = iPerl Q2 correction was done
|
||||
public virtual double Q2Correction { get; set; } /// !!! obsolete
|
||||
public virtual int Q2CorrRFlow { get; set; } /// iPerl Q2 correction for the R-flow written to iPerl
|
||||
public virtual int Q2CorrLFlow { get; set; } /// iPerl Q2 correction for the L-flow written to iPerl
|
||||
public virtual int Q2CorrFlowRight { get; set; } /// 1 = right to left
|
||||
public virtual double Diff2Hz8Hz { get; set; }
|
||||
public virtual bool Hz2CorrectionDone { get; set; } /// true = iPerl Q2 correction was done
|
||||
public virtual int Hz2Correction { get; set; } /// iPerl Q2 correction used during the test
|
||||
public virtual string FWVersion { get; set; }
|
||||
#endif
|
||||
#if TURA_SPECIAL
|
||||
/// <summary>
|
||||
/// Data from a production test bench (in case of tests on iPerl special)
|
||||
/// </summary>
|
||||
public virtual int AssignedSerialNr { get; set; }
|
||||
public virtual string CompleteSerialNr { get; set; }
|
||||
public virtual string RadioAddress { get; set; }
|
||||
public virtual int PaletteNr { get; set; }
|
||||
public virtual int UmkartonNr { get; set; }
|
||||
public virtual string ProdTestBench { get; set; }
|
||||
public virtual int ProdWMPosition { get; set; }
|
||||
public virtual string ProdUserName { get; set; }
|
||||
public virtual string ProdPurchaseOrder { get; set; }
|
||||
public virtual bool ProdPassed { get; set; }
|
||||
public virtual int ProdResultCode { get; set; }
|
||||
public virtual int ProdQ2CorrRL { get; set; } /// iPerl Q2 correction for the R-flow written to iPerl
|
||||
public virtual int ProdQ2CorrLR { get; set; } /// iPerl Q2 correction for the L-flow written to iPerl
|
||||
#endif
|
||||
#if ORACLE_DB
|
||||
public virtual int Pruefindex { get; set; } /// >= 1 ... pruefindex
|
||||
public virtual int HydrPruefung { get; set; }
|
||||
public virtual int WMTypeRevision { get; set; } /// Not mapped to DB !!!
|
||||
public virtual object RawTestInfos { get; set; } /// IList<SensusTestInfo> fetched from Oracle at the beginning of the cycle, not mapped to DB !!!
|
||||
public virtual object CompleteTestInfos { get; set; } /// SensusTestInfo[] obtained as a best match at the beginning of the cycle, not mapped to DB !!!
|
||||
public virtual int Pruefindex { get; set; } /// Not mapped to DB !!! 0=unknown (saving to Oracle failed), >=1 ... pruefindex
|
||||
public virtual int HydrPruefung { get; set; } /// Not mapped to DB !!!
|
||||
#endif
|
||||
public virtual int ProcessId { get; set; } /// Not mapped to DB !!! Tracing DB Process ID
|
||||
public virtual bool IsLastRecordOk { get; set; } /// Not mapped to DB !!! Previous record verification result
|
||||
|
||||
public virtual WaterMeterData WaterMeterData { get; set; }
|
||||
public virtual WaterMeterData WaterMeterData { get; set; }
|
||||
public virtual Batch Batch { get; set; }
|
||||
public virtual IList<MeterTestRslt> MeterTestRslts { get; set; }
|
||||
|
||||
@@ -172,7 +151,7 @@ namespace Results.Entities
|
||||
{
|
||||
ErrorFlagsMode errorFlagsMode;
|
||||
string eFlags = Utils.ErrorFlagsStr(ErrorFlagsFromTestsAndWM(out errorFlagsMode));
|
||||
return string.IsNullOrEmpty(eFlags) ? (WaterMeterData.Text4 + PassedColorStr(null)) : eFlags;
|
||||
return string.IsNullOrEmpty(eFlags) ? (WaterMeterData.Text4 + PassedColorStr()) : eFlags;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -232,17 +211,9 @@ namespace Results.Entities
|
||||
}
|
||||
|
||||
|
||||
public virtual string PassedColorStr(string yesNoFormatOrEmpty)
|
||||
public virtual string PassedColorStr()
|
||||
{
|
||||
if (string.IsNullOrEmpty(yesNoFormatOrEmpty))
|
||||
{
|
||||
return Utils.PassedColorStr(Passed, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
string[] yesNo = yesNoFormatOrEmpty.Split(new char[] { '~' });
|
||||
return Passed ? yesNo[0] : ((yesNo.Length >= 2) ? yesNo[1] : Results.Resources.Strings.No);
|
||||
}
|
||||
return Utils.PassedColorStr(Passed, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -283,12 +254,7 @@ namespace Results.Entities
|
||||
{
|
||||
return mtr;
|
||||
}
|
||||
else if (meterId == Config.Entities.CompoundMeterId.SingleOrCompound &&
|
||||
mtr.CompoundMeterId == (byte)Config.Entities.CompoundMeterId.HeatMeterEnergy)
|
||||
{
|
||||
return mtr;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -350,15 +316,6 @@ namespace Results.Entities
|
||||
public WaterMeter()
|
||||
{
|
||||
MeterTestRslts = new List<MeterTestRslt>();
|
||||
#if ORACLE_DB
|
||||
Pruefindex = 1;
|
||||
HydrPruefung = 0;
|
||||
WMTypeRevision = 0;
|
||||
RawTestInfos = null;
|
||||
CompleteTestInfos = null;
|
||||
#endif
|
||||
ProcessId = 0;
|
||||
IsLastRecordOk = false;
|
||||
}
|
||||
|
||||
|
||||
@@ -381,42 +338,24 @@ namespace Results.Entities
|
||||
ArchivePath = src.ArchivePath;
|
||||
Remark = src.Remark;
|
||||
#if IPERL
|
||||
SerialNrEx = src.SerialNrEx;
|
||||
OrigCalibFactor = src.OrigCalibFactor;
|
||||
CalibFactor = src.CalibFactor;
|
||||
Q2ErrWOCorrection = src.Q2ErrWOCorrection;
|
||||
Q2CorrRL = src.Q2CorrRL;
|
||||
Q2CorrLR = src.Q2CorrLR;
|
||||
Q2CorrectionDone = src.Q2CorrectionDone;
|
||||
Q2Correction = src.Q2Correction;
|
||||
Q2CorrRFlow = src.Q2CorrRFlow;
|
||||
Q2CorrLFlow = src.Q2CorrLFlow;
|
||||
Q2CorrFlowRight = src.Q2CorrFlowRight;
|
||||
Diff2Hz8Hz = src.Diff2Hz8Hz;
|
||||
Hz2CorrectionDone = src.Hz2CorrectionDone;
|
||||
Hz2Correction = src.Hz2Correction;
|
||||
FWVersion = src.FWVersion;
|
||||
#endif
|
||||
#if TURA_SPECIAL
|
||||
AssignedSerialNr = src.AssignedSerialNr;
|
||||
CompleteSerialNr = src.CompleteSerialNr;
|
||||
RadioAddress = src.RadioAddress;
|
||||
PaletteNr = src.PaletteNr;
|
||||
UmkartonNr = src.UmkartonNr;
|
||||
ProdTestBench = src.ProdTestBench;
|
||||
ProdWMPosition = src.ProdWMPosition;
|
||||
ProdUserName = src.ProdUserName;
|
||||
ProdPurchaseOrder = src.ProdPurchaseOrder;
|
||||
ProdPassed = src.ProdPassed;
|
||||
ProdResultCode = src.ProdResultCode;
|
||||
ProdQ2CorrRL = src.ProdQ2CorrRL;
|
||||
ProdQ2CorrLR = src.ProdQ2CorrLR;
|
||||
#endif
|
||||
#if ORACLE_DB
|
||||
Pruefindex = src.Pruefindex;
|
||||
Pruefindex = src.Pruefindex;
|
||||
HydrPruefung = src.HydrPruefung;
|
||||
WMTypeRevision = src.WMTypeRevision;
|
||||
RawTestInfos = src.RawTestInfos;
|
||||
CompleteTestInfos = src.CompleteTestInfos;
|
||||
#endif
|
||||
ProcessId = src.ProcessId;
|
||||
IsLastRecordOk = src.IsLastRecordOk;
|
||||
|
||||
foreach (var mtr in MeterTestRslts)
|
||||
{
|
||||
MeterTestRslt srcMtr = src.GetMeterTestRslt(mtr.Name(), (Config.Entities.CompoundMeterId)mtr.CompoundMeterId);
|
||||
@@ -432,7 +371,7 @@ namespace Results.Entities
|
||||
{
|
||||
StringBuilder sb = new StringBuilder(80);
|
||||
#if IPERL
|
||||
sb.AppendFormat("PCB:{0} S/N:{1} ", SerialNr, SerialNrAux);
|
||||
sb.AppendFormat("PCB:{0} S/N:{1} ", SerialNr, SerialNrEx);
|
||||
#else
|
||||
sb.AppendFormat("S/N:{0} ", SerialNr);
|
||||
#endif
|
||||
|
||||
@@ -54,6 +54,7 @@ namespace Results.Entities
|
||||
|
||||
#if ORACLE_DB
|
||||
public virtual int WMTypeId { get; set; }
|
||||
public virtual int WMTypeRev { get; set; }
|
||||
#endif
|
||||
|
||||
public WaterMeterData()
|
||||
@@ -110,6 +111,7 @@ namespace Results.Entities
|
||||
|
||||
#if ORACLE_DB
|
||||
if (WMTypeId != wmd.WMTypeId) return false;
|
||||
if (WMTypeRev != wmd.WMTypeRev) return false;
|
||||
#endif
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -16,16 +16,6 @@ namespace Results.Forms
|
||||
{
|
||||
static readonly ILog log = LogManager.GetLogger(typeof(BatchResultsDlg));
|
||||
|
||||
|
||||
static readonly Color NotCompletedColor = Color.White;
|
||||
static readonly Color OkColor = Color.LightGreen;
|
||||
static readonly Color NokColor = Color.LightPink;
|
||||
static readonly Color RejectColor = Color.Magenta;
|
||||
static readonly Color ProductionTracing = Color.RoyalBlue;
|
||||
static readonly Color WrongDirection = Color.Gold;
|
||||
static readonly Color WrongQ2FactorsColor = Color.Red;
|
||||
|
||||
|
||||
DateTime lastRedraw;
|
||||
DateTime lastSizeChange;
|
||||
bool loaded;
|
||||
@@ -55,7 +45,7 @@ namespace Results.Forms
|
||||
Results.BatchResults results;
|
||||
MetersKind metersKind;
|
||||
|
||||
OneWMResultsCtrl firstListView;
|
||||
ListView firstListView;
|
||||
public int[] rsltsClmnWidths;
|
||||
int rsltsClmnCount { get { return (rsltsClmnWidths != null) ? rsltsClmnWidths.Length : 0; } }
|
||||
|
||||
@@ -160,9 +150,9 @@ namespace Results.Forms
|
||||
{
|
||||
if (results.WaterMeters[i] != null && !results.WaterMeters[i].Disabled)
|
||||
{
|
||||
OneWMResultsCtrl lview = (TestsArrangement == TestsArrangement.Rows)
|
||||
? GetResultsTestsAreRows(results.WaterMeters[i], i + 1)
|
||||
: GetResultsTestsAreColumns(results.WaterMeters[i], i + 1);
|
||||
ListView lview = (TestsArrangement == TestsArrangement.Rows)
|
||||
? GetResultsTestsAreRows(results.WaterMeters[i], i + 1)
|
||||
: GetResultsTestsAreColumns(results.WaterMeters[i], i + 1);
|
||||
if (lview != null)
|
||||
{
|
||||
flowLayoutPanel.Controls.Add(lview);
|
||||
@@ -188,16 +178,24 @@ namespace Results.Forms
|
||||
this.ResumeLayout(false);
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get an empty ListView control with appropriate parameters.
|
||||
/// </summary>
|
||||
/// <returns>ListView control</returns>
|
||||
OneWMResultsCtrl GetListView(Color backColor)
|
||||
ListView GetListView()
|
||||
{
|
||||
return new OneWMResultsCtrl(backColor, lvWidth, lvHeight);
|
||||
ListView lview = new ListView();
|
||||
lview.AllowColumnReorder = false;
|
||||
lview.Dock = System.Windows.Forms.DockStyle.None;
|
||||
lview.FullRowSelect = true;
|
||||
lview.GridLines = true;
|
||||
lview.Location = new System.Drawing.Point(0, 0);
|
||||
lview.Size = new System.Drawing.Size(lvWidth, lvHeight);
|
||||
lview.TabIndex = 0;
|
||||
lview.UseCompatibleStateImageBehavior = false;
|
||||
lview.View = System.Windows.Forms.View.Details;
|
||||
return lview;
|
||||
}
|
||||
OneWMResultsCtrl GetListView() { return GetListView(Color.White); }
|
||||
|
||||
|
||||
/// <summary>
|
||||
@@ -211,10 +209,8 @@ namespace Results.Forms
|
||||
|
||||
foreach (var mtr in wMtr.MeterTestRslts)
|
||||
{
|
||||
if ((mtr.CompoundMeterId == (byte)CompoundMeterId.Single || mtr.CompoundMeterId == (byte)CompoundMeterId.Compound || mtr.CompoundMeterId == (byte)CompoundMeterId.HeatMeterEnergy)
|
||||
&& mtr.TestDone
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Never)
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Internal))
|
||||
if (mtr.IsPilotRslt() && mtr.TestDone && (mtr.Publish() != Config.Entities.Publish.Never)
|
||||
&& (mtr.Publish() != Config.Entities.Publish.Internal))
|
||||
{
|
||||
testNames.Add(mtr.Name());
|
||||
}
|
||||
@@ -223,75 +219,17 @@ namespace Results.Forms
|
||||
return testNames;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get color for highlighting results and an apporpriate text message.
|
||||
/// </summary>
|
||||
/// <param name="wMtr">Water meter results entity</param>
|
||||
/// <param name="message">Appropriate message</param>
|
||||
/// <returns>Color for results</returns>
|
||||
Color GetColorOfResults(Results.Entities.WaterMeter wMtr, out string message)
|
||||
{
|
||||
bool wmtrCompleted = wMtr.CompletedFromTests();
|
||||
bool wmtrPassed = wMtr.PassedFromTests();
|
||||
|
||||
if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E28) != 0)
|
||||
{
|
||||
message = Strings.Previous_step_is_missing_or_NOK;
|
||||
return ProductionTracing;
|
||||
}
|
||||
else if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E27) != 0)
|
||||
{
|
||||
message = Strings.Wrong_iPerl_counting_direction;
|
||||
return WrongDirection;
|
||||
}
|
||||
else if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E26) != 0)
|
||||
{
|
||||
message = Strings.Invalid_Q2_correction_factors;
|
||||
return WrongQ2FactorsColor;
|
||||
}
|
||||
else if ((wMtr.ErrorFlags & (int)ErrorFlagMask.E25) != 0)
|
||||
{
|
||||
message = Strings.Test_repetition_count_exceeded_upper_limit;
|
||||
return RejectColor;
|
||||
}
|
||||
else if (wmtrPassed)
|
||||
{
|
||||
/// Water meter passed (therefore is was also completed)
|
||||
message = Strings.Passed;
|
||||
return OkColor;
|
||||
}
|
||||
else if (wmtrCompleted)
|
||||
{
|
||||
/// Water meter was completed but did not pass => Failed
|
||||
message = Strings.Failed;
|
||||
return NokColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Water meter was not completed yet => did not pass, did not fail
|
||||
message = Strings.Test_in_progress;
|
||||
return NotCompletedColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get a ListView control filled with results of the meter 'mtr'
|
||||
/// </summary>
|
||||
/// <param name="mtr">Water meter number (1-based): 1 .. Config.Data.WMsCount</param>
|
||||
/// <returns>ListView object</returns>
|
||||
OneWMResultsCtrl GetResultsTestsAreRows(Results.Entities.WaterMeter wMtr, int printedWMNr)
|
||||
ListView GetResultsTestsAreRows(Results.Entities.WaterMeter wMtr, int printedWMNr)
|
||||
{
|
||||
metersKind = wMtr.Compound() ? MetersKind.Combined : (wMtr.HeatMeter() ? MetersKind.HeatMeter : MetersKind.Single);
|
||||
|
||||
string message = string.Empty;
|
||||
Color commonBackColor = GetColorOfResults(wMtr, out message);
|
||||
OneWMResultsCtrl lview = GetListView(commonBackColor);
|
||||
#if ORACLE_DB
|
||||
lview.Caption = string.Format("{0} ({1}) {2}", (string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr), (wMtr.Pruefindex % 100), message);
|
||||
#else
|
||||
lview.Caption = string.Format("s/n = {0}", string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr);
|
||||
#endif
|
||||
ListView lview = GetListView();
|
||||
|
||||
IList<Results.WMeterRsltItemSpec> items = GetRsltItems(metersKind);
|
||||
|
||||
@@ -352,18 +290,11 @@ namespace Results.Forms
|
||||
/// </summary>
|
||||
/// <param name="mtr">Water meter number (1-based): 1 .. Config.Data.WMsCount</param>
|
||||
/// <returns>ListView object</returns>
|
||||
OneWMResultsCtrl GetResultsTestsAreColumns(Results.Entities.WaterMeter wMtr, int printedWMNr)
|
||||
ListView GetResultsTestsAreColumns(Results.Entities.WaterMeter wMtr, int printedWMNr)
|
||||
{
|
||||
metersKind = wMtr.Compound() ? MetersKind.Combined : (wMtr.HeatMeter() ? MetersKind.HeatMeter : MetersKind.Single);
|
||||
|
||||
string message;
|
||||
Color commonBackColor = GetColorOfResults(wMtr, out message);
|
||||
OneWMResultsCtrl lview = GetListView(commonBackColor);
|
||||
#if ORACLE_DB
|
||||
lview.Caption = string.Format("{0} ({1}) {2}", (string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr), (wMtr.Pruefindex % 100), message);
|
||||
#else
|
||||
lview.Caption = string.Format("s/n = {0}", string.IsNullOrEmpty(wMtr.SerialNr) ? string.Empty : wMtr.SerialNr);
|
||||
#endif
|
||||
ListView lview = GetListView();
|
||||
|
||||
IList<Results.WMeterRsltItemSpec> items = GetRsltItems(metersKind);
|
||||
|
||||
|
||||
-102
@@ -1,102 +0,0 @@
|
||||
namespace Results.Forms
|
||||
{
|
||||
partial class OneWMResultsCtrl
|
||||
{
|
||||
/// <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.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tBox = new System.Windows.Forms.TextBox();
|
||||
this.lView = new System.Windows.Forms.ListView();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.tBox);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.lView);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(352, 318);
|
||||
this.splitContainer1.SplitterDistance = 25;
|
||||
this.splitContainer1.SplitterWidth = 1;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// tBox
|
||||
//
|
||||
this.tBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.tBox.Name = "tBox";
|
||||
this.tBox.Size = new System.Drawing.Size(352, 20);
|
||||
this.tBox.TabIndex = 0;
|
||||
//
|
||||
// lView
|
||||
//
|
||||
this.lView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.lView.FullRowSelect = true;
|
||||
this.lView.GridLines = true;
|
||||
this.lView.Location = new System.Drawing.Point(0, 0);
|
||||
this.lView.Name = "lView";
|
||||
this.lView.Size = new System.Drawing.Size(352, 292);
|
||||
this.lView.TabIndex = 0;
|
||||
this.lView.UseCompatibleStateImageBehavior = false;
|
||||
this.lView.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// OneWMResultsCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "OneWMResultsCtrl";
|
||||
this.Size = new System.Drawing.Size(352, 318);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.TextBox tBox;
|
||||
private System.Windows.Forms.ListView lView;
|
||||
}
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Results.Forms
|
||||
{
|
||||
public partial class OneWMResultsCtrl : UserControl
|
||||
{
|
||||
public OneWMResultsCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public OneWMResultsCtrl(Color backColor, int lvWidth, int lvHeight)
|
||||
: this()
|
||||
{
|
||||
lView.BackColor = backColor;
|
||||
tBox.BackColor = backColor;
|
||||
Size = new System.Drawing.Size(lvWidth, lvHeight);
|
||||
}
|
||||
|
||||
public string Caption { get { return tBox.Text; } set { tBox.Text = value; } }
|
||||
public ListView.ColumnHeaderCollection Columns { get { return lView.Columns; } }
|
||||
public ListView.ListViewItemCollection Items { get { return lView.Items; } }
|
||||
public Color BColor { set { lView.BackColor = value; tBox.BackColor = value; } }
|
||||
}
|
||||
}
|
||||
+70
-101
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2016-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2016-2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
|
||||
@@ -91,85 +91,85 @@ namespace Results
|
||||
T_Lo_start, /// 81
|
||||
T_Lo_end, /// 82
|
||||
T_Lo_avg, /// 83
|
||||
P_delta_mean, /// 84
|
||||
P_delta_start, /// 85
|
||||
P_delta_end, /// 86
|
||||
Meter_type, /// 87 Single, Compound or HeatMeter
|
||||
Volume_main, /// 88
|
||||
Volume_aux, /// 89
|
||||
Start_volume, /// 90
|
||||
Start_volume_main, /// 91
|
||||
Start_volume_aux, /// 92
|
||||
End_volume, /// 93
|
||||
End_volume_main, /// 94
|
||||
End_volume_aux, /// 95
|
||||
Error_main, /// 96
|
||||
Error_aux, /// 97
|
||||
Serial_Nr_main, /// 98
|
||||
Serial_Nr_aux, /// 99
|
||||
End_state_main, /// 100
|
||||
End_state_aux, /// 101
|
||||
Q_rise, /// 102
|
||||
Q_fall, /// 103
|
||||
P_delta_mean, /// 84
|
||||
P_delta_start, /// 85
|
||||
P_delta_end, /// 86
|
||||
Meter_type, /// 87 Single, Compound or HeatMeter
|
||||
Volume_main, /// 88
|
||||
Volume_aux, /// 89
|
||||
Start_volume, /// 90
|
||||
Start_volume_main, /// 91
|
||||
Start_volume_aux, /// 92
|
||||
End_volume, /// 93
|
||||
End_volume_main, /// 94
|
||||
End_volume_aux, /// 95
|
||||
Error_main, /// 96
|
||||
Error_aux, /// 97
|
||||
Serial_Nr_main, /// 98
|
||||
Serial_Nr_aux, /// 99
|
||||
End_state_main, /// 100
|
||||
End_state_aux, /// 101
|
||||
Q_rise, /// 102
|
||||
Q_fall, /// 103
|
||||
|
||||
/// iPerl
|
||||
/// iPerl
|
||||
OrigCalibFactor, /// 104
|
||||
CalibFactor, /// 105
|
||||
Q2ErrWOCorrection, /// 106
|
||||
Q2CorrectionDone, /// 107
|
||||
CalibFactor, /// 105
|
||||
Q2ErrWOCorrection, /// 106
|
||||
Q2CorrectionDone, /// 107
|
||||
Q2CorrRFlow, /// 108
|
||||
Q2CorrLFlow, /// 109
|
||||
Q2CorrFlowRight, /// 110
|
||||
|
||||
Q_ref_mean, /// 111
|
||||
T_up_start, /// 112
|
||||
T_up_end, /// 113
|
||||
T_up_avg, /// 114
|
||||
T_down_start, /// 115
|
||||
T_down_end, /// 116
|
||||
T_down_avg, /// 117
|
||||
T_div_start, /// 118
|
||||
T_div_end, /// 119
|
||||
T_div_avg, /// 120
|
||||
P_up_avg, /// 121
|
||||
P_down_avg, /// 122
|
||||
P_delta_avg, /// 123
|
||||
|
||||
TestDone, /// 124
|
||||
TestPassed, /// 125
|
||||
Q_ref_mean, /// 111
|
||||
T_up_start, /// 112
|
||||
T_up_end, /// 113
|
||||
T_up_avg, /// 114
|
||||
T_down_start, /// 115
|
||||
T_down_end, /// 116
|
||||
T_down_avg, /// 117
|
||||
T_div_start, /// 118
|
||||
T_div_end, /// 119
|
||||
T_div_avg, /// 120
|
||||
P_up_avg, /// 121
|
||||
P_down_avg, /// 122
|
||||
P_delta_avg, /// 123
|
||||
|
||||
TestDone, /// 124
|
||||
TestPassed, /// 125
|
||||
|
||||
/// iPerl
|
||||
FW_Version, /// 126
|
||||
|
||||
Mass_start_raw, /// 127
|
||||
Mass_start, /// 128
|
||||
Mass_end_raw, /// 129
|
||||
Mass_end, /// 130
|
||||
Mass, /// 131
|
||||
Buoyancy, /// 132
|
||||
Density_correction, /// 133
|
||||
Mass_start_raw, /// 127
|
||||
Mass_start, /// 128
|
||||
Mass_end_raw, /// 129
|
||||
Mass_end, /// 130
|
||||
Mass, /// 131
|
||||
Buoyancy, /// 132
|
||||
Density_correction, /// 133
|
||||
|
||||
ErrorFlags, /// 134
|
||||
E1, /// 135
|
||||
E2, /// 136
|
||||
E3, /// 137
|
||||
E4, /// 138
|
||||
E5, /// 139
|
||||
E6, /// 140
|
||||
E7, /// 141
|
||||
E8, /// 142
|
||||
E9, /// 143
|
||||
E10, /// 144
|
||||
E11, /// 145
|
||||
E12, /// 146
|
||||
E13, /// 147
|
||||
E14, /// 148
|
||||
E15, /// 149
|
||||
E16, /// 150
|
||||
ErrorFlags, /// 134
|
||||
E1, /// 135
|
||||
E2, /// 136
|
||||
E3, /// 137
|
||||
E4, /// 138
|
||||
E5, /// 139
|
||||
E6, /// 140
|
||||
E7, /// 141
|
||||
E8, /// 142
|
||||
E9, /// 143
|
||||
E10, /// 144
|
||||
E11, /// 145
|
||||
E12, /// 146
|
||||
E13, /// 147
|
||||
E14, /// 148
|
||||
E15, /// 149
|
||||
E16, /// 150
|
||||
|
||||
Table_row_nr, /// 151
|
||||
Table_column_nr, /// 152
|
||||
WMRemark, /// 153
|
||||
Table_row_nr, /// 151
|
||||
Table_column_nr, /// 152
|
||||
WMRemark, /// 153
|
||||
|
||||
User_description, /// 154
|
||||
Legalizator, /// 155
|
||||
@@ -181,7 +181,7 @@ namespace Results
|
||||
Diverter_start_time, /// 159
|
||||
Diverter_end_time, /// 160
|
||||
Q_sensitivity, /// 161
|
||||
|
||||
|
||||
Q_ref_min, /// 162
|
||||
Q_ref_max, /// 163
|
||||
Q_ref_start, /// 164
|
||||
@@ -210,7 +210,7 @@ namespace Results
|
||||
Rho_Wa_calc, /// 183
|
||||
|
||||
Formatted_WM_ID, /// 184, Formated WM ID string:
|
||||
/// {0}=start DateTime {1}-end DateTime, {2}=batch nr., {3}=wm pos.(1..max), {4}=s/n string
|
||||
/// {0}=start DateTime {1}-end DateTime, {2}=batch nr., {3}=wm pos.(1..max), {4}=s/n string
|
||||
E21, /// 185
|
||||
|
||||
T_line_mean, /// 186
|
||||
@@ -261,37 +261,6 @@ namespace Results
|
||||
Bench_address4, /// 226 'Address 4' from IBenchInfo
|
||||
Bench_address5, /// 227 'Address 5' from IBenchInfo
|
||||
|
||||
Max_test_index, /// 228 MaxPruefindex % 100
|
||||
VolumeCTV, /// 229
|
||||
|
||||
/// iPerl
|
||||
LastError, /// 230 For iPerl previous test result (test with Proefindex-1)
|
||||
OrigCalibFactorLNA, /// 231
|
||||
CalibFactorLNA, /// 232
|
||||
|
||||
WM_remark, /// 233
|
||||
|
||||
/// iPerl special
|
||||
Prod_AssignedSerialNr, /// 234
|
||||
Prod_CompleteSerialNr, /// 235
|
||||
Prod_RadioAddress, /// 236
|
||||
Prod_PaletteNr, /// 237
|
||||
Prod_UmkartonNr, /// 238
|
||||
Prod_TestBench, /// 239
|
||||
Prod_WMPosition, /// 240
|
||||
Prod_UserName, /// 241
|
||||
Prod_PurchaseOrder, /// 242
|
||||
Prod_Passed, /// 243
|
||||
Prod_ResultCode, /// 244
|
||||
Prod_Q2CorrRL, /// 245
|
||||
Prod_Q2CorrLR, /// 246
|
||||
|
||||
TestPartStr, /// 247
|
||||
|
||||
Error_heat_mtr_vol, /// 248
|
||||
Energy_start,
|
||||
Energy_end,
|
||||
|
||||
Count,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,10 +25,8 @@ namespace Results.Mappings
|
||||
Map(x => x.Error);
|
||||
Map(x => x.TestDone);
|
||||
Map(x => x.Passed);
|
||||
#if ORACLE_DB
|
||||
Map(x => x.LastError);
|
||||
#endif
|
||||
References(x => x.WaterMeter);
|
||||
|
||||
References(x => x.WaterMeter);
|
||||
References(x => x.TestRslt);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ namespace Results.Mappings
|
||||
#endif
|
||||
#if ORACLE_DB
|
||||
Map(x => x.WMTypeId);
|
||||
Map(x => x.WMTypeRev);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,39 +28,27 @@ namespace Results.Mappings
|
||||
.CustomType("StringClob")
|
||||
.CustomSqlType("varchar(2000)");
|
||||
#if IPERL
|
||||
Map(x => x.SerialNrEx);
|
||||
Map(x => x.OrigCalibFactor);
|
||||
Map(x => x.CalibFactor);
|
||||
#endif
|
||||
#if IPERL2
|
||||
Map(x => x.OrigCalibFactorLNA);
|
||||
Map(x => x.CalibFactorLNA);
|
||||
#endif
|
||||
#if IPERL
|
||||
Map(x => x.Q2ErrWOCorrection);
|
||||
Map(x => x.Q2CorrRL);
|
||||
Map(x => x.Q2CorrLR);
|
||||
Map(x => x.Q2CorrectionDone);
|
||||
Map(x => x.Q2Correction);
|
||||
Map(x => x.Q2CorrRFlow);
|
||||
Map(x => x.Q2CorrLFlow);
|
||||
Map(x => x.Q2CorrFlowRight);
|
||||
Map(x => x.Diff2Hz8Hz);
|
||||
Map(x => x.Hz2CorrectionDone);
|
||||
Map(x => x.Hz2Correction);
|
||||
Map(x => x.FWVersion);
|
||||
#endif
|
||||
#if TURA_SPECIAL
|
||||
Map(x => x.AssignedSerialNr);
|
||||
Map(x => x.CompleteSerialNr);
|
||||
Map(x => x.RadioAddress);
|
||||
Map(x => x.PaletteNr);
|
||||
Map(x => x.UmkartonNr);
|
||||
Map(x => x.ProdTestBench);
|
||||
Map(x => x.ProdWMPosition);
|
||||
Map(x => x.ProdUserName);
|
||||
Map(x => x.ProdPurchaseOrder);
|
||||
Map(x => x.ProdPassed);
|
||||
Map(x => x.ProdResultCode);
|
||||
Map(x => x.ProdQ2CorrRL);
|
||||
Map(x => x.ProdQ2CorrLR);
|
||||
#endif
|
||||
#if ORACLE_DB
|
||||
Map(x => x.Pruefindex);
|
||||
Map(x => x.HydrPruefung);
|
||||
#endif
|
||||
References(x => x.WaterMeterData);
|
||||
References(x => x.WaterMeterData);
|
||||
References(x => x.Batch);
|
||||
HasMany(x => x.MeterTestRslts)
|
||||
.Cascade.All();
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Printing;
|
||||
using System.IO;
|
||||
using Config.Entities;
|
||||
using Results.Resources;
|
||||
|
||||
namespace Results.Output.Printers.Label
|
||||
{
|
||||
public class LabelPrintDocument : PrintersCommon
|
||||
{
|
||||
/// Size of the printed area without margins, after taking into account 'pageOrientation'
|
||||
readonly int printHeight;
|
||||
readonly int printWidth;
|
||||
|
||||
/// Selected font
|
||||
readonly Font font;
|
||||
|
||||
/// Data to print
|
||||
Results.Entities.Batch batch;
|
||||
LabelPrinterCfg cfg;
|
||||
Results.Entities.WaterMeter wm;
|
||||
|
||||
/// Items to print
|
||||
IList<WMeterRsltItemSpec> itemsToPrint;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <param name="textToPrint">Text to be printed</param>
|
||||
public LabelPrintDocument(Results.Entities.Batch batch, LabelPrinterCfg cfg, Results.Entities.WaterMeter wm, string documentName)
|
||||
{
|
||||
DocumentName = documentName;
|
||||
|
||||
this.batch = batch;
|
||||
this.cfg = cfg;
|
||||
this.wm = wm;
|
||||
this.itemsToPrint = Results.WMeterRsltItemSpec.FromStrArray(cfg.ItemsToPrint);
|
||||
|
||||
/// Initialize fonts
|
||||
font = new Font((cfg.FontFamily != null ? cfg.FontFamily : "Arial"),
|
||||
(cfg.FontSize > 0 ? cfg.FontSize : 10),
|
||||
(FontStyle)cfg.FontStyle);
|
||||
|
||||
/// Set print area size and margins (in dots using 100 dpi)
|
||||
DefaultPageSettings.Landscape = (cfg.PageOrientation == PageOrientation.Landscape);
|
||||
///
|
||||
printHeight = cfg.PaperHeight;
|
||||
printWidth = cfg.PaperWidth;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override the default onbeginPrint method of the PrintDocument Object
|
||||
/// </summary>
|
||||
/// <param name=e></param>
|
||||
/// <remarks></remarks>
|
||||
protected override void OnBeginPrint(System.Drawing.Printing.PrintEventArgs e)
|
||||
{
|
||||
base.OnBeginPrint(e);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Override the default OnPrintPage method of the PrintDocument.
|
||||
/// </summary>
|
||||
/// <param name=e></param>
|
||||
/// <remarks>This provides the print logic for our document</remarks>
|
||||
protected override void OnPrintPage(System.Drawing.Printing.PrintPageEventArgs e)
|
||||
{
|
||||
/// Run base code
|
||||
base.OnPrintPage(e);
|
||||
|
||||
if (!string.IsNullOrEmpty(cfg.Template))
|
||||
{
|
||||
string templatePath = Path.Combine("C:\\TBF\\Templates\\", cfg.Template);
|
||||
if (File.Exists(templatePath))
|
||||
{
|
||||
e.Graphics.DrawImage(new Bitmap(Image.FromFile(templatePath), printWidth, printHeight), new Rectangle(0, 0, printWidth, printHeight));
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in itemsToPrint)
|
||||
{
|
||||
string[] coords = item.Caption.Split(new char[] { ';' });
|
||||
int x, y;
|
||||
if (coords.Length >= 2 && int.TryParse(coords[0].Trim(new char[] { ' ' }), out x)
|
||||
&& int.TryParse(coords[1].Trim(new char[] { ' ' }), out y))
|
||||
{
|
||||
RectangleF printArea = new RectangleF(x, y, printWidth, printHeight);
|
||||
e.Graphics.DrawString(item.Print(wm), this.font, Brushes.Black, printArea);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
|
||||
namespace Results.Output.Printers.Label
|
||||
{
|
||||
public class LabelPrinterCfg
|
||||
{
|
||||
public string Template; /// Full path to a 'png' file
|
||||
public Config.Entities.PageOrientation PageOrientation;
|
||||
public int PaperWidth; /// In 0,254 mm = 1/100 in = 100dpi pixels count
|
||||
public int PaperHeight; /// In 0,254 mm = 1/100 in = 100dpi pixels count
|
||||
public string[] ItemsToPrint;
|
||||
public string FontFamily;
|
||||
public int FontSize;
|
||||
public int FontStyle;
|
||||
public System.Globalization.CultureInfo CultureInfo;
|
||||
public bool GoodOnly;
|
||||
public bool SupressPrinting; /// true = Bypass printing
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,11 @@
|
||||
///
|
||||
/// Copyright (c) 2016-2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2016-2017 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Printing;
|
||||
using Config.Entities;
|
||||
using System.IO;
|
||||
using Results.Resources;
|
||||
|
||||
namespace Results.Output.Printers.Munich
|
||||
{
|
||||
@@ -40,16 +38,11 @@ namespace Results.Output.Printers.Munich
|
||||
readonly int resultsCount;
|
||||
readonly bool compound; /// true when MetersKind is MetersKind.Combined
|
||||
|
||||
|
||||
int pageNr; /// Current page number
|
||||
int nrPages; /// Total number of pages
|
||||
float tableTop; /// Top coordinate of the table
|
||||
|
||||
int[] firstTblRowsOnPage;
|
||||
int[] secondTblRowsOnPage;
|
||||
|
||||
|
||||
PageOrientation pageOrientation;
|
||||
/// Top coordinate of the table
|
||||
int nrPages;
|
||||
int pageNr;
|
||||
int firstTblTop;
|
||||
int secondTblTop;
|
||||
|
||||
/// <summary>
|
||||
/// Property variable for the Font the user wishes to use
|
||||
@@ -58,34 +51,7 @@ namespace Results.Output.Printers.Munich
|
||||
Font boldFont;
|
||||
Font fontTitle;
|
||||
|
||||
///
|
||||
/// Table style
|
||||
///
|
||||
static TableStyle tableStyle = new TableStyle
|
||||
{
|
||||
Font = new Font(FontFamilyName, 10, FontStyle.Regular),
|
||||
HeaderFont = new Font(FontFamilyName, 10, FontStyle.Regular),
|
||||
MarginX = 7,
|
||||
MarginY = 5,
|
||||
LineWidth = 1,
|
||||
TopHeadersCount = 1,
|
||||
HorizLines = TableLines.FirstSecondAndLast,
|
||||
VertLines = TableLines.All,
|
||||
ColumnWidths = new float[] { 150, 70, 75, 75, 70, 75, 75 },
|
||||
};
|
||||
static Alignment[] horizontalAlignment = new Alignment[] /// Horizontal alignment of items of one row
|
||||
{
|
||||
Alignment.Left, Alignment.Left, Alignment.Left,
|
||||
Alignment.Left, Alignment.Left, Alignment.Left, Alignment.Left
|
||||
};
|
||||
static VertAlignment[] verticalAlignment = new VertAlignment[] /// Vertical alignment of items of one row
|
||||
{
|
||||
VertAlignment.Middle, VertAlignment.Middle, VertAlignment.Middle,
|
||||
VertAlignment.Middle, VertAlignment.Middle, VertAlignment.Middle, VertAlignment.Middle
|
||||
};
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <summary>
|
||||
/// Constructor
|
||||
/// </summary>
|
||||
/// <param name="textToPrint">Text to be printed</param>
|
||||
@@ -95,8 +61,7 @@ namespace Results.Output.Printers.Munich
|
||||
{
|
||||
this.docVersion = docVersion;
|
||||
this.wm = wm;
|
||||
this.compound = wm.Compound();
|
||||
this.pageOrientation = pageOrientation;
|
||||
compound = wm.Compound();
|
||||
|
||||
string[] info = wm.ProductName().Split(new char[] { ';' });
|
||||
if (info.Length >= 2)
|
||||
@@ -116,88 +81,13 @@ namespace Results.Output.Printers.Munich
|
||||
}
|
||||
|
||||
results = wm.MeterTestRslts;
|
||||
this.resultsCount = compound ? (results.Count / 3) : results.Count;
|
||||
|
||||
resultsCount = 0;
|
||||
foreach (var mtr in wm.MeterTestRslts)
|
||||
{
|
||||
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Config.Entities.Publish.Always) resultsCount++;
|
||||
}
|
||||
int resultsCount = wm.MeterTestRslts.Count;
|
||||
if (compound) resultsCount /= 3;
|
||||
|
||||
pageNr = 1;
|
||||
if (compound)
|
||||
{
|
||||
/// Compound meter results
|
||||
const int MaxOnFirstPage = 23;
|
||||
const int MaxOnPage = 45;
|
||||
if (resultsCount <= 7)
|
||||
{
|
||||
nrPages = 1;
|
||||
firstTblRowsOnPage = new int[] { resultsCount };
|
||||
secondTblRowsOnPage = new int[] { resultsCount };
|
||||
}
|
||||
else if (resultsCount <= MaxOnFirstPage)
|
||||
{
|
||||
nrPages = 2;
|
||||
firstTblRowsOnPage = new int[] { resultsCount, 0 };
|
||||
secondTblRowsOnPage = new int[] { 0, int.MaxValue };
|
||||
}
|
||||
else if (resultsCount <= MaxOnPage)
|
||||
{
|
||||
nrPages = 3;
|
||||
firstTblRowsOnPage = new int[] { MaxOnFirstPage, (resultsCount - MaxOnFirstPage), 0 };
|
||||
int secondTblRowsOn2ndPage = Math.Max(0, MaxOnFirstPage + MaxOnPage - 2 - resultsCount);
|
||||
secondTblRowsOnPage = new int[] { 0, secondTblRowsOn2ndPage, resultsCount - secondTblRowsOn2ndPage };
|
||||
}
|
||||
else if (resultsCount <= MaxOnFirstPage + MaxOnPage)
|
||||
{
|
||||
nrPages = 4;
|
||||
firstTblRowsOnPage = new int[] { MaxOnFirstPage, MaxOnPage, 0, 0 };
|
||||
secondTblRowsOnPage = new int[] { 0, 0, MaxOnPage, MaxOnFirstPage };
|
||||
}
|
||||
else
|
||||
{
|
||||
nrPages = 5;
|
||||
firstTblRowsOnPage = new int[] { MaxOnFirstPage, MaxOnPage, (resultsCount - MaxOnFirstPage - MaxOnPage), 0 };
|
||||
secondTblRowsOnPage = new int[] { 0, 0, Math.Max(0, MaxOnFirstPage + 2 * MaxOnPage - 2 - resultsCount), MaxOnPage, MaxOnFirstPage };
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Regular (single) meter results
|
||||
const int MaxOnFirstPage = 27;
|
||||
const int MaxOnPage = 45;
|
||||
if (resultsCount <= 9)
|
||||
{
|
||||
nrPages = 1;
|
||||
firstTblRowsOnPage = new int[] { resultsCount };
|
||||
secondTblRowsOnPage = new int[] { resultsCount };
|
||||
}
|
||||
else if (resultsCount <= MaxOnFirstPage)
|
||||
{
|
||||
nrPages = 2;
|
||||
firstTblRowsOnPage = new int[] { resultsCount, 0 };
|
||||
secondTblRowsOnPage = new int[] { 0, int.MaxValue };
|
||||
}
|
||||
else if (resultsCount <= MaxOnPage)
|
||||
{
|
||||
nrPages = 3;
|
||||
firstTblRowsOnPage = new int[] { MaxOnFirstPage, (resultsCount - MaxOnFirstPage), 0 };
|
||||
int secondTblRowsOn2ndPage = Math.Max(0, MaxOnFirstPage + MaxOnPage - 2 - resultsCount);
|
||||
secondTblRowsOnPage = new int[] { 0, secondTblRowsOn2ndPage, resultsCount - secondTblRowsOn2ndPage };
|
||||
}
|
||||
else if (resultsCount <= MaxOnFirstPage + MaxOnPage)
|
||||
{
|
||||
nrPages = 4;
|
||||
firstTblRowsOnPage = new int[] { MaxOnFirstPage, MaxOnPage, 0, 0 };
|
||||
secondTblRowsOnPage = new int[] { 0, 0, MaxOnPage, MaxOnFirstPage };
|
||||
}
|
||||
else
|
||||
{
|
||||
nrPages = 5;
|
||||
firstTblRowsOnPage = new int[] { MaxOnFirstPage, MaxOnPage, (resultsCount - MaxOnFirstPage - MaxOnPage), 0 };
|
||||
secondTblRowsOnPage = new int[] { 0, 0, Math.Max(0, MaxOnFirstPage + 2 * MaxOnPage - 2 - resultsCount), MaxOnPage, MaxOnFirstPage };
|
||||
}
|
||||
}
|
||||
nrPages = (compound ? (resultsCount > 7) : (resultsCount > 9)) ? 2 : 1;
|
||||
|
||||
DefaultPageSettings.Landscape = (pageOrientation == PageOrientation.Landscape);
|
||||
}
|
||||
@@ -226,30 +116,8 @@ namespace Results.Output.Printers.Munich
|
||||
/// Run base code
|
||||
base.OnPrintPage(e);
|
||||
|
||||
if (pageOrientation == PageOrientation.Portrait)
|
||||
{
|
||||
string[] templatePaths = new string[] { "C:\\TBF\\Templates\\MunichP.jpg", "C:\\TBF\\Templates\\MunichP.png", "C:\\TBF\\Templates\\MunichP.tif" };
|
||||
foreach (var t in templatePaths)
|
||||
{
|
||||
if (File.Exists(t))
|
||||
{
|
||||
e.Graphics.DrawImage(new Bitmap(Image.FromFile(t), 827, 1169), new Rectangle(0, 0, 827, 1169));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string[] templatePaths = new string[] { "C:\\TBF\\Templates\\MunichL.jpg", "C:\\TBF\\Templates\\MunichL.png", "C:\\TBF\\Templates\\MunichL.tif" };
|
||||
foreach (var t in templatePaths)
|
||||
{
|
||||
if (File.Exists(t))
|
||||
{
|
||||
e.Graphics.DrawImage(new Bitmap(Image.FromFile(t), 1169, 827), new Rectangle(0, 0, 1169, 827));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
/// Draw 2550 x 3507 'headpic' scaled to A4 at 100 DPI
|
||||
e.Graphics.DrawImage(Results.Properties.Resources.Headpic, new Rectangle(0, 0, 827, 1137));
|
||||
|
||||
/// Set print area size and margins (in dots using 80 dpi)
|
||||
int printHeight = base.DefaultPageSettings.PaperSize.Height - base.DefaultPageSettings.Margins.Top - base.DefaultPageSettings.Margins.Bottom;
|
||||
@@ -276,21 +144,27 @@ namespace Results.Output.Printers.Munich
|
||||
|
||||
if (pageNr == 1)
|
||||
{
|
||||
/// This is the first page, drad the title, common part and the 1st table
|
||||
|
||||
RectangleF printArea = new RectangleF(TitleX, TitleY, 667, 50);
|
||||
RectangleF printArea = new RectangleF(TitleX, TitleY, 667, 50);
|
||||
e.Graphics.DrawString(wm.Batch.ProtocolTitle, this.fontTitle, Brushes.Black, printArea);
|
||||
|
||||
DrawCommonTop(e, ref lineNr, wm, pruefvorlage, docVersion);
|
||||
|
||||
///
|
||||
/// Common
|
||||
///
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, docVersion);
|
||||
lineNr++;
|
||||
PrintBoldAt(e, Tab1, lineNr * SpacingOne, "Prüfstand Nr :");
|
||||
PrintBoldAt(e, Tab2, lineNr * SpacingOne, wm.BenchId().ToString());
|
||||
PrintBoldAt(e, Tab3, lineNr * SpacingOne, "Datum :");
|
||||
PrintBoldAt(e, Tab4, lineNr * SpacingOne, wm.Batch.EndTime.Date.ToString("d"));
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Zählertyp :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, zaehlertyp);
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Eichjahr :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.YearOfProduction.ToString());
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Prüfvorlage :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, pruefvorlage);
|
||||
lineNr += 2;
|
||||
tableTop = SpacingOne * lineNr;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// This appears on the top of the 2nd and every subsequent page.
|
||||
/// 2nd table starts from the top of the page.
|
||||
lineNr -= 3;
|
||||
|
||||
if (compound)
|
||||
{
|
||||
@@ -315,294 +189,228 @@ namespace Results.Output.Printers.Munich
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Seriennummer :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.SerialNrAux);
|
||||
}
|
||||
lineNr += ((resultsCount + 2) * SpacingOneAndHalf) / SpacingOne + 2;
|
||||
lineNr++;
|
||||
|
||||
tableTop = TitleY + (compound ? 5 : 4) * SpacingOne;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, wm.NewQnames() ? "Q3 :" : "Qn :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Q3_Qn().ToString());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, wm.NewQnames() ? "Q3 :" : "Qn :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.Q3_Qn_Aux().ToString());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Zulassungszeichen :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.ApprovalInfo());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Zulassungszeichen :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.ApprovalInfoAux());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Metr. klasse :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.MetrologicalClass());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Metr. klasse :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.MetrologicalClassAux());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Stand :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.EndState);
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Stand :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.EndStateAux);
|
||||
|
||||
lineNr += 2;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Umschaltpunkte :");
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Qsteig");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, (1000.0 * wm.QRise).ToString("F1") + " l/h");
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Qfall");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, (1000.0 * wm.QFall).ToString("F1") + " l/h");
|
||||
}
|
||||
|
||||
lineNr += 2;
|
||||
firstTblTop = SpacingOne * lineNr;
|
||||
|
||||
///
|
||||
/// Table 1
|
||||
///
|
||||
PrintTableOne(e, firstTblTop);
|
||||
DrawTableFrame(e, resultsCount + 1, firstTblTop);
|
||||
}
|
||||
|
||||
if (firstTblRowsOnPage[pageNr - 1] > 0)
|
||||
{
|
||||
int from = 0;
|
||||
for (int pN = 0; pN < pageNr - 1; pN++) from += firstTblRowsOnPage[pN];
|
||||
Table table1 = PrepareTableOne(from, from + firstTblRowsOnPage[pageNr - 1] - 1);
|
||||
tableTop = table1.Draw(e, Tab1, tableTop) + SpacingOneAndHalf;
|
||||
}
|
||||
|
||||
if (pageNr == nrPages)
|
||||
{
|
||||
if (pageNr == 1)
|
||||
{
|
||||
secondTblTop = firstTblTop + (resultsCount + 2) * SpacingOneAndHalf;
|
||||
lineNr += ((resultsCount + 2) * SpacingOneAndHalf * 2) / SpacingOne;
|
||||
}
|
||||
else
|
||||
{
|
||||
lineNr -= 3;
|
||||
|
||||
if (secondTblRowsOnPage[pageNr - 1] > 0)
|
||||
{
|
||||
int from = 0;
|
||||
for (int pN = 0; pN < pageNr - 1; pN++) from += secondTblRowsOnPage[pN];
|
||||
Table table2 = PrepareTableTwo(from, from + secondTblRowsOnPage[pageNr - 1] - 1);
|
||||
tableTop = table2.Draw(e, Tab1, tableTop) + SpacingOneAndHalf;
|
||||
}
|
||||
if (compound)
|
||||
{
|
||||
PrintBoldAt(e, Tab1, lineNr * SpacingOne, "Hauptzahler");
|
||||
PrintBoldAt(e, Tab3, lineNr * SpacingOne, "Nebenzahler");
|
||||
lineNr++;
|
||||
}
|
||||
|
||||
if (pageNr == nrPages)
|
||||
{
|
||||
int top = topMargin + printHeight - 8 * SpacingOne;
|
||||
DrawCommonBottom(e, top, wm);
|
||||
}
|
||||
else
|
||||
{
|
||||
e.HasMorePages = true;
|
||||
}
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Hersteller :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Producer());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Hersteller :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.ProducerAux());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
///
|
||||
/// Draw a footer and increment the page number
|
||||
///
|
||||
string pageNrText = string.Format("{0} {1}/{2}", Strings.Page, pageNr++, nrPages);
|
||||
int pageNrWidth = (int)e.Graphics.MeasureString(pageNrText, font).Width;
|
||||
PrintAt(e, leftMargin + (printWidth - pageNrWidth) / 2, topMargin + printHeight - SpacingOne, pageNrText);
|
||||
}
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Seriennummer :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.SerialNr);
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Seriennummer :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.SerialNrAux);
|
||||
}
|
||||
lineNr += ((resultsCount + 2) * SpacingOneAndHalf) / SpacingOne + 2;
|
||||
|
||||
secondTblTop = TitleY + (compound ? 5 : 4) * SpacingOne;
|
||||
}
|
||||
|
||||
///
|
||||
/// Table 2
|
||||
///
|
||||
PrintTableTwo(e, secondTblTop);
|
||||
DrawTableFrame(e, resultsCount + 1, secondTblTop);
|
||||
|
||||
///
|
||||
/// Footer
|
||||
///
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Temperatur");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Batch.AmbTempMean().ToString("F1") + " \x00b0C");
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Feuchtigkeit");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Batch.AmbHumiMean().ToString("F0") + " %");
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Luftdruck");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, Config.Units.ConvertTo(Config.Unit.mbar, wm.Batch.AmbPressMean()).ToString("F0") + " mbar");
|
||||
|
||||
lineNr++;
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, wm.Batch.EndTime.Date.ToString("d"));
|
||||
lineNr++;
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Datum");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, "Unterschrift");
|
||||
}
|
||||
|
||||
e.HasMorePages = (pageNr != nrPages);
|
||||
pageNr++;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prepares content and style of the first table.
|
||||
/// Print table texts.
|
||||
/// </summary>
|
||||
/// <param name="from">0-based index fo the first result to print</param>
|
||||
/// <param name="to">0-based index fo the last result to print</param>
|
||||
/// <returns>Prepared table</returns>
|
||||
Table PrepareTableOne(int from = 0, int to = int.MaxValue)
|
||||
void PrintTableOne(System.Drawing.Printing.PrintPageEventArgs e, int tblTop)
|
||||
{
|
||||
Table table = new Table(7);
|
||||
table.Style = tableStyle;
|
||||
PrintAt(e, GetTabItemPos(0, 0, tblTop), "Prüflauf");
|
||||
PrintAt(e, GetTabItemPos(0, 1, tblTop), "Q [l/h]");
|
||||
PrintAt(e, GetTabItemPos(0, 2, tblTop), "Prüf-Vol.[l]");
|
||||
PrintAt(e, GetTabItemPos(0, 3, tblTop), compound ? "HZ-Vol.[l]" : "Z-Vol.[l]");
|
||||
PrintAt(e, GetTabItemPos(0, 4, tblTop), compound ? "NZ-Vol.[l]" : "-");
|
||||
PrintAt(e, GetTabItemPos(0, 5, tblTop), "Fehler [%]");
|
||||
PrintAt(e, GetTabItemPos(0, 6, tblTop), "Ergebnis");
|
||||
|
||||
string[] tableHeader = new string[]
|
||||
{
|
||||
"Prüflauf",
|
||||
"Q [l/h]",
|
||||
"Prüf-Vol.[l]",
|
||||
compound ? "HZ-Vol.[l]" : "Z-Vol.[l]",
|
||||
compound ? "NZ-Vol.[l]" : "-",
|
||||
"Fehler [%]",
|
||||
"Ergebnis",
|
||||
};
|
||||
table.AddRow(tableHeader, horizontalAlignment, verticalAlignment);
|
||||
|
||||
int rowCount = 0;
|
||||
int rowCnt = 1;
|
||||
foreach (var mtr in wm.MeterTestRslts)
|
||||
{
|
||||
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Config.Entities.Publish.Always)
|
||||
{
|
||||
if (from <= rowCount && rowCount <= to)
|
||||
{
|
||||
double flow_ctv = (mtr.TestRslt.TestTime != 0) ? (3.6 * mtr.TestRslt.VolumeCTV / mtr.TestRslt.TestTime) : 0;
|
||||
if (!compound || mtr.CompoundMeterId == (byte)CompoundMeterId.Compound)
|
||||
{
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 0, tblTop), mtr.Name());
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 1, tblTop), mtr.TestRslt.FlowMass.ToString("F1"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 2, tblTop), mtr.TestRslt.VolumeCTV.ToString("F2"));
|
||||
if (compound)
|
||||
{
|
||||
Results.Entities.MeterTestRslt mainMtr = wm.GetMeterTestRslt(mtr.Name(), CompoundMeterId.CompoundMain);
|
||||
Results.Entities.MeterTestRslt auxMtr = wm.GetMeterTestRslt(mtr.Name(), CompoundMeterId.CompoundAux);
|
||||
|
||||
if (compound)
|
||||
{
|
||||
Results.Entities.MeterTestRslt mainMtr = wm.GetMeterTestRslt(mtr.Name(), CompoundMeterId.CompoundMain);
|
||||
Results.Entities.MeterTestRslt auxMtr = wm.GetMeterTestRslt(mtr.Name(), CompoundMeterId.CompoundAux);
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 3, tblTop), mainMtr.VolumeMeter.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 4, tblTop), auxMtr.VolumeMeter.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 5, tblTop), mtr.Error.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 6, tblTop), mtr.Passed ? "iO" : "NiO");
|
||||
}
|
||||
else
|
||||
{
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 3, tblTop), mtr.VolumeMeter.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 4, tblTop), "-");
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 5, tblTop), mtr.Error.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 6, tblTop), mtr.Passed ? "iO" : "NiO");
|
||||
}
|
||||
|
||||
table.AddRow(new string[] { mtr.Name(),
|
||||
Config.Units.ConvertTo(Config.Unit.lph, flow_ctv).ToString("F1"),
|
||||
mtr.TestRslt.VolumeCTV.ToString("F2"),
|
||||
mainMtr.VolumeMeter.ToString("F2"),
|
||||
auxMtr.VolumeMeter.ToString("F2"),
|
||||
mtr.Error.ToString("F2"),
|
||||
mtr.Passed ? "iO" : "NiO" },
|
||||
horizontalAlignment,
|
||||
verticalAlignment);
|
||||
}
|
||||
else
|
||||
{
|
||||
table.AddRow(new string[] { mtr.Name(),
|
||||
Config.Units.ConvertTo(Config.Unit.lph, flow_ctv).ToString("F1"),
|
||||
mtr.TestRslt.VolumeCTV.ToString("F2"),
|
||||
mtr.VolumeMeter.ToString("F2"),
|
||||
"-",
|
||||
mtr.Error.ToString("F2"),
|
||||
mtr.Passed ? "iO" : "NiO" },
|
||||
|
||||
horizontalAlignment,
|
||||
verticalAlignment);
|
||||
}
|
||||
}
|
||||
rowCount++;
|
||||
rowCnt++;
|
||||
}
|
||||
}
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prepares content and style of the second table.
|
||||
/// </summary>
|
||||
/// <param name="from">0-based index fo the first result to print</param>
|
||||
/// <param name="to">0-based index fo the last result to print</param>
|
||||
/// <returns>Prepared table</returns>
|
||||
Table PrepareTableTwo(int from = 0, int to = int.MaxValue)
|
||||
void PrintTableTwo(System.Drawing.Printing.PrintPageEventArgs e, int tblTop)
|
||||
{
|
||||
Table table = new Table(7);
|
||||
table.Style = tableStyle;
|
||||
PrintAt(e, GetTabItemPos(0, 1, tblTop), "Q [l/h]");
|
||||
PrintAt(e, GetTabItemPos(0, 2, tblTop), "Temperatur");
|
||||
PrintAt(e, GetTabItemPos(0, 3, tblTop), "Dichte");
|
||||
PrintAt(e, GetTabItemPos(0, 4, tblTop), "Prüfzeit");
|
||||
PrintAt(e, GetTabItemPos(0, 5, tblTop), "Druck Eing.");
|
||||
PrintAt(e, GetTabItemPos(0, 6, tblTop), "Druck Ausg.");
|
||||
|
||||
string[] tableHeader = new string[]
|
||||
{
|
||||
"",
|
||||
"Q [l/h]",
|
||||
"Temperatur",
|
||||
"Dichte",
|
||||
"Prüfzeit",
|
||||
"Druck Eing.",
|
||||
"Druck Ausg.",
|
||||
};
|
||||
table.AddRow(tableHeader, horizontalAlignment, verticalAlignment);
|
||||
|
||||
int rowCount = 0;
|
||||
int rowCnt = 1;
|
||||
foreach (var mtr in wm.MeterTestRslts)
|
||||
{
|
||||
if (mtr != null && mtr.IsPilotRslt() && mtr.Publish() == Config.Entities.Publish.Always)
|
||||
{
|
||||
if (from <= rowCount && rowCount <= to)
|
||||
{
|
||||
double flow_ctv = (mtr.TestRslt.TestTime != 0) ? (3.6 * mtr.TestRslt.VolumeCTV / mtr.TestRslt.TestTime) : 0;
|
||||
if (!compound || mtr.CompoundMeterId == (byte)CompoundMeterId.Compound)
|
||||
{
|
||||
Point p = GetTabItemPos(rowCnt, 0, tblTop);
|
||||
PrintAt(e, p.X, p.Y, mtr.Name());
|
||||
|
||||
table.AddRow(new string[] { mtr.Name(),
|
||||
Config.Units.ConvertTo(Config.Unit.lph, flow_ctv).ToString("F1"),
|
||||
mtr.TestRslt.TempDownMean.ToString("F2"),
|
||||
mtr.TestRslt.DensityDiv.ToString("F2"),
|
||||
mtr.TestTime.ToString("F1"),
|
||||
Config.Units.ConvertTo(Config.Unit.bar, mtr.TestRslt.PressUpMean).ToString("F3"),
|
||||
Config.Units.ConvertTo(Config.Unit.bar, mtr.TestRslt.PressDownMean).ToString("F3") },
|
||||
horizontalAlignment,
|
||||
verticalAlignment);
|
||||
}
|
||||
rowCount++;
|
||||
}
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 1, tblTop), mtr.TestRslt.FlowMass.ToString("F1"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 2, tblTop), mtr.TestRslt.TempDownMean.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 3, tblTop), mtr.TestRslt.DensityDiv.ToString("F2"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 4, tblTop), mtr.TestTime.ToString("F1"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 5, tblTop), Config.Units.ConvertTo(Config.Unit.bar, mtr.TestRslt.PressUpMean).ToString("F3"));
|
||||
PrintAt(e, GetTabItemPos(rowCnt, 6, tblTop), Config.Units.ConvertTo(Config.Unit.bar, mtr.TestRslt.PressDownMean).ToString("F3"));
|
||||
|
||||
rowCnt++;
|
||||
}
|
||||
}
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prints text on the top of the first page (title, common information).
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
/// <param name="lineNr"></param>
|
||||
/// <param name="wm"></param>
|
||||
/// <param name="pruefvorlage"></param>
|
||||
/// <param name="docVersion"></param>
|
||||
void DrawCommonTop(PrintPageEventArgs e, ref int lineNr, Entities.WaterMeter wm, string pruefvorlage, string docVersion)
|
||||
{
|
||||
///
|
||||
///
|
||||
///
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, docVersion);
|
||||
lineNr++;
|
||||
PrintBoldAt(e, Tab1, lineNr * SpacingOne, "Prüfstand Nr :");
|
||||
PrintBoldAt(e, Tab2, lineNr * SpacingOne, wm.BenchId().ToString());
|
||||
PrintBoldAt(e, Tab3, lineNr * SpacingOne, "Datum :");
|
||||
PrintBoldAt(e, Tab4, lineNr * SpacingOne, wm.Batch.EndTime.Date.ToString("d"));
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Zählertyp :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, zaehlertyp);
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Eichjahr :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.YearOfProduction.ToString());
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Prüfvorlage :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, pruefvorlage);
|
||||
lineNr += 2;
|
||||
/// <summary>
|
||||
/// Draw table lines.
|
||||
/// </summary>
|
||||
void DrawTableFrame(System.Drawing.Printing.PrintPageEventArgs e, int rowsCount, int tblTop)
|
||||
{
|
||||
int t = tblTop;
|
||||
int m = tblTop + SpacingOneAndHalf;
|
||||
int b = tblTop + rowsCount * SpacingOneAndHalf;
|
||||
|
||||
if (compound)
|
||||
{
|
||||
PrintBoldAt(e, Tab1, lineNr * SpacingOne, "Hauptzahler");
|
||||
PrintBoldAt(e, Tab3, lineNr * SpacingOne, "Nebenzahler");
|
||||
lineNr++;
|
||||
}
|
||||
// Horizontal lines
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(80, t), new Point(747, t));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(80, m), new Point(747, m));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(80, b), new Point(747, b));
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Hersteller :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Producer());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Hersteller :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.ProducerAux());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Seriennummer :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.SerialNr);
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Seriennummer :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.SerialNrAux);
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, wm.NewQnames() ? "Q3 :" : "Qn :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.Q3_Qn().ToString());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, wm.NewQnames() ? "Q3 :" : "Qn :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.Q3_Qn_Aux().ToString());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Zulassungszeichen :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.ApprovalInfo());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Zulassungszeichen :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.ApprovalInfoAux());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Metr. klasse :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.MetrologicalClass());
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Metr. klasse :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.MetrologicalClassAux());
|
||||
}
|
||||
lineNr++;
|
||||
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Stand :");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, wm.EndState);
|
||||
if (compound)
|
||||
{
|
||||
PrintAt(e, Tab3, lineNr * SpacingOne, "Stand :");
|
||||
PrintAt(e, Tab4, lineNr * SpacingOne, wm.EndStateAux);
|
||||
|
||||
lineNr += 2;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Umschaltpunkte :");
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Qsteig");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, (1000.0 * wm.QRise).ToString("F1") + " l/h");
|
||||
lineNr++;
|
||||
PrintAt(e, Tab1, lineNr * SpacingOne, "Qfall");
|
||||
PrintAt(e, Tab2, lineNr * SpacingOne, (1000.0 * wm.QFall).ToString("F1") + " l/h");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Prints text at the bottom of the last page (footer).
|
||||
/// </summary>
|
||||
/// <param name="e"></param>
|
||||
/// <param name="lineNr"></param>
|
||||
/// <param name="wm"></param>
|
||||
void DrawCommonBottom(PrintPageEventArgs e, float top, Entities.WaterMeter wm)
|
||||
{
|
||||
int iTop = (int)top;
|
||||
|
||||
PrintAt(e, Tab1, iTop, "Temperatur");
|
||||
PrintAt(e, Tab2, iTop, wm.Batch.AmbTempMean().ToString("F1") + " \x00b0C");
|
||||
|
||||
iTop += SpacingOne;
|
||||
|
||||
PrintAt(e, Tab1, iTop, "Feuchtigkeit");
|
||||
PrintAt(e, Tab2, iTop, wm.Batch.AmbHumiMean().ToString("F0") + " %");
|
||||
|
||||
iTop += SpacingOne;
|
||||
|
||||
PrintAt(e, Tab1, iTop, "Luftdruck");
|
||||
PrintAt(e, Tab2, iTop, Config.Units.ConvertTo(Config.Unit.mbar, wm.Batch.AmbPressMean()).ToString("F0") + " mbar");
|
||||
|
||||
iTop += SpacingOne;
|
||||
|
||||
PrintAt(e, Tab3, iTop, wm.Batch.EndTime.Date.ToString("d"));
|
||||
|
||||
iTop += SpacingOne;
|
||||
|
||||
PrintAt(e, Tab3, iTop, "Datum");
|
||||
PrintAt(e, Tab4, iTop, "Unterschrift");
|
||||
}
|
||||
// Vertical lines
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point( 80, t), new Point( 80, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(267, t), new Point(267, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(347, t), new Point(347, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(427, t), new Point(427, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(507, t), new Point(507, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(587, t), new Point(587, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(667, t), new Point(667, b));
|
||||
e.Graphics.DrawLine(new Pen(Color.Black, BorderW), new Point(747, t), new Point(747, b));
|
||||
}
|
||||
|
||||
|
||||
void PrintAt(System.Drawing.Printing.PrintPageEventArgs e, Point p, string text)
|
||||
@@ -626,5 +434,18 @@ namespace Results.Output.Printers.Munich
|
||||
RectangleF printArea = new RectangleF(x, y, 667, SpacingOne);
|
||||
e.Graphics.DrawString(text, this.boldFont, Brushes.Black, printArea);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Get text position form a number of the test and a number of the parameter.
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="column">Table column (0-based)</param>
|
||||
/// <returns></returns>
|
||||
Point GetTabItemPos(int row, int column, int tblTop)
|
||||
{
|
||||
int x = MarginLeft + ((column == 0) ? 80 : 187) + column * 80; /// leftmost column is wider
|
||||
int y = MarginTop + tblTop + (row * SpacingOneAndHalf) - 2;
|
||||
return new Point(x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Printing;
|
||||
@@ -28,7 +25,6 @@ namespace Results.Output.Printers
|
||||
public float LineWidth;
|
||||
public TableLines HorizLines;
|
||||
public TableLines VertLines;
|
||||
public float[] ColumnWidths; /// null = automatic
|
||||
}
|
||||
|
||||
public class Table
|
||||
@@ -158,10 +154,6 @@ namespace Results.Output.Printers
|
||||
/// In not a separator line
|
||||
bool isHeader = (colIx < Style.LeftHeadersCount) || (rowIx < Style.TopHeadersCount);
|
||||
SizeF size = PrintersCommon.Measure(e, Rows[rowIx][colIx], isHeader ? Style.HeaderFont : Style.Font);
|
||||
if ((Style.ColumnWidths != null) && (Style.ColumnWidths.Length > colIx))
|
||||
{
|
||||
size.Width = Style.ColumnWidths[colIx]; /// Override measurement if column width is defined
|
||||
}
|
||||
if (size.Width > columnWidth[colIx]) columnWidth[colIx] = size.Width;
|
||||
if (size.Height > rowHeight[rowIx]) rowHeight[rowIx] = size.Height;
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Sensus")]
|
||||
[assembly: AssemblyProduct("Results")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2013 - 2019 Sensus Slovensko, a.s.")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2013 - 2018 Sensus Slovensko, a.s.")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.18.1183.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1183.0")]
|
||||
[assembly: AssemblyVersion("2.18.995.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.995.0")]
|
||||
|
||||
Generated
-90
@@ -114,15 +114,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Batch.
|
||||
/// </summary>
|
||||
internal static string Batch {
|
||||
get {
|
||||
return ResourceManager.GetString("Batch", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Batch nr..
|
||||
/// </summary>
|
||||
@@ -384,15 +375,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to NOK.
|
||||
/// </summary>
|
||||
internal static string Failed {
|
||||
get {
|
||||
return ResourceManager.GetString("Failed", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Failed meters count.
|
||||
/// </summary>
|
||||
@@ -456,15 +438,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Invalid Q2 correction factors.
|
||||
/// </summary>
|
||||
internal static string Invalid_Q2_correction_factors {
|
||||
get {
|
||||
return ResourceManager.GetString("Invalid_Q2_correction_factors", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Item.
|
||||
/// </summary>
|
||||
@@ -645,15 +618,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to OK.
|
||||
/// </summary>
|
||||
internal static string Passed {
|
||||
get {
|
||||
return ResourceManager.GetString("Passed", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Passed meters count.
|
||||
/// </summary>
|
||||
@@ -690,15 +654,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Previous step is missing or NOK.
|
||||
/// </summary>
|
||||
internal static string Previous_step_is_missing_or_NOK {
|
||||
get {
|
||||
return ResourceManager.GetString("Previous_step_is_missing_or_NOK", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Procedure.
|
||||
/// </summary>
|
||||
@@ -834,15 +789,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to repetition.
|
||||
/// </summary>
|
||||
internal static string repetition {
|
||||
get {
|
||||
return ResourceManager.GetString("repetition", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Result.
|
||||
/// </summary>
|
||||
@@ -1068,15 +1014,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Test in progress.
|
||||
/// </summary>
|
||||
internal static string Test_in_progress {
|
||||
get {
|
||||
return ResourceManager.GetString("Test_in_progress", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Test method.
|
||||
/// </summary>
|
||||
@@ -1095,15 +1032,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Test repetition count exceeded upper limit.
|
||||
/// </summary>
|
||||
internal static string Test_repetition_count_exceeded_upper_limit {
|
||||
get {
|
||||
return ResourceManager.GetString("Test_repetition_count_exceeded_upper_limit", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Test vol..
|
||||
/// </summary>
|
||||
@@ -1131,15 +1059,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Relative error of a meter in previous test/in production.
|
||||
/// </summary>
|
||||
internal static string Tooltip_E_rel_last {
|
||||
get {
|
||||
return ResourceManager.GetString("Tooltip_E_rel_last", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Relative error of the master meter.
|
||||
/// </summary>
|
||||
@@ -1977,15 +1896,6 @@ namespace Results.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Wrong iPerl counting direction.
|
||||
/// </summary>
|
||||
internal static string Wrong_iPerl_counting_direction {
|
||||
get {
|
||||
return ResourceManager.GetString("Wrong_iPerl_counting_direction", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Year.
|
||||
/// </summary>
|
||||
|
||||
@@ -252,31 +252,4 @@
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Adresa</value>
|
||||
</data>
|
||||
<data name="Batch" xml:space="preserve">
|
||||
<value>Dávka</value>
|
||||
</data>
|
||||
<data name="repetition" xml:space="preserve">
|
||||
<value>opakování</value>
|
||||
</data>
|
||||
<data name="Invalid_Q2_correction_factors" xml:space="preserve">
|
||||
<value>Nesprávne Q2 korekčné faktory</value>
|
||||
</data>
|
||||
<data name="Previous_step_is_missing_or_NOK" xml:space="preserve">
|
||||
<value>Predchádzajúci krok chýba alebo neprešiel</value>
|
||||
</data>
|
||||
<data name="Test_repetition_count_exceeded_upper_limit" xml:space="preserve">
|
||||
<value>Počet opakovaní testu prekročil dovolené maximum</value>
|
||||
</data>
|
||||
<data name="Wrong_iPerl_counting_direction" xml:space="preserve">
|
||||
<value>Nesprávny smer počítania iPerlu</value>
|
||||
</data>
|
||||
<data name="Failed" xml:space="preserve">
|
||||
<value>NOK</value>
|
||||
</data>
|
||||
<data name="Passed" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="Test_in_progress" xml:space="preserve">
|
||||
<value>Probíhá test</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -735,34 +735,4 @@
|
||||
<data name="Address" xml:space="preserve">
|
||||
<value>Address</value>
|
||||
</data>
|
||||
<data name="Tooltip_E_rel_last" xml:space="preserve">
|
||||
<value>Relative error of a meter in previous test/in production</value>
|
||||
</data>
|
||||
<data name="Batch" xml:space="preserve">
|
||||
<value>Batch</value>
|
||||
</data>
|
||||
<data name="repetition" xml:space="preserve">
|
||||
<value>repetition</value>
|
||||
</data>
|
||||
<data name="Invalid_Q2_correction_factors" xml:space="preserve">
|
||||
<value>Invalid Q2 correction factors</value>
|
||||
</data>
|
||||
<data name="Previous_step_is_missing_or_NOK" xml:space="preserve">
|
||||
<value>Previous step is missing or NOK</value>
|
||||
</data>
|
||||
<data name="Test_repetition_count_exceeded_upper_limit" xml:space="preserve">
|
||||
<value>Test repetition count exceeded upper limit</value>
|
||||
</data>
|
||||
<data name="Wrong_iPerl_counting_direction" xml:space="preserve">
|
||||
<value>Wrong iPerl counting direction</value>
|
||||
</data>
|
||||
<data name="Failed" xml:space="preserve">
|
||||
<value>NOK</value>
|
||||
</data>
|
||||
<data name="Passed" xml:space="preserve">
|
||||
<value>OK</value>
|
||||
</data>
|
||||
<data name="Test_in_progress" xml:space="preserve">
|
||||
<value>Test in progress</value>
|
||||
</data>
|
||||
</root>
|
||||
+2
-15
@@ -18,7 +18,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;SENTEC</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
@@ -27,7 +27,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<DefineConstants>TRACE;SENTEC</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -80,12 +80,6 @@
|
||||
<Compile Include="Forms\ListViewExtensions.cs" />
|
||||
<Compile Include="Forms\LviIntColumnComparer.cs" />
|
||||
<Compile Include="Forms\LviTextColumnComparer.cs" />
|
||||
<Compile Include="Forms\OneWMResultsCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\OneWMResultsCtrl.Designer.cs">
|
||||
<DependentUpon>OneWMResultsCtrl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\ResultsConfigCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@@ -110,10 +104,6 @@
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Output\Printers\Enhanced\EnhancedPrinterCfg.cs" />
|
||||
<Compile Include="Output\Printers\Label\LabelPrintDocument.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Output\Printers\Label\LabelPrinterCfg.cs" />
|
||||
<Compile Include="Output\Printers\PrintersCommon.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
@@ -165,9 +155,6 @@
|
||||
<EmbeddedResource Include="Forms\ListViewEx.resx">
|
||||
<DependentUpon>ListViewEx.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\OneWMResultsCtrl.resx">
|
||||
<DependentUpon>OneWMResultsCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\ResultsConfigCtrl.resx">
|
||||
<DependentUpon>ResultsConfigCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+2
-17
@@ -31,31 +31,16 @@ namespace Results
|
||||
}
|
||||
}
|
||||
|
||||
public static string BenchNameFromOracleBenchID(int id)
|
||||
{
|
||||
switch (id)
|
||||
{
|
||||
case 4: return "WR9";
|
||||
case 5: return "WR10";
|
||||
case 6: return "WR11";
|
||||
case 7: return "PT7";
|
||||
case 8: return "WR13";
|
||||
case 9: return "WR15";
|
||||
case 10: return "WR14";
|
||||
default: return string.Empty;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Converts ErrorFlags integer to string. Supports up to 31 flags (E1..E31, i.e. bit0..bit30).
|
||||
/// Converts ErrorFlags integer to string. Supports up to 31 flags (E1..E31).
|
||||
/// </summary>
|
||||
/// <param name="errorFlags">Input</param>
|
||||
/// <returns>Output string</returns>
|
||||
public static string ErrorFlagsStr(int errorFlags)
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < 31; i++)
|
||||
for (int i = 0; i < 30; i++)
|
||||
{
|
||||
if ((errorFlags & (1 << i)) != 0)
|
||||
{
|
||||
|
||||
@@ -154,17 +154,16 @@ namespace Results
|
||||
/// Volume
|
||||
///
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Test_volume, Strings.Test_vol + "()", Quantity.Volume, ItemCategory.TestData, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetTestRslt(t).TargetVolume())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.VolumeCTV, string.Format("{0} CTV ()", Strings.VName_Vol), Quantity.Volume, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetTestRslt(t).VolumeCTV)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume, string.Format("{0} Mt. ()", Strings.VName_Vol), Strings.Tooltip_Vol_Mt, Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeMeter) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeMeter) : string.Empty)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_volume, string.Format("{0} rm ()", Strings.VName_Vol), Strings.Tooltip_Vol_rm, Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeRef) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeRef) : string.Empty)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume_main, string.Format("{0} {1} ()", Strings.VName_Vol, Strings.main), Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).VolumeMeter) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume_aux, string.Format("{0} {1} ()", Strings.VName_Vol, Strings.aux), Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).VolumeMeter) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume, Strings.Start_volume + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeStart) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeStart) : string.Empty)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume_main, Strings.Start_volume_main + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).VolumeStart) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume_aux, Strings.Start_volume_aux + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).VolumeStart) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume, Strings.End_volume + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).VolumeEnd) : ((w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeEnd) : string.Empty)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume_main, Strings.End_volume_main + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).VolumeEnd) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume_aux, Strings.End_volume_aux + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).VolumeEnd) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume, string.Format("{0} Mt. ()", Strings.VName_Vol), Strings.Tooltip_Vol_Mt, Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeMeter)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_volume, string.Format("{0} rm ()", Strings.VName_Vol), Strings.Tooltip_Vol_rm, Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeRef)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume_main, string.Format("{0} {1} ()", Strings.VName_Vol, Strings.main), Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeMeter)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Volume_aux, string.Format("{0} {1} ()", Strings.VName_Vol, Strings.aux), Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeMeter)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume, Strings.Start_volume + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeStart)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume_main, Strings.Start_volume_main + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeStart)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Start_volume_aux, Strings.Start_volume_aux + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeStart)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume, Strings.End_volume + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeEnd)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume_main, Strings.End_volume_main + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeEnd)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_volume_aux, Strings.End_volume_aux + "()", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).VolumeEnd)));
|
||||
|
||||
///
|
||||
/// Mass
|
||||
@@ -310,15 +309,12 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Uncertainty, Strings.Uncertainty + "()", Quantity.Error, ItemCategory.TestData, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetTestRslt(t).Uncertainty())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_error, string.Format("{0} rel.ref. ()", Strings.VName_Error), Strings.Tooltip_E_rel_ref, Quantity.Error, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetTestRslt(t).ErrorMaster)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_error_corr, string.Format("{0} ref.corr. ()", Strings.VName_Error), "Relative error of the reference flow meter after correction using correction curve", Quantity.Error, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V2", Config.Formulas.ErrorFromVolumes(w.GetTestRslt(t).ConstMasterCorr, w.GetTestRslt(t).ConstMaster))));
|
||||
#if ORACLE_DB
|
||||
#if TURA_IPERL || TURA_SPECIAL
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error, string.Format("{0} rel. ()", Strings.VName_Error), Strings.Tooltip_E_rel, Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "0" : FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t).Error)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.LastError, string.Format("{0} rel. last ()", Strings.VName_Error), Strings.Tooltip_E_rel_last, Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "0" : FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t).LastError)));
|
||||
#else
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error, string.Format("{0} rel. ()", Strings.VName_Error), Strings.Tooltip_E_rel, Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) != null) ? FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t).Error) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error_heat_mtr_vol, string.Format("{0} rel.hm.vol. ()", Strings.VName_Error), Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume) != null) ? FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t, CompoundMeterId.HeatMeterVolume).Error) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error, string.Format("{0} rel. ()", Strings.VName_Error), Strings.Tooltip_E_rel, Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t).Error)));
|
||||
#endif
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed, Strings.Result, Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => string.IsNullOrEmpty(t) ? w.PassedColorStr(f)
|
||||
: ((w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PassedColorStr(f))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Passed, Strings.Result, Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => string.IsNullOrEmpty(t) ? w.PassedColorStr() : ((w.GetMeterTestRslt(t) == null) ? "" : w.GetMeterTestRslt(t).PassedColorStr())));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ResultOrErrorFlags, "Winiki lub E", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.PassedOrErrorFlagsStr()))); /// PL specific result
|
||||
|
||||
@@ -372,8 +368,8 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Degree__liter, "Degree per liter ()", Quantity.PulsePerLtr, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) == null) ? "" : FormatDbl(u, f, p, "V4", w.GetMeterTestRslt(t).IsCamera() ? w.GetMeterTestRslt(t).PulsesPerLiter : 0)));
|
||||
|
||||
/// Water meters results (combined)
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error_main, Strings.Err_main + "()", Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) != null) ? FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).Error) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error_aux, Strings.Err_aux + "()", Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) != null) ? FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).Error) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error_main, Strings.Err_main + "()", Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t, CompoundMeterId.CompoundMain).Error)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Error_aux, Strings.Err_aux + "()", Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux) == null) ? "" : FormatDbl(u, f, p, "V2", w.GetMeterTestRslt(t, CompoundMeterId.CompoundAux).Error)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Serial_Nr_main, string.Format("{0} {1}", Strings.sn, Strings.main), Strings.Tooltip_sn_main, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.SerialNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Serial_Nr_aux, string.Format("{0} {1}", Strings.sn, Strings.aux), Strings.Tooltip_sn_aux, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.SerialNrAux)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.End_state_main, Strings.EndState_main, Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.EndState)));
|
||||
@@ -402,55 +398,30 @@ namespace Results
|
||||
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
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Result_code, Strings.Result_code, Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.ResultCode)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.WM_remark, string.Format("{0} {1}", Strings.Water_Meter, Strings.Remark), Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.Remark)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Remark, string.Format("{0} {1}", Strings.Batch, Strings.Remark), Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatStr(f, w.Batch.Remark)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Result_code, Strings.Result_code, Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.ResultCode)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Remark, Strings.Remark, Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatStr(f, w.Batch.Remark)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Meter_type, Strings.Meter_type, Quantity.String, ItemCategory.Other, (w, t, u, f, p) => FormatStr(f, w.WaterMeterData.Compound ? Strings.Compound : (w.WaterMeterData.HeatMeter ? Strings.Heat_meter : Strings.Single))));
|
||||
|
||||
#if HEAT_METERS
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Energy, Strings.Energy + " ()", Quantity.Energy, ItemCategory.Other, (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) != null) ? FormatDbl(u, f, p, "F1", w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeMeter) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Energy_start, Strings.Energy + " start ()", Quantity.Energy, ItemCategory.Other, (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) != null) ? FormatDbl(u, f, p, "F1", w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeStart) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Energy_end, Strings.Energy + " end ()", Quantity.Energy, ItemCategory.Other, (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) != null) ? FormatDbl(u, f, p, "F1", w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeEnd) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_energy, Strings.Energy_ref + " ()", Quantity.Energy, ItemCategory.Other, (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) != null) ? FormatDbl(u, f, p, "F1", w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeRef) : string.Empty));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Energy, Strings.Energy + "()", Quantity.Energy, ItemCategory.Other, (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) == null) ? "" : FormatDbl(u, f, p, "F1", (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeMeter))));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Reference_energy, Strings.Energy_ref + "()", Quantity.Energy, ItemCategory.Other, (w, t, u, f, p) => (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy) == null) ? "" : FormatDbl(u, f, p, "F1", (w.GetMeterTestRslt(t, Config.Entities.CompoundMeterId.HeatMeterEnergy).VolumeRef))));
|
||||
#endif
|
||||
|
||||
#if IPERL
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.OrigCalibFactor, "iPerl OrigCalibFactor", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.OrigCalibFactor)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.CalibFactor, "iPerl CalibFactor", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.CalibFactor)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.OrigCalibFactorLNA,"iPerl OrigCalibFactorLNA",Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.OrigCalibFactorLNA)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.CalibFactorLNA, "iPerl CalibFactorLNA", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.CalibFactorLNA)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2ErrWOCorrection, "iPerl Q2ErrWOCorrection", Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.Q2ErrWOCorrection)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrectionDone, "iPerl Q2CorrectionDone", Quantity.Boolean,ItemCategory.MeterResult, (w, t, u, f, p) => (((w.Q2CorrRL != 0) || (w.Q2CorrLR != 0)) ? Strings.Yes : Strings.No)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrRFlow, "iPerl Q2Corr RL", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrRL)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrLFlow, "iPerl Q2Corr LR", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrLR)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrFlowRight, "iPerl Q2CorrFlowRight", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrFlowRight)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.FW_Version, "iPerl FW version", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.FWVersion)));
|
||||
#if ORACLE_DB
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Max_test_index, "iPerl test index", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, (w.Pruefindex % 100))));
|
||||
#endif
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.OrigCalibFactor, "iPerl OrigCalibFactor", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.OrigCalibFactor)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.CalibFactor, "iPerl CalibFactor", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.CalibFactor)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2ErrWOCorrection, "iPerl Q2ErrWOCorrection", Quantity.Error, ItemCategory.MeterResult, (w, t, u, f, p) => FormatDbl(u, f, p, "V3", w.Q2ErrWOCorrection)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrectionDone, "iPerl Q2CorrectionDone", Quantity.Boolean, ItemCategory.MeterResult, (w, t, u, f, p) => (w.Q2CorrectionDone ? Strings.Yes : Strings.No)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrRFlow, "iPerl Q2CorrRFlow", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrRFlow)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrLFlow, "iPerl Q2CorrLFlow", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrLFlow)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Q2CorrFlowRight, "iPerl Q2CorrFlowRight", Quantity.Volume, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.Q2CorrFlowRight)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.FW_Version, "iPerl FW version", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.FWVersion)));
|
||||
#endif
|
||||
|
||||
#if TURA_SPECIAL
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_AssignedSerialNr, "iPerl assigned s/n", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.AssignedSerialNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_CompleteSerialNr, "iPerl complete s/n", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.CompleteSerialNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_RadioAddress, "iPerl radio address", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.RadioAddress)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_PaletteNr, "iPerl palette nr.", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.PaletteNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_UmkartonNr, "iPerl umkarton nr.", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.UmkartonNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_TestBench, "Prod iPerl test bench", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.ProdTestBench)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_WMPosition, "Prod iPerl WM position", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.ProdWMPosition)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_UserName, "Prod iPerl user name", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.ProdUserName)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_PurchaseOrder, "Prod iPerl purchase order", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.ProdPurchaseOrder)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_Passed, "Prod iPerl passed", Quantity.Boolean,ItemCategory.MeterResult, (w, t, u, f, p) => FormatBool(f,w.ProdPassed)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_ResultCode, "Prod iPerl result code", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.ProdResultCode)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_Q2CorrRL, "Prod iPerl Q2Corr RL", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.ProdQ2CorrRL)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Prod_Q2CorrLR, "Prod iPerl Q2Corr LR", Quantity.Number, ItemCategory.MeterResult, (w, t, u, f, p) => FormatInt(f, w.ProdQ2CorrLR)));
|
||||
#endif
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestDone, Strings.Test_done + "()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => FormatBool(f, (w.GetMeterTestRslt(t) != null) && w.GetMeterTestRslt(t).TestDone)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestPassed, Strings.Test_passed + "()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => FormatBool(f, (w.GetMeterTestRslt(t) != null) && w.GetMeterTestRslt(t).Passed)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ErrorFlags, Strings.Error_flags + "()", Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) != null) ? w.GetTestRslt(t).ErrorFlagsStr() : w.ErrorFlagsStr())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ErrorFlagsEx, Strings.Error_flags + "Ex", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.ErrorFlagsStrEx())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E1, "E1 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0001) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestDone, Strings.Test_done + "()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) != null && w.GetMeterTestRslt(t).TestDone) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestPassed, Strings.Test_passed + "()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetMeterTestRslt(t) != null && w.GetMeterTestRslt(t).Passed) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ErrorFlags, Strings.Error_flags + "()", Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatStr(f, (w.GetTestRslt(t) != null) ? w.GetTestRslt(t).ErrorFlagsStr() : w.ErrorFlagsStr())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.ErrorFlagsEx, Strings.Error_flags + "Ex", Quantity.String, ItemCategory.MeterResult, (w, t, u, f, p) => FormatStr(f, w.ErrorFlagsStrEx())));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E1, "E1 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0001) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E2, "E2 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0002) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E3, "E3 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0004) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E4, "E4 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x0008) != 0) ? Strings.Yes : Strings.No));
|
||||
@@ -467,7 +438,6 @@ namespace Results
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E15, "E15 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x4000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E16, "E16 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x8000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.E21, "E21 ()", Quantity.Boolean, ItemCategory.TestResult, (w, t, u, f, p) => (w.GetTestRslt(t) != null && (w.GetTestRslt(t).ErrorFlags & 0x100000) != 0) ? Strings.Yes : Strings.No));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.TestPartStr, "Test part str.", Quantity.String, ItemCategory.TestResult, (w, t, u, f, p) => FormatEnum(f, (w.GetMeterTestRslt(t) != null) ? w.GetMeterTestRslt(t).TestRslt.Part : 0)));
|
||||
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_row_nr, "Table row #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableRowNr.ToString() : string.Format(f, TableRowNr)));
|
||||
AllItems.Add(new WMeterRsltItemSpec(ItemID.Table_column_nr, "Table column #", Quantity.Number, ItemCategory.Other, (w, t, u, f, p) => string.IsNullOrEmpty(f) ? TableColumnNr.ToString() : string.Format(f, TableColumnNr)));
|
||||
@@ -481,43 +451,12 @@ namespace Results
|
||||
|
||||
public static string FormatStr(string format, string value)
|
||||
{
|
||||
string valueEx = string.IsNullOrEmpty(value) ? string.Empty : value;
|
||||
return string.IsNullOrEmpty(format) ? valueEx : string.Format(format, valueEx);
|
||||
}
|
||||
|
||||
public static string FormatBool(string format, bool value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(format))
|
||||
{
|
||||
return value ? Strings.Yes : Strings.No;
|
||||
}
|
||||
else
|
||||
{
|
||||
string[] yesNo = format.Split(new char[] { '~' });
|
||||
return value ? yesNo[0] : ((yesNo.Length >= 2) ? yesNo[1] : Strings.No);
|
||||
}
|
||||
}
|
||||
|
||||
public static string FormatEnum(string format, int value)
|
||||
{
|
||||
if (string.IsNullOrEmpty(format))
|
||||
{
|
||||
return value.ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
string[] texts = format.Split(new char[] { '~' });
|
||||
|
||||
if (value >= 0 && value < texts.Length)
|
||||
return texts[value];
|
||||
else
|
||||
return value.ToString();
|
||||
}
|
||||
return string.IsNullOrEmpty(format) ? value : string.Format(format, value);
|
||||
}
|
||||
|
||||
public static string FormatInt(string format, int value)
|
||||
{
|
||||
return string.IsNullOrEmpty(format) ? value.ToString() : string.Format(format, value);
|
||||
return string.IsNullOrEmpty(format) ? value.ToString() : string.Format(format, value);
|
||||
}
|
||||
|
||||
public static string FormatDbl(Config.Unit units, string format, string precisionOrEmpty, string dfltPrecision, double v)
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Serialization;
|
||||
using NHibernate;
|
||||
using Results.Entities;
|
||||
|
||||
namespace ResultsBrowser.Filters
|
||||
{
|
||||
public class BatchNrFilter : IFilter
|
||||
{
|
||||
public static string GetFilterID() { return "BatchNr"; }
|
||||
public static string GetFilterName() { return "Batch number"; }
|
||||
|
||||
///
|
||||
/// Obligatory wrappers
|
||||
///
|
||||
public string GetThisFilterID() { return GetFilterID(); }
|
||||
public void Save(StringBuilder sb) { (new XmlSerializer(this.GetType())).Serialize(new StringWriter(sb), this); }
|
||||
public void Data2UI() { userIface.Data2UI(); }
|
||||
public void UI2Data() { userIface.UI2Data(); }
|
||||
public UserControl GetFilterUI() { return userIface as UserControl; }
|
||||
|
||||
///
|
||||
/// Serialized filter data
|
||||
///
|
||||
public int BatchNr;
|
||||
|
||||
|
||||
private BatchNrFilterUI userIface;
|
||||
|
||||
public BatchNrFilter()
|
||||
{
|
||||
userIface = new BatchNrFilterUI(this);
|
||||
}
|
||||
|
||||
public IList<WaterMeter> ExecuteQuery(ISession[] sessions, IList<WaterMeter> waterMeters)
|
||||
{
|
||||
IList<WaterMeter> filteredWaterMeters = new List<WaterMeter>();
|
||||
|
||||
if (waterMeters == null)
|
||||
{
|
||||
foreach (var se in sessions)
|
||||
{
|
||||
IList<WaterMeter> wms = se.QueryOver<WaterMeter>().List<WaterMeter>();
|
||||
|
||||
foreach (var wm in wms)
|
||||
{
|
||||
if (wm.BatchNr() == BatchNr) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var wm in waterMeters)
|
||||
{
|
||||
if (wm.BatchNr() == BatchNr) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
}
|
||||
|
||||
return filteredWaterMeters;
|
||||
}
|
||||
}
|
||||
}
|
||||
-72
@@ -1,72 +0,0 @@
|
||||
namespace ResultsBrowser.Filters
|
||||
{
|
||||
partial class BatchNrFilterUI
|
||||
{
|
||||
/// <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.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.batchNrTextBox = new System.Windows.Forms.TextBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.batchNrTextBox);
|
||||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Batch number";
|
||||
//
|
||||
// batchNrTextBox
|
||||
//
|
||||
this.batchNrTextBox.Location = new System.Drawing.Point(132, 13);
|
||||
this.batchNrTextBox.Name = "batchNrTextBox";
|
||||
this.batchNrTextBox.Size = new System.Drawing.Size(80, 20);
|
||||
this.batchNrTextBox.TabIndex = 0;
|
||||
//
|
||||
// BatchNrFilterUI
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "BatchNrFilterUI";
|
||||
this.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox batchNrTextBox;
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ResultsBrowser.Filters
|
||||
{
|
||||
public partial class BatchNrFilterUI : UserControl
|
||||
{
|
||||
BatchNrFilter data;
|
||||
|
||||
/// <summary> Used only by Designer </summary>
|
||||
public BatchNrFilterUI()
|
||||
{
|
||||
InitializeComponent();
|
||||
Localize();
|
||||
}
|
||||
|
||||
/// <summary> Used to create the control aby a filter </summary>
|
||||
public BatchNrFilterUI(BatchNrFilter data)
|
||||
{
|
||||
this.data = data;
|
||||
InitializeComponent();
|
||||
Localize();
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
groupBox1.Text = BatchNrFilter.GetFilterName();
|
||||
}
|
||||
|
||||
public void Data2UI()
|
||||
{
|
||||
batchNrTextBox.Text = data.BatchNr.ToString();
|
||||
}
|
||||
|
||||
public void UI2Data()
|
||||
{
|
||||
data.BatchNr = int.Parse(batchNrTextBox.Text);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
@@ -18,23 +18,19 @@ namespace ResultsBrowser.Filters
|
||||
IDs = new string[]
|
||||
{
|
||||
DateFilter.GetFilterID(),
|
||||
BatchNrFilter.GetFilterID(),
|
||||
ProcedureFilter.GetFilterID(),
|
||||
ProtocolFilter.GetFilterID(),
|
||||
QnFilter.GetFilterID(),
|
||||
SerialNrFilter.GetFilterID(),
|
||||
WMPositionFilter.GetFilterID(),
|
||||
};
|
||||
|
||||
Names = new string[]
|
||||
{
|
||||
DateFilter.GetFilterName(),
|
||||
BatchNrFilter.GetFilterName(),
|
||||
ProcedureFilter.GetFilterName(),
|
||||
ProtocolFilter.GetFilterName(),
|
||||
QnFilter.GetFilterName(),
|
||||
SerialNrFilter.GetFilterName(),
|
||||
WMPositionFilter.GetFilterName(),
|
||||
};
|
||||
|
||||
Count = IDs.Length;
|
||||
@@ -43,13 +39,11 @@ namespace ResultsBrowser.Filters
|
||||
|
||||
public static IFilter GetFilter(string filterID)
|
||||
{
|
||||
if (filterID == DateFilter.GetFilterID()) return new DateFilter();
|
||||
else if (filterID == BatchNrFilter.GetFilterID()) return new BatchNrFilter();
|
||||
else if (filterID == ProcedureFilter.GetFilterID()) return new ProcedureFilter();
|
||||
else if (filterID == ProtocolFilter.GetFilterID()) return new ProtocolFilter();
|
||||
else if (filterID == QnFilter.GetFilterID()) return new QnFilter();
|
||||
else if (filterID == SerialNrFilter.GetFilterID()) return new SerialNrFilter();
|
||||
else if (filterID == WMPositionFilter.GetFilterID()) return new WMPositionFilter();
|
||||
if (filterID == DateFilter.GetFilterID()) return new DateFilter();
|
||||
else if (filterID == ProcedureFilter.GetFilterID()) return new ProcedureFilter();
|
||||
else if (filterID == ProtocolFilter.GetFilterID()) return new ProtocolFilter();
|
||||
else if (filterID == QnFilter.GetFilterID()) return new QnFilter();
|
||||
else if (filterID == SerialNrFilter.GetFilterID()) return new SerialNrFilter();
|
||||
else return null;
|
||||
}
|
||||
|
||||
@@ -59,13 +53,11 @@ namespace ResultsBrowser.Filters
|
||||
try
|
||||
{
|
||||
Type type;
|
||||
if (filterID == DateFilter.GetFilterID()) type = typeof(DateFilter);
|
||||
else if (filterID == BatchNrFilter.GetFilterID()) type = typeof(BatchNrFilter);
|
||||
else if (filterID == ProcedureFilter.GetFilterID()) type = typeof(ProcedureFilter);
|
||||
else if (filterID == ProtocolFilter.GetFilterID()) type = typeof(ProtocolFilter);
|
||||
else if (filterID == QnFilter.GetFilterID()) type = typeof(QnFilter);
|
||||
else if (filterID == SerialNrFilter.GetFilterID()) type = typeof(SerialNrFilter);
|
||||
else if (filterID == WMPositionFilter.GetFilterID()) type = typeof(WMPositionFilter);
|
||||
if (filterID == DateFilter.GetFilterID()) type = typeof(DateFilter);
|
||||
else if (filterID == ProcedureFilter.GetFilterID()) type = typeof(ProcedureFilter);
|
||||
else if (filterID == ProtocolFilter.GetFilterID()) type = typeof(ProtocolFilter);
|
||||
else if (filterID == QnFilter.GetFilterID()) type = typeof(QnFilter);
|
||||
else if (filterID == SerialNrFilter.GetFilterID()) type = typeof(SerialNrFilter);
|
||||
else return null;
|
||||
|
||||
IFilter filter = (new XmlSerializer(type)).Deserialize(new StringReader(serializedText)) as IFilter;
|
||||
|
||||
+3
-3
@@ -48,15 +48,15 @@
|
||||
//
|
||||
this.procedureTextBox.Location = new System.Drawing.Point(132, 13);
|
||||
this.procedureTextBox.Name = "procedureTextBox";
|
||||
this.procedureTextBox.Size = new System.Drawing.Size(360, 20);
|
||||
this.procedureTextBox.Size = new System.Drawing.Size(138, 20);
|
||||
this.procedureTextBox.TabIndex = 0;
|
||||
//
|
||||
// ProcedureFilterUI
|
||||
// ProcedureFilter
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "ProcedureFilterUI";
|
||||
this.Name = "ProcedureFilter";
|
||||
this.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
|
||||
+3
-3
@@ -48,15 +48,15 @@
|
||||
//
|
||||
this.procedureTextBox.Location = new System.Drawing.Point(132, 13);
|
||||
this.procedureTextBox.Name = "procedureTextBox";
|
||||
this.procedureTextBox.Size = new System.Drawing.Size(80, 20);
|
||||
this.procedureTextBox.Size = new System.Drawing.Size(138, 20);
|
||||
this.procedureTextBox.TabIndex = 0;
|
||||
//
|
||||
// QnFilterUI
|
||||
// QnFilter
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "QnFilterUI";
|
||||
this.Name = "QnFilter";
|
||||
this.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace ResultsBrowser.Filters
|
||||
///
|
||||
public string SerialNr;
|
||||
|
||||
|
||||
private SerialNrFilterUI userIface;
|
||||
|
||||
public SerialNrFilter()
|
||||
@@ -41,50 +42,21 @@ namespace ResultsBrowser.Filters
|
||||
{
|
||||
IList<WaterMeter> filteredWaterMeters = new List<WaterMeter>();
|
||||
|
||||
if (string.IsNullOrEmpty(SerialNr)) return filteredWaterMeters; /// Empty s/n => Return an empty list of WM-s
|
||||
|
||||
IList<string> serialNumbers = new List<string>();
|
||||
///
|
||||
if (SerialNr[0] == '@')
|
||||
{
|
||||
try
|
||||
{
|
||||
TextReader rdr = new StreamReader(SerialNr.Substring(1));
|
||||
string line = rdr.ReadLine();
|
||||
while (!string.IsNullOrEmpty(line))
|
||||
{
|
||||
serialNumbers.Add(line);
|
||||
line = rdr.ReadLine();
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
return filteredWaterMeters;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
serialNumbers.Add(SerialNr);
|
||||
}
|
||||
|
||||
if (waterMeters == null)
|
||||
{
|
||||
foreach (var se in sessions)
|
||||
{
|
||||
foreach (var oneSerialNr in serialNumbers)
|
||||
{
|
||||
IList<WaterMeter> wms = se.QueryOver<WaterMeter>()
|
||||
.Where(x => (x.SerialNr == oneSerialNr))
|
||||
.List<WaterMeter>();
|
||||
foreach (var wm in wms) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
IList<WaterMeter> wms = se.QueryOver<WaterMeter>()
|
||||
.Where(x => (x.SerialNr == SerialNr))
|
||||
.List<WaterMeter>();
|
||||
foreach (var wm in wms) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var wm in waterMeters)
|
||||
{
|
||||
if (serialNumbers.Contains(wm.SerialNr)) filteredWaterMeters.Add(wm);
|
||||
if (wm.SerialNr == SerialNr) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-4
@@ -48,16 +48,15 @@
|
||||
//
|
||||
this.serialNrTextBox.Location = new System.Drawing.Point(132, 13);
|
||||
this.serialNrTextBox.Name = "serialNrTextBox";
|
||||
this.serialNrTextBox.Size = new System.Drawing.Size(360, 20);
|
||||
this.serialNrTextBox.Size = new System.Drawing.Size(138, 20);
|
||||
this.serialNrTextBox.TabIndex = 0;
|
||||
this.serialNrTextBox.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.serialNrTextBox_MouseDoubleClick);
|
||||
//
|
||||
// SerialNrFilterUI
|
||||
// SerialNrFilter
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "SerialNrFilterUI";
|
||||
this.Name = "SerialNrFilter";
|
||||
this.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
|
||||
@@ -35,14 +35,5 @@ namespace ResultsBrowser.Filters
|
||||
{
|
||||
data.SerialNr = serialNrTextBox.Text;
|
||||
}
|
||||
|
||||
private void serialNrTextBox_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||
{
|
||||
OpenFileDialog dlg = new OpenFileDialog();
|
||||
if (dlg.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
serialNrTextBox.Text = string.Format("@{0}", dlg.FileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml.Serialization;
|
||||
using NHibernate;
|
||||
using Results.Entities;
|
||||
using ResultsBrowser.Resources;
|
||||
|
||||
namespace ResultsBrowser.Filters
|
||||
{
|
||||
public class WMPositionFilter : IFilter
|
||||
{
|
||||
public static string GetFilterID() { return "WM_position"; }
|
||||
public static string GetFilterName() { return "WM Position"; }
|
||||
|
||||
///
|
||||
/// Obligatory wrappers
|
||||
///
|
||||
public string GetThisFilterID() { return GetFilterID(); }
|
||||
public void Save(StringBuilder sb) { (new XmlSerializer(this.GetType())).Serialize(new StringWriter(sb), this); }
|
||||
public void Data2UI() { userIface.Data2UI(); }
|
||||
public void UI2Data() { userIface.UI2Data(); }
|
||||
public UserControl GetFilterUI() { return userIface as UserControl; }
|
||||
|
||||
///
|
||||
/// Serialized filter data
|
||||
///
|
||||
public int WMPosition;
|
||||
|
||||
|
||||
private WMPositionFilterUI userIface;
|
||||
|
||||
public WMPositionFilter()
|
||||
{
|
||||
userIface = new WMPositionFilterUI(this);
|
||||
}
|
||||
|
||||
public IList<WaterMeter> ExecuteQuery(ISession[] sessions, IList<WaterMeter> waterMeters)
|
||||
{
|
||||
IList<WaterMeter> filteredWaterMeters = new List<WaterMeter>();
|
||||
|
||||
if (waterMeters == null)
|
||||
{
|
||||
foreach (var se in sessions)
|
||||
{
|
||||
IList<Batch> batches = se.QueryOver<Batch>()
|
||||
.List<Batch>();
|
||||
|
||||
foreach (var b in batches)
|
||||
{
|
||||
foreach (var wm in b.WaterMeters) if (wm.WMPosition == this.WMPosition) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (var wm in waterMeters)
|
||||
{
|
||||
if (wm.WMPosition == this.WMPosition) filteredWaterMeters.Add(wm);
|
||||
}
|
||||
}
|
||||
|
||||
return filteredWaterMeters;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
namespace ResultsBrowser.Filters
|
||||
{
|
||||
partial class WMPositionFilterUI
|
||||
{
|
||||
/// <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.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.wmPositionTextBox = new System.Windows.Forms.TextBox();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.wmPositionTextBox);
|
||||
this.groupBox1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.groupBox1.Location = new System.Drawing.Point(0, 0);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.TabIndex = 0;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "WM Position";
|
||||
//
|
||||
// wmPositionTextBox
|
||||
//
|
||||
this.wmPositionTextBox.Location = new System.Drawing.Point(132, 13);
|
||||
this.wmPositionTextBox.Name = "wmPositionTextBox";
|
||||
this.wmPositionTextBox.Size = new System.Drawing.Size(80, 20);
|
||||
this.wmPositionTextBox.TabIndex = 0;
|
||||
//
|
||||
// WMPositionFilterUI
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.groupBox1);
|
||||
this.Name = "WMPositionFilterUI";
|
||||
this.Size = new System.Drawing.Size(835, 40);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.groupBox1.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.TextBox wmPositionTextBox;
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace ResultsBrowser.Filters
|
||||
{
|
||||
public partial class WMPositionFilterUI : UserControl
|
||||
{
|
||||
WMPositionFilter data;
|
||||
|
||||
/// <summary> Used only by Designer </summary>
|
||||
public WMPositionFilterUI()
|
||||
{
|
||||
InitializeComponent();
|
||||
Localize();
|
||||
}
|
||||
|
||||
/// <summary> Used to create the control aby a filter </summary>
|
||||
public WMPositionFilterUI(WMPositionFilter data)
|
||||
{
|
||||
this.data = data;
|
||||
InitializeComponent();
|
||||
Localize();
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
groupBox1.Text = WMPositionFilter.GetFilterName();
|
||||
}
|
||||
|
||||
public void Data2UI()
|
||||
{
|
||||
wmPositionTextBox.Text = data.WMPosition.ToString();
|
||||
}
|
||||
|
||||
public void UI2Data()
|
||||
{
|
||||
int pos;
|
||||
if (int.TryParse(wmPositionTextBox.Text, out pos) && (pos >= 1) && (pos <= 40))
|
||||
{
|
||||
data.WMPosition = pos;
|
||||
}
|
||||
else
|
||||
{
|
||||
data.WMPosition = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
+198
-218
@@ -28,222 +28,204 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.connectionStringTextBox1 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameLabel = new System.Windows.Forms.Label();
|
||||
this.connectionStringLabel = new System.Windows.Forms.Label();
|
||||
this.connectionStringTextBox2 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox3 = new System.Windows.Forms.TextBox();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.cancelButton = new System.Windows.Forms.Button();
|
||||
this.benchNameTextBox1 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox2 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox3 = new System.Windows.Forms.TextBox();
|
||||
this.languageLabel = new System.Windows.Forms.Label();
|
||||
this.languageTextBox = new System.Windows.Forms.TextBox();
|
||||
this.formatLabel = new System.Windows.Forms.Label();
|
||||
this.timePeriodFormatTextBox = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox5 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox4 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox5 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox4 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox6 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox6 = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// connectionStringTextBox1
|
||||
//
|
||||
this.connectionStringTextBox1.Location = new System.Drawing.Point(157, 45);
|
||||
this.connectionStringTextBox1.Name = "connectionStringTextBox1";
|
||||
this.connectionStringTextBox1.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox1.TabIndex = 3;
|
||||
//
|
||||
// benchNameLabel
|
||||
//
|
||||
this.benchNameLabel.AutoSize = true;
|
||||
this.benchNameLabel.Location = new System.Drawing.Point(26, 23);
|
||||
this.benchNameLabel.Name = "benchNameLabel";
|
||||
this.benchNameLabel.Size = new System.Drawing.Size(67, 13);
|
||||
this.benchNameLabel.TabIndex = 0;
|
||||
this.benchNameLabel.Text = "Bench name";
|
||||
//
|
||||
// connectionStringLabel
|
||||
//
|
||||
this.connectionStringLabel.AutoSize = true;
|
||||
this.connectionStringLabel.Location = new System.Drawing.Point(154, 23);
|
||||
this.connectionStringLabel.Name = "connectionStringLabel";
|
||||
this.connectionStringLabel.Size = new System.Drawing.Size(89, 13);
|
||||
this.connectionStringLabel.TabIndex = 1;
|
||||
this.connectionStringLabel.Text = "Connection string";
|
||||
//
|
||||
// connectionStringTextBox2
|
||||
//
|
||||
this.connectionStringTextBox2.Location = new System.Drawing.Point(157, 69);
|
||||
this.connectionStringTextBox2.Name = "connectionStringTextBox2";
|
||||
this.connectionStringTextBox2.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox2.TabIndex = 5;
|
||||
//
|
||||
// connectionStringTextBox3
|
||||
//
|
||||
this.connectionStringTextBox3.Location = new System.Drawing.Point(157, 93);
|
||||
this.connectionStringTextBox3.Name = "connectionStringTextBox3";
|
||||
this.connectionStringTextBox3.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox3.TabIndex = 7;
|
||||
//
|
||||
// okButton
|
||||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.Location = new System.Drawing.Point(506, 250);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(95, 38);
|
||||
this.okButton.TabIndex = 18;
|
||||
this.okButton.Text = "OK";
|
||||
this.okButton.UseVisualStyleBackColor = true;
|
||||
this.okButton.Click += new System.EventHandler(this.okButton_Click);
|
||||
//
|
||||
// cancelButton
|
||||
//
|
||||
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.cancelButton.Location = new System.Drawing.Point(617, 250);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.Size = new System.Drawing.Size(95, 38);
|
||||
this.cancelButton.TabIndex = 19;
|
||||
this.cancelButton.Text = "Cancel";
|
||||
this.cancelButton.UseVisualStyleBackColor = true;
|
||||
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
|
||||
//
|
||||
// benchNameTextBox1
|
||||
//
|
||||
this.benchNameTextBox1.Location = new System.Drawing.Point(29, 45);
|
||||
this.benchNameTextBox1.Name = "benchNameTextBox1";
|
||||
this.benchNameTextBox1.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox1.TabIndex = 2;
|
||||
//
|
||||
// benchNameTextBox2
|
||||
//
|
||||
this.benchNameTextBox2.Location = new System.Drawing.Point(29, 69);
|
||||
this.benchNameTextBox2.Name = "benchNameTextBox2";
|
||||
this.benchNameTextBox2.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox2.TabIndex = 4;
|
||||
//
|
||||
// benchNameTextBox3
|
||||
//
|
||||
this.benchNameTextBox3.Location = new System.Drawing.Point(29, 93);
|
||||
this.benchNameTextBox3.Name = "benchNameTextBox3";
|
||||
this.benchNameTextBox3.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox3.TabIndex = 6;
|
||||
//
|
||||
// languageLabel
|
||||
//
|
||||
this.languageLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.languageLabel.AutoSize = true;
|
||||
this.languageLabel.Location = new System.Drawing.Point(26, 245);
|
||||
this.languageLabel.Name = "languageLabel";
|
||||
this.languageLabel.Size = new System.Drawing.Size(55, 13);
|
||||
this.languageLabel.TabIndex = 14;
|
||||
this.languageLabel.Text = "Language";
|
||||
//
|
||||
// languageTextBox
|
||||
//
|
||||
this.languageTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.languageTextBox.Location = new System.Drawing.Point(29, 263);
|
||||
this.languageTextBox.Name = "languageTextBox";
|
||||
this.languageTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.languageTextBox.TabIndex = 15;
|
||||
//
|
||||
// formatLabel
|
||||
//
|
||||
this.formatLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.formatLabel.AutoSize = true;
|
||||
this.formatLabel.Location = new System.Drawing.Point(26, 196);
|
||||
this.formatLabel.Name = "formatLabel";
|
||||
this.formatLabel.Size = new System.Drawing.Size(94, 13);
|
||||
this.formatLabel.TabIndex = 12;
|
||||
this.formatLabel.Text = "Time period format";
|
||||
//
|
||||
// timePeriodFormatTextBox
|
||||
//
|
||||
this.timePeriodFormatTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.timePeriodFormatTextBox.Location = new System.Drawing.Point(29, 215);
|
||||
this.timePeriodFormatTextBox.Name = "timePeriodFormatTextBox";
|
||||
this.timePeriodFormatTextBox.Size = new System.Drawing.Size(683, 20);
|
||||
this.timePeriodFormatTextBox.TabIndex = 13;
|
||||
//
|
||||
// benchNameTextBox5
|
||||
//
|
||||
this.benchNameTextBox5.Location = new System.Drawing.Point(29, 141);
|
||||
this.benchNameTextBox5.Name = "benchNameTextBox5";
|
||||
this.benchNameTextBox5.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox5.TabIndex = 10;
|
||||
//
|
||||
// benchNameTextBox4
|
||||
//
|
||||
this.benchNameTextBox4.Location = new System.Drawing.Point(29, 117);
|
||||
this.benchNameTextBox4.Name = "benchNameTextBox4";
|
||||
this.benchNameTextBox4.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox4.TabIndex = 8;
|
||||
//
|
||||
// connectionStringTextBox5
|
||||
//
|
||||
this.connectionStringTextBox5.Location = new System.Drawing.Point(157, 141);
|
||||
this.connectionStringTextBox5.Name = "connectionStringTextBox5";
|
||||
this.connectionStringTextBox5.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox5.TabIndex = 11;
|
||||
//
|
||||
// connectionStringTextBox4
|
||||
//
|
||||
this.connectionStringTextBox4.Location = new System.Drawing.Point(157, 117);
|
||||
this.connectionStringTextBox4.Name = "connectionStringTextBox4";
|
||||
this.connectionStringTextBox4.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox4.TabIndex = 9;
|
||||
//
|
||||
// benchNameTextBox6
|
||||
//
|
||||
this.benchNameTextBox6.Location = new System.Drawing.Point(29, 165);
|
||||
this.benchNameTextBox6.Name = "benchNameTextBox6";
|
||||
this.benchNameTextBox6.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox6.TabIndex = 20;
|
||||
//
|
||||
// connectionStringTextBox6
|
||||
//
|
||||
this.connectionStringTextBox6.Location = new System.Drawing.Point(157, 165);
|
||||
this.connectionStringTextBox6.Name = "connectionStringTextBox6";
|
||||
this.connectionStringTextBox6.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox6.TabIndex = 21;
|
||||
//
|
||||
// DatabaseSettingsDlg
|
||||
//
|
||||
this.AcceptButton = this.okButton;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.cancelButton;
|
||||
this.ClientSize = new System.Drawing.Size(743, 310);
|
||||
this.Controls.Add(this.benchNameTextBox6);
|
||||
this.Controls.Add(this.connectionStringTextBox6);
|
||||
this.Controls.Add(this.benchNameTextBox5);
|
||||
this.Controls.Add(this.benchNameTextBox4);
|
||||
this.Controls.Add(this.connectionStringTextBox5);
|
||||
this.Controls.Add(this.connectionStringTextBox4);
|
||||
this.Controls.Add(this.timePeriodFormatTextBox);
|
||||
this.Controls.Add(this.formatLabel);
|
||||
this.Controls.Add(this.languageTextBox);
|
||||
this.Controls.Add(this.languageLabel);
|
||||
this.Controls.Add(this.benchNameTextBox3);
|
||||
this.Controls.Add(this.benchNameTextBox2);
|
||||
this.Controls.Add(this.benchNameTextBox1);
|
||||
this.Controls.Add(this.cancelButton);
|
||||
this.Controls.Add(this.okButton);
|
||||
this.Controls.Add(this.connectionStringTextBox3);
|
||||
this.Controls.Add(this.connectionStringLabel);
|
||||
this.Controls.Add(this.connectionStringTextBox2);
|
||||
this.Controls.Add(this.benchNameLabel);
|
||||
this.Controls.Add(this.connectionStringTextBox1);
|
||||
this.Name = "DatabaseSettingsDlg";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Settings";
|
||||
this.Load += new System.EventHandler(this.DatabaseSettings_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.connectionStringTextBox1 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameLabel = new System.Windows.Forms.Label();
|
||||
this.connectionStringLabel = new System.Windows.Forms.Label();
|
||||
this.connectionStringTextBox2 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox3 = new System.Windows.Forms.TextBox();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.cancelButton = new System.Windows.Forms.Button();
|
||||
this.benchNameTextBox1 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox2 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox3 = new System.Windows.Forms.TextBox();
|
||||
this.languageLabel = new System.Windows.Forms.Label();
|
||||
this.languageTextBox = new System.Windows.Forms.TextBox();
|
||||
this.formatLabel = new System.Windows.Forms.Label();
|
||||
this.timePeriodFormatTextBox = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox5 = new System.Windows.Forms.TextBox();
|
||||
this.benchNameTextBox4 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox5 = new System.Windows.Forms.TextBox();
|
||||
this.connectionStringTextBox4 = new System.Windows.Forms.TextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// connectionStringTextBox1
|
||||
//
|
||||
this.connectionStringTextBox1.Location = new System.Drawing.Point(157, 45);
|
||||
this.connectionStringTextBox1.Name = "connectionStringTextBox1";
|
||||
this.connectionStringTextBox1.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox1.TabIndex = 3;
|
||||
//
|
||||
// benchNameLabel
|
||||
//
|
||||
this.benchNameLabel.AutoSize = true;
|
||||
this.benchNameLabel.Location = new System.Drawing.Point(26, 20);
|
||||
this.benchNameLabel.Name = "benchNameLabel";
|
||||
this.benchNameLabel.Size = new System.Drawing.Size(67, 13);
|
||||
this.benchNameLabel.TabIndex = 0;
|
||||
this.benchNameLabel.Text = "Bench name";
|
||||
//
|
||||
// connectionStringLabel
|
||||
//
|
||||
this.connectionStringLabel.AutoSize = true;
|
||||
this.connectionStringLabel.Location = new System.Drawing.Point(154, 20);
|
||||
this.connectionStringLabel.Name = "connectionStringLabel";
|
||||
this.connectionStringLabel.Size = new System.Drawing.Size(89, 13);
|
||||
this.connectionStringLabel.TabIndex = 1;
|
||||
this.connectionStringLabel.Text = "Connection string";
|
||||
//
|
||||
// connectionStringTextBox2
|
||||
//
|
||||
this.connectionStringTextBox2.Location = new System.Drawing.Point(157, 71);
|
||||
this.connectionStringTextBox2.Name = "connectionStringTextBox2";
|
||||
this.connectionStringTextBox2.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox2.TabIndex = 5;
|
||||
//
|
||||
// connectionStringTextBox3
|
||||
//
|
||||
this.connectionStringTextBox3.Location = new System.Drawing.Point(157, 97);
|
||||
this.connectionStringTextBox3.Name = "connectionStringTextBox3";
|
||||
this.connectionStringTextBox3.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox3.TabIndex = 7;
|
||||
//
|
||||
// okButton
|
||||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.Location = new System.Drawing.Point(506, 250);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(95, 38);
|
||||
this.okButton.TabIndex = 18;
|
||||
this.okButton.Text = "OK";
|
||||
this.okButton.UseVisualStyleBackColor = true;
|
||||
this.okButton.Click += new System.EventHandler(this.okButton_Click);
|
||||
//
|
||||
// cancelButton
|
||||
//
|
||||
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.cancelButton.Location = new System.Drawing.Point(617, 250);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.Size = new System.Drawing.Size(95, 38);
|
||||
this.cancelButton.TabIndex = 19;
|
||||
this.cancelButton.Text = "Cancel";
|
||||
this.cancelButton.UseVisualStyleBackColor = true;
|
||||
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
|
||||
//
|
||||
// benchNameTextBox1
|
||||
//
|
||||
this.benchNameTextBox1.Location = new System.Drawing.Point(29, 45);
|
||||
this.benchNameTextBox1.Name = "benchNameTextBox1";
|
||||
this.benchNameTextBox1.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox1.TabIndex = 2;
|
||||
//
|
||||
// benchNameTextBox2
|
||||
//
|
||||
this.benchNameTextBox2.Location = new System.Drawing.Point(29, 71);
|
||||
this.benchNameTextBox2.Name = "benchNameTextBox2";
|
||||
this.benchNameTextBox2.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox2.TabIndex = 4;
|
||||
//
|
||||
// benchNameTextBox3
|
||||
//
|
||||
this.benchNameTextBox3.Location = new System.Drawing.Point(29, 97);
|
||||
this.benchNameTextBox3.Name = "benchNameTextBox3";
|
||||
this.benchNameTextBox3.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox3.TabIndex = 6;
|
||||
//
|
||||
// languageLabel
|
||||
//
|
||||
this.languageLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.languageLabel.AutoSize = true;
|
||||
this.languageLabel.Location = new System.Drawing.Point(26, 239);
|
||||
this.languageLabel.Name = "languageLabel";
|
||||
this.languageLabel.Size = new System.Drawing.Size(55, 13);
|
||||
this.languageLabel.TabIndex = 14;
|
||||
this.languageLabel.Text = "Language";
|
||||
//
|
||||
// languageTextBox
|
||||
//
|
||||
this.languageTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.languageTextBox.Location = new System.Drawing.Point(29, 263);
|
||||
this.languageTextBox.Name = "languageTextBox";
|
||||
this.languageTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.languageTextBox.TabIndex = 15;
|
||||
//
|
||||
// formatLabel
|
||||
//
|
||||
this.formatLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.formatLabel.AutoSize = true;
|
||||
this.formatLabel.Location = new System.Drawing.Point(26, 185);
|
||||
this.formatLabel.Name = "formatLabel";
|
||||
this.formatLabel.Size = new System.Drawing.Size(94, 13);
|
||||
this.formatLabel.TabIndex = 12;
|
||||
this.formatLabel.Text = "Time period format";
|
||||
//
|
||||
// timePeriodFormatTextBox
|
||||
//
|
||||
this.timePeriodFormatTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.timePeriodFormatTextBox.Location = new System.Drawing.Point(29, 207);
|
||||
this.timePeriodFormatTextBox.Name = "timePeriodFormatTextBox";
|
||||
this.timePeriodFormatTextBox.Size = new System.Drawing.Size(683, 20);
|
||||
this.timePeriodFormatTextBox.TabIndex = 13;
|
||||
//
|
||||
// benchNameTextBox5
|
||||
//
|
||||
this.benchNameTextBox5.Location = new System.Drawing.Point(29, 149);
|
||||
this.benchNameTextBox5.Name = "benchNameTextBox5";
|
||||
this.benchNameTextBox5.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox5.TabIndex = 10;
|
||||
//
|
||||
// benchNameTextBox4
|
||||
//
|
||||
this.benchNameTextBox4.Location = new System.Drawing.Point(29, 123);
|
||||
this.benchNameTextBox4.Name = "benchNameTextBox4";
|
||||
this.benchNameTextBox4.Size = new System.Drawing.Size(100, 20);
|
||||
this.benchNameTextBox4.TabIndex = 8;
|
||||
//
|
||||
// connectionStringTextBox5
|
||||
//
|
||||
this.connectionStringTextBox5.Location = new System.Drawing.Point(157, 149);
|
||||
this.connectionStringTextBox5.Name = "connectionStringTextBox5";
|
||||
this.connectionStringTextBox5.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox5.TabIndex = 11;
|
||||
//
|
||||
// connectionStringTextBox4
|
||||
//
|
||||
this.connectionStringTextBox4.Location = new System.Drawing.Point(157, 123);
|
||||
this.connectionStringTextBox4.Name = "connectionStringTextBox4";
|
||||
this.connectionStringTextBox4.Size = new System.Drawing.Size(555, 20);
|
||||
this.connectionStringTextBox4.TabIndex = 9;
|
||||
//
|
||||
// DatabaseSettingsDlg
|
||||
//
|
||||
this.AcceptButton = this.okButton;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.cancelButton;
|
||||
this.ClientSize = new System.Drawing.Size(743, 310);
|
||||
this.Controls.Add(this.benchNameTextBox5);
|
||||
this.Controls.Add(this.benchNameTextBox4);
|
||||
this.Controls.Add(this.connectionStringTextBox5);
|
||||
this.Controls.Add(this.connectionStringTextBox4);
|
||||
this.Controls.Add(this.timePeriodFormatTextBox);
|
||||
this.Controls.Add(this.formatLabel);
|
||||
this.Controls.Add(this.languageTextBox);
|
||||
this.Controls.Add(this.languageLabel);
|
||||
this.Controls.Add(this.benchNameTextBox3);
|
||||
this.Controls.Add(this.benchNameTextBox2);
|
||||
this.Controls.Add(this.benchNameTextBox1);
|
||||
this.Controls.Add(this.cancelButton);
|
||||
this.Controls.Add(this.okButton);
|
||||
this.Controls.Add(this.connectionStringTextBox3);
|
||||
this.Controls.Add(this.connectionStringLabel);
|
||||
this.Controls.Add(this.connectionStringTextBox2);
|
||||
this.Controls.Add(this.benchNameLabel);
|
||||
this.Controls.Add(this.connectionStringTextBox1);
|
||||
this.Name = "DatabaseSettingsDlg";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Settings";
|
||||
this.Load += new System.EventHandler(this.DatabaseSettings_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -267,7 +249,5 @@
|
||||
private System.Windows.Forms.TextBox benchNameTextBox4;
|
||||
private System.Windows.Forms.TextBox connectionStringTextBox5;
|
||||
private System.Windows.Forms.TextBox connectionStringTextBox4;
|
||||
private System.Windows.Forms.TextBox benchNameTextBox6;
|
||||
private System.Windows.Forms.TextBox connectionStringTextBox6;
|
||||
}
|
||||
}
|
||||
@@ -22,14 +22,12 @@ namespace ResultsBrowser.Forms
|
||||
benchNameTextBox3.Text = Program.LocalSettings.Bench3;
|
||||
benchNameTextBox4.Text = Program.LocalSettings.Bench4;
|
||||
benchNameTextBox5.Text = Program.LocalSettings.Bench5;
|
||||
benchNameTextBox6.Text = Program.LocalSettings.Bench6;
|
||||
|
||||
connectionStringTextBox1.Text = Program.LocalSettings.ConnectionString1;
|
||||
connectionStringTextBox2.Text = Program.LocalSettings.ConnectionString2;
|
||||
connectionStringTextBox3.Text = Program.LocalSettings.ConnectionString3;
|
||||
connectionStringTextBox4.Text = Program.LocalSettings.ConnectionString4;
|
||||
connectionStringTextBox5.Text = Program.LocalSettings.ConnectionString5;
|
||||
connectionStringTextBox6.Text = Program.LocalSettings.ConnectionString6;
|
||||
|
||||
timePeriodFormatTextBox.Text = Program.LocalSettings.TimePeriodFormat;
|
||||
|
||||
@@ -54,14 +52,12 @@ namespace ResultsBrowser.Forms
|
||||
Program.LocalSettings.Bench3 = benchNameTextBox3.Text;
|
||||
Program.LocalSettings.Bench4 = benchNameTextBox4.Text;
|
||||
Program.LocalSettings.Bench5 = benchNameTextBox5.Text;
|
||||
Program.LocalSettings.Bench6 = benchNameTextBox6.Text;
|
||||
|
||||
Program.LocalSettings.ConnectionString1 = connectionStringTextBox1.Text;
|
||||
Program.LocalSettings.ConnectionString2 = connectionStringTextBox2.Text;
|
||||
Program.LocalSettings.ConnectionString3 = connectionStringTextBox3.Text;
|
||||
Program.LocalSettings.ConnectionString4 = connectionStringTextBox4.Text;
|
||||
Program.LocalSettings.ConnectionString5 = connectionStringTextBox5.Text;
|
||||
Program.LocalSettings.ConnectionString6 = connectionStringTextBox6.Text;
|
||||
|
||||
Program.LocalSettings.TimePeriodFormat = timePeriodFormatTextBox.Text;
|
||||
|
||||
|
||||
-76
@@ -1,76 +0,0 @@
|
||||
namespace ResultsBrowser.Forms
|
||||
{
|
||||
partial class HistogramCtrl
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea1 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||
System.Windows.Forms.DataVisualization.Charting.Legend legend1 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series1 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Title title1 = new System.Windows.Forms.DataVisualization.Charting.Title();
|
||||
this.myChart = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||
((System.ComponentModel.ISupportInitialize)(this.myChart)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// myChart
|
||||
//
|
||||
chartArea1.Name = "ChartArea1";
|
||||
this.myChart.ChartAreas.Add(chartArea1);
|
||||
this.myChart.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
legend1.Name = "Legend1";
|
||||
this.myChart.Legends.Add(legend1);
|
||||
this.myChart.Location = new System.Drawing.Point(0, 0);
|
||||
this.myChart.Name = "myChart";
|
||||
this.myChart.Palette = System.Windows.Forms.DataVisualization.Charting.ChartColorPalette.Bright;
|
||||
series1.ChartArea = "ChartArea1";
|
||||
series1.Legend = "Legend1";
|
||||
series1.Name = "Series1";
|
||||
this.myChart.Series.Add(series1);
|
||||
this.myChart.Size = new System.Drawing.Size(400, 300);
|
||||
this.myChart.TabIndex = 0;
|
||||
this.myChart.Text = "chart1";
|
||||
title1.Name = "Title1";
|
||||
title1.Text = "Title1";
|
||||
this.myChart.Titles.Add(title1);
|
||||
//
|
||||
// HistogramCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.myChart);
|
||||
this.Name = "HistogramCtrl";
|
||||
this.Size = new System.Drawing.Size(400, 300);
|
||||
((System.ComponentModel.ISupportInitialize)(this.myChart)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.DataVisualization.Charting.Chart myChart;
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
namespace ResultsBrowser.Forms
|
||||
{
|
||||
public partial class HistogramCtrl : UserControl
|
||||
{
|
||||
/// <summary>
|
||||
/// Create user control that displays a bar chart iwth custom X-axis labels.
|
||||
/// </summary>
|
||||
/// <param name="title">Title of the chart displayed at the top</param>
|
||||
/// <param name="values">Values = bar lengths</param>
|
||||
/// <param name="labels">Labels for the X-axis</param>
|
||||
public HistogramCtrl(string title, double[] values, string[] labels)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
if (myChart.Titles.Count > 0) myChart.Titles[0].Text = title;
|
||||
|
||||
if ((myChart.Series.Count > 0) && (values != null))
|
||||
{
|
||||
int startOffset = -1;
|
||||
int endOffset = 1;
|
||||
for (int i = 0; i < Math.Min(values.Length + 1, labels.Length); i++)
|
||||
{
|
||||
if (i < values.Length) myChart.Series[0].Points.Add(values[i]);
|
||||
if (!string.IsNullOrEmpty(labels[i]))
|
||||
{
|
||||
myChart.ChartAreas[0].AxisX.CustomLabels.Add(new System.Windows.Forms.DataVisualization.Charting.CustomLabel(startOffset, endOffset, labels[i], 0, LabelMarkStyle.None));
|
||||
}
|
||||
startOffset = startOffset + 1;
|
||||
endOffset = endOffset + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
-150
@@ -1,150 +0,0 @@
|
||||
namespace ResultsBrowser.Forms
|
||||
{
|
||||
partial class HistogramDlg
|
||||
{
|
||||
/// <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.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.exportButton = new System.Windows.Forms.Button();
|
||||
this.printButton = new System.Windows.Forms.Button();
|
||||
this.closeButton = new System.Windows.Forms.Button();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flowLayoutPanel1);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(572, 409);
|
||||
this.splitContainer1.SplitterDistance = 320;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.exportButton);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.printButton);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.closeButton);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(572, 85);
|
||||
this.splitContainer2.SplitterDistance = 249;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// exportButton
|
||||
//
|
||||
this.exportButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.exportButton.Location = new System.Drawing.Point(103, 21);
|
||||
this.exportButton.Name = "exportButton";
|
||||
this.exportButton.Size = new System.Drawing.Size(94, 41);
|
||||
this.exportButton.TabIndex = 1;
|
||||
this.exportButton.Text = "Export";
|
||||
this.exportButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// printButton
|
||||
//
|
||||
this.printButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.printButton.Location = new System.Drawing.Point(4, 21);
|
||||
this.printButton.Name = "printButton";
|
||||
this.printButton.Size = new System.Drawing.Size(94, 41);
|
||||
this.printButton.TabIndex = 0;
|
||||
this.printButton.Text = "Print";
|
||||
this.printButton.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// closeButton
|
||||
//
|
||||
this.closeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.closeButton.Location = new System.Drawing.Point(203, 21);
|
||||
this.closeButton.Name = "closeButton";
|
||||
this.closeButton.Size = new System.Drawing.Size(94, 41);
|
||||
this.closeButton.TabIndex = 2;
|
||||
this.closeButton.Text = "Close";
|
||||
this.closeButton.UseVisualStyleBackColor = true;
|
||||
this.closeButton.Click += new System.EventHandler(this.closeButton_Click);
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(572, 320);
|
||||
this.flowLayoutPanel1.TabIndex = 0;
|
||||
//
|
||||
// HistogramDlg
|
||||
//
|
||||
this.AcceptButton = this.closeButton;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(572, 409);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "HistogramDlg";
|
||||
this.Text = "HistogramDlg";
|
||||
this.Load += new System.EventHandler(this.HistogramDlg_Load);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private System.Windows.Forms.Button closeButton;
|
||||
private System.Windows.Forms.Button printButton;
|
||||
private System.Windows.Forms.Button exportButton;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using Results.Entities;
|
||||
using ResultsBrowser.Resources;
|
||||
using ResultsBrowser.Output.Printers.Statistics;
|
||||
|
||||
namespace ResultsBrowser.Forms
|
||||
{
|
||||
public partial class HistogramDlg : Form
|
||||
{
|
||||
const int NrBins = 11;
|
||||
|
||||
IList<WaterMeter> waterMeters;
|
||||
HistogramOptionsDlg options;
|
||||
|
||||
public HistogramDlg(IList<WaterMeter> waterMeters, HistogramOptionsDlg options, string title)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.waterMeters = waterMeters;
|
||||
this.options = options;
|
||||
Text = title;
|
||||
|
||||
closeButton.Text = Strings.OkBtnText;
|
||||
printButton.Text = Strings.Print;
|
||||
}
|
||||
|
||||
private void HistogramDlg_Load(object sender, EventArgs e)
|
||||
{
|
||||
CalculateAndDraw();
|
||||
}
|
||||
|
||||
void CalculateAndDraw()
|
||||
{
|
||||
for (int i = 0; i < options.SelectedItems.Count; i++)
|
||||
{
|
||||
Results.WMeterRsltItemSpec item = options.SelectedItems[i];
|
||||
|
||||
try
|
||||
{
|
||||
/// Find minimum and maximum
|
||||
double min = Double.MaxValue;
|
||||
double max = Double.MinValue;
|
||||
double sum = 0;
|
||||
int count = 0;
|
||||
foreach (var wm in waterMeters)
|
||||
{
|
||||
string strValue = item.Print(wm);
|
||||
double value;
|
||||
if (!double.TryParse(strValue, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.CurrentCulture, out value) &&
|
||||
!double.TryParse(strValue, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out value))
|
||||
{
|
||||
throw new Exception(string.Format("{0} is not a number, cannot calculate histogram", item.Caption));
|
||||
}
|
||||
|
||||
sum += value;
|
||||
count++;
|
||||
if (min > value) min = value;
|
||||
if (max < value) max = value;
|
||||
}
|
||||
|
||||
double mean = (count != 0) ? (sum / count) : 0; /// Prevent division by zero
|
||||
|
||||
///
|
||||
/// Determine limits for bins
|
||||
///
|
||||
double[] binHiLim;
|
||||
string[] labels;
|
||||
if ((-0.55 <= min) && (max <= 0.55))
|
||||
{
|
||||
labels = new string[] { "-0.6", "", "-0.4", "", "-0.2", "", "0", "", "0.2", "", "0.4", "", "0.6" };
|
||||
binHiLim = new double[] { -0.45, -0.35, -0.25, -0.15, -0.05, 0.05, 0.15, 0.25, 0.35, 0.45, 0.55 };
|
||||
}
|
||||
else if ((-1.1 <= min) && (max <= 1.1))
|
||||
{
|
||||
labels = new string[] { "-1.2", "", "-0.8", "", "-0.4", "", "0", "", "0.4", "", "0.8", "", "1.2" };
|
||||
binHiLim = new double[] { -0.9, -0.7, -0.5, -0.3, -0.1, 0.1, 0.3, 0.5, 0.7, 0.9, 1.1 };
|
||||
}
|
||||
else if ((-2.2 <= min) && (max <= 2.2))
|
||||
{
|
||||
labels = new string[] { "-2.4", "", "-1.6", "", "-0.8", "", "0", "", "0.8", "", "1.6", "", "2.4" };
|
||||
binHiLim = new double[] { -1.8, -1.4, -1.0, -0.6, -0.2, 0.2, 0.6, 1.0, 1.4, 1.8, 2.2 };
|
||||
}
|
||||
else if ((-4.4 <= min) && (max <= 4.4))
|
||||
{
|
||||
labels = new string[] { "-4.8", "", "-3.2", "", "-1.6", "", "0", "", "1.6", "", "3.2", "", "4.8" };
|
||||
binHiLim = new double[] { -3.6, -2.8, -2.0, -1.2, -0.4, 0.4, 1.2, 2.0, 2.8, 3.6, 4.4 };
|
||||
}
|
||||
else
|
||||
{
|
||||
labels = new string[] { "-9.6", "", "-6.4", "", "-3.2", "", "0", "", "3.2", "", "6.4", "", "9.6" };
|
||||
binHiLim = new double[] { -7.2, -5.6, -4.0, -2.4, -0.8, 0.8, 2.4, 4.0, 5.6, 7.2, 8.8 };
|
||||
}
|
||||
|
||||
int nrBins = Math.Min(labels.Length - 1, binHiLim.Length + 1);
|
||||
|
||||
double[] bins = new double[nrBins];
|
||||
for (int j = 0; j < nrBins; j++) bins[j] = 0;
|
||||
|
||||
/// Calculate bins
|
||||
foreach (var wm in waterMeters)
|
||||
{
|
||||
string strValue = item.Print(wm);
|
||||
double value;
|
||||
if (!double.TryParse(strValue, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.CurrentCulture, out value) &&
|
||||
!double.TryParse(strValue, NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture, out value))
|
||||
{
|
||||
throw new Exception(string.Format("{0} is not a number, cannot calculate histogram", item.Caption));
|
||||
}
|
||||
|
||||
for (int j = 0; j < nrBins - 1; j++)
|
||||
{
|
||||
if (value < binHiLim[j])
|
||||
{
|
||||
bins[j] += 1.0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (value >= binHiLim[nrBins - 2])
|
||||
{
|
||||
bins[nrBins - 1] += 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
///
|
||||
/// Draw
|
||||
///
|
||||
HistogramCtrl histo = new HistogramCtrl(string.Format("{0} mean = {1}", item.Caption, mean.ToString("F3")), bins, labels);
|
||||
flowLayoutPanel1.Controls.Add(histo);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
string msg = exc.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void closeButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,91 +0,0 @@
|
||||
namespace ResultsBrowser.Forms
|
||||
{
|
||||
partial class HistogramOptionsDlg
|
||||
{
|
||||
/// <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.cancelButton = new System.Windows.Forms.Button();
|
||||
this.okButton = new System.Windows.Forms.Button();
|
||||
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// cancelButton
|
||||
//
|
||||
this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
|
||||
this.cancelButton.Location = new System.Drawing.Point(380, 302);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.Size = new System.Drawing.Size(95, 38);
|
||||
this.cancelButton.TabIndex = 9;
|
||||
this.cancelButton.Text = "Cancel";
|
||||
this.cancelButton.UseVisualStyleBackColor = true;
|
||||
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
|
||||
//
|
||||
// okButton
|
||||
//
|
||||
this.okButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.okButton.Location = new System.Drawing.Point(269, 302);
|
||||
this.okButton.Name = "okButton";
|
||||
this.okButton.Size = new System.Drawing.Size(95, 38);
|
||||
this.okButton.TabIndex = 8;
|
||||
this.okButton.Text = "OK";
|
||||
this.okButton.UseVisualStyleBackColor = true;
|
||||
this.okButton.Click += new System.EventHandler(this.okButton_Click);
|
||||
//
|
||||
// flowLayoutPanel1
|
||||
//
|
||||
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
|
||||
this.flowLayoutPanel1.Location = new System.Drawing.Point(12, 12);
|
||||
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
|
||||
this.flowLayoutPanel1.Size = new System.Drawing.Size(479, 271);
|
||||
this.flowLayoutPanel1.TabIndex = 10;
|
||||
//
|
||||
// HistogramOptionsDlg
|
||||
//
|
||||
this.AcceptButton = this.okButton;
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.CancelButton = this.cancelButton;
|
||||
this.ClientSize = new System.Drawing.Size(503, 355);
|
||||
this.Controls.Add(this.flowLayoutPanel1);
|
||||
this.Controls.Add(this.cancelButton);
|
||||
this.Controls.Add(this.okButton);
|
||||
this.Name = "HistogramOptionsDlg";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "HistogramOptionsDlg";
|
||||
this.Load += new System.EventHandler(this.HistogramOptionsDlg_Load);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button cancelButton;
|
||||
private System.Windows.Forms.Button okButton;
|
||||
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using ResultsBrowser.Resources;
|
||||
|
||||
namespace ResultsBrowser.Forms
|
||||
{
|
||||
public partial class HistogramOptionsDlg : Form
|
||||
{
|
||||
IList<Results.WMeterRsltItemSpec> items;
|
||||
public IList<Results.WMeterRsltItemSpec> SelectedItems;
|
||||
|
||||
IList<CheckBox> checkBoxes;
|
||||
|
||||
public HistogramOptionsDlg(IList<Results.WMeterRsltItemSpec> items)
|
||||
{
|
||||
InitializeComponent();
|
||||
this.items = items;
|
||||
|
||||
checkBoxes = new List<CheckBox>();
|
||||
}
|
||||
|
||||
private void HistogramOptionsDlg_Load(object sender, EventArgs e)
|
||||
{
|
||||
Localize();
|
||||
|
||||
foreach (var item in items)
|
||||
{
|
||||
CheckBox cb = new CheckBox();
|
||||
cb.Text = item.Caption;
|
||||
cb.Checked = false;
|
||||
flowLayoutPanel1.Controls.Add(cb);
|
||||
checkBoxes.Add(cb);
|
||||
}
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
Text = Strings.Statistics;
|
||||
okButton.Text = Strings.OkBtnText;
|
||||
cancelButton.Text = Strings.CancelBtnText;
|
||||
}
|
||||
|
||||
private void okButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
SelectedItems = new List<Results.WMeterRsltItemSpec>();
|
||||
for (int i = 0; i < items.Count; i++)
|
||||
{
|
||||
if (checkBoxes[i].Checked) SelectedItems.Add(items[i]);
|
||||
}
|
||||
|
||||
//Program.LocalSettings.RowItemCaption = RowItem.Caption;
|
||||
// ...
|
||||
//Program.LocalSettings.Save();
|
||||
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
|
||||
private void cancelButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
+70
-83
@@ -28,88 +28,76 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.printerClassComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.changePrinterClassButton = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.configureButton = new System.Windows.Forms.Button();
|
||||
this.cancelButton = new System.Windows.Forms.Button();
|
||||
this.importButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// printerClassComboBox
|
||||
//
|
||||
this.printerClassComboBox.Enabled = false;
|
||||
this.printerClassComboBox.FormattingEnabled = true;
|
||||
this.printerClassComboBox.Location = new System.Drawing.Point(12, 29);
|
||||
this.printerClassComboBox.Name = "printerClassComboBox";
|
||||
this.printerClassComboBox.Size = new System.Drawing.Size(457, 21);
|
||||
this.printerClassComboBox.TabIndex = 0;
|
||||
//
|
||||
// changePrinterClassButton
|
||||
//
|
||||
this.changePrinterClassButton.Location = new System.Drawing.Point(12, 67);
|
||||
this.changePrinterClassButton.Name = "changePrinterClassButton";
|
||||
this.changePrinterClassButton.Size = new System.Drawing.Size(161, 43);
|
||||
this.changePrinterClassButton.TabIndex = 1;
|
||||
this.changePrinterClassButton.Text = "Change printer type (configuration will be deleted)";
|
||||
this.changePrinterClassButton.UseVisualStyleBackColor = true;
|
||||
this.changePrinterClassButton.Click += new System.EventHandler(this.changePrinterClassButton_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(60, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Printer type";
|
||||
//
|
||||
// configureButton
|
||||
//
|
||||
this.configureButton.Location = new System.Drawing.Point(188, 67);
|
||||
this.configureButton.Name = "configureButton";
|
||||
this.configureButton.Size = new System.Drawing.Size(83, 43);
|
||||
this.configureButton.TabIndex = 3;
|
||||
this.configureButton.Text = "Configure";
|
||||
this.configureButton.UseVisualStyleBackColor = true;
|
||||
this.configureButton.Click += new System.EventHandler(this.configureButton_Click);
|
||||
//
|
||||
// cancelButton
|
||||
//
|
||||
this.cancelButton.Location = new System.Drawing.Point(383, 67);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.Size = new System.Drawing.Size(84, 43);
|
||||
this.cancelButton.TabIndex = 4;
|
||||
this.cancelButton.Text = "Cancel";
|
||||
this.cancelButton.UseVisualStyleBackColor = true;
|
||||
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
|
||||
//
|
||||
// importButton
|
||||
//
|
||||
this.importButton.Location = new System.Drawing.Point(285, 67);
|
||||
this.importButton.Name = "importButton";
|
||||
this.importButton.Size = new System.Drawing.Size(83, 43);
|
||||
this.importButton.TabIndex = 5;
|
||||
this.importButton.Text = "Import";
|
||||
this.importButton.UseVisualStyleBackColor = true;
|
||||
this.importButton.Click += new System.EventHandler(this.importButton_Click);
|
||||
//
|
||||
// PrinterConfigDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(481, 122);
|
||||
this.Controls.Add(this.importButton);
|
||||
this.Controls.Add(this.cancelButton);
|
||||
this.Controls.Add(this.configureButton);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.changePrinterClassButton);
|
||||
this.Controls.Add(this.printerClassComboBox);
|
||||
this.Name = "PrinterConfigDlg";
|
||||
this.Text = "Printer configuration";
|
||||
this.Load += new System.EventHandler(this.PrinterClassDlg_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
this.printerClassComboBox = new System.Windows.Forms.ComboBox();
|
||||
this.changePrinterClassButton = new System.Windows.Forms.Button();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.configureButton = new System.Windows.Forms.Button();
|
||||
this.cancelButton = new System.Windows.Forms.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// printerClassComboBox
|
||||
//
|
||||
this.printerClassComboBox.Enabled = false;
|
||||
this.printerClassComboBox.FormattingEnabled = true;
|
||||
this.printerClassComboBox.Location = new System.Drawing.Point(12, 29);
|
||||
this.printerClassComboBox.Name = "printerClassComboBox";
|
||||
this.printerClassComboBox.Size = new System.Drawing.Size(389, 21);
|
||||
this.printerClassComboBox.TabIndex = 0;
|
||||
//
|
||||
// changePrinterClassButton
|
||||
//
|
||||
this.changePrinterClassButton.Location = new System.Drawing.Point(15, 67);
|
||||
this.changePrinterClassButton.Name = "changePrinterClassButton";
|
||||
this.changePrinterClassButton.Size = new System.Drawing.Size(161, 43);
|
||||
this.changePrinterClassButton.TabIndex = 1;
|
||||
this.changePrinterClassButton.Text = "Change printer type (configuration will be deleted)";
|
||||
this.changePrinterClassButton.UseVisualStyleBackColor = true;
|
||||
this.changePrinterClassButton.Click += new System.EventHandler(this.changePrinterClassButton_Click);
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(12, 9);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(60, 13);
|
||||
this.label1.TabIndex = 2;
|
||||
this.label1.Text = "Printer type";
|
||||
//
|
||||
// configureButton
|
||||
//
|
||||
this.configureButton.Location = new System.Drawing.Point(196, 67);
|
||||
this.configureButton.Name = "configureButton";
|
||||
this.configureButton.Size = new System.Drawing.Size(95, 43);
|
||||
this.configureButton.TabIndex = 3;
|
||||
this.configureButton.Text = "Configure";
|
||||
this.configureButton.UseVisualStyleBackColor = true;
|
||||
this.configureButton.Click += new System.EventHandler(this.configureButton_Click);
|
||||
//
|
||||
// cancelButton
|
||||
//
|
||||
this.cancelButton.Location = new System.Drawing.Point(306, 67);
|
||||
this.cancelButton.Name = "cancelButton";
|
||||
this.cancelButton.Size = new System.Drawing.Size(95, 43);
|
||||
this.cancelButton.TabIndex = 4;
|
||||
this.cancelButton.Text = "Cancel";
|
||||
this.cancelButton.UseVisualStyleBackColor = true;
|
||||
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
|
||||
//
|
||||
// PrinterConfigDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(416, 122);
|
||||
this.Controls.Add(this.cancelButton);
|
||||
this.Controls.Add(this.configureButton);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Controls.Add(this.changePrinterClassButton);
|
||||
this.Controls.Add(this.printerClassComboBox);
|
||||
this.Name = "PrinterConfigDlg";
|
||||
this.Text = "Printer configuration";
|
||||
this.Load += new System.EventHandler(this.PrinterClassDlg_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
@@ -120,6 +108,5 @@
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button configureButton;
|
||||
private System.Windows.Forms.Button cancelButton;
|
||||
private System.Windows.Forms.Button importButton;
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,6 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using Config.Entities;
|
||||
using TBF.BenchControl;
|
||||
using TBF.BenchControl.Generic;
|
||||
|
||||
@@ -92,7 +90,7 @@ namespace ResultsBrowser.Forms
|
||||
cfgControl.Config.ItemNr = 0;
|
||||
|
||||
TBF.ComponentParametersDlg cfgForm = new TBF.ComponentParametersDlg();
|
||||
cfgForm.TbfComponents = new List<Component>();
|
||||
cfgForm.TbfComponents = new List<Config.Entities.Component>();
|
||||
|
||||
cfgForm.ComponentCfgCtrl = cfgControl;
|
||||
cfgForm.UnlockAfterStart = true;
|
||||
@@ -106,65 +104,23 @@ namespace ResultsBrowser.Forms
|
||||
}
|
||||
|
||||
|
||||
private void importButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
string oriClassName = PrinterClass;
|
||||
/// <summary>
|
||||
/// Updates component factory
|
||||
/// </summary>
|
||||
/// <param name="className">Component class name</param>
|
||||
/// <param name="factory">Reference to a factory</param>
|
||||
/// <returns>true when factory changed</returns>
|
||||
IComponentFactory GetFactory(string className)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(className))
|
||||
{
|
||||
foreach (var fac in TbfComponents.Factories)
|
||||
{
|
||||
if (fac.ClassName == className) return fac;
|
||||
}
|
||||
}
|
||||
|
||||
OpenFileDialog dlg = new OpenFileDialog();
|
||||
if (dlg.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
/// Import a procedure from a file
|
||||
Component newComponent = Component.Import(new StreamReader(dlg.FileName, System.Text.Encoding.UTF8));
|
||||
|
||||
bool classIsOK = false;
|
||||
foreach (var pc in printerFactories)
|
||||
{
|
||||
if (newComponent.ClassName == pc.ClassName) { classIsOK = true; break; }
|
||||
}
|
||||
|
||||
if (classIsOK)
|
||||
{
|
||||
printerClassComboBox.Text = newComponent.ClassName;
|
||||
|
||||
IComponentCfg printerCfg = TbfComponents.CmpntCfgFromCmpntEntity(newComponent);
|
||||
if (printerCfg != null)
|
||||
{
|
||||
PrinterClass = newComponent.ClassName;
|
||||
PrinterCfg = printerCfg.CreateDbEntity().Parameters;
|
||||
DialogResult = DialogResult.OK;
|
||||
Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Importing printer configuration failed, file is corrupt.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("Invalid class of the imported component.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Updates component factory
|
||||
/// </summary>
|
||||
/// <param name="className">Component class name</param>
|
||||
/// <param name="factory">Reference to a factory</param>
|
||||
/// <returns>true when factory changed</returns>
|
||||
IComponentFactory GetFactory(string className)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(className))
|
||||
{
|
||||
foreach (var fac in TbfComponents.Factories)
|
||||
{
|
||||
if (fac.ClassName == className) return fac;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
///
|
||||
/// Copyright (c) 2016-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using Results.Entities;
|
||||
@@ -14,7 +11,22 @@ namespace ResultsBrowser.Forms
|
||||
public partial class StatisticsDlg : Form
|
||||
{
|
||||
IList<WaterMeter> waterMeters;
|
||||
StatisticsOptionsDlg options;
|
||||
|
||||
bool twoDim;
|
||||
|
||||
Results.WMeterRsltItemSpec rowItem;
|
||||
Results.WMeterRsltItemSpec rowItem2;
|
||||
Results.WMeterRsltItemSpec rowItem3;
|
||||
Results.WMeterRsltItemSpec columnItem;
|
||||
Results.WMeterRsltItemSpec columnItem2;
|
||||
Results.WMeterRsltItemSpec columnItem3;
|
||||
|
||||
string rowTestSpec;
|
||||
string rowTestSpec2;
|
||||
string rowTestSpec3;
|
||||
string columnTestSpec;
|
||||
string columnTestSpec2;
|
||||
string columnTestSpec3;
|
||||
|
||||
IList<string> rowValues;
|
||||
IList<string> columnValues;
|
||||
@@ -24,14 +36,23 @@ namespace ResultsBrowser.Forms
|
||||
string title;
|
||||
|
||||
|
||||
public StatisticsDlg(IList<WaterMeter> waterMeters, StatisticsOptionsDlg options,
|
||||
public StatisticsDlg(IList<WaterMeter> waterMeters, bool twoDim,
|
||||
Results.WMeterRsltItemSpec rowItem,
|
||||
Results.WMeterRsltItemSpec rowItem2,
|
||||
Results.WMeterRsltItemSpec rowItem3,
|
||||
Results.WMeterRsltItemSpec columnItem,
|
||||
Results.WMeterRsltItemSpec columnItem2,
|
||||
Results.WMeterRsltItemSpec columnItem3,
|
||||
string rowTestSpec,
|
||||
string rowTestSpec2,
|
||||
string rowTestSpec3,
|
||||
string columnTestSpec,
|
||||
string columnTestSpec2,
|
||||
string columnTestSpec3,
|
||||
DateTime startDate, DateTime endDate)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
this.waterMeters = waterMeters;
|
||||
this.options = options;
|
||||
|
||||
if (!string.IsNullOrEmpty(Program.LocalSettings.TimePeriodFormat) && (startDate != new DateTime(0)) && (endDate != new DateTime(0)))
|
||||
{
|
||||
title = string.Format(Program.LocalSettings.TimePeriodFormat, startDate, endDate);
|
||||
@@ -45,6 +66,26 @@ namespace ResultsBrowser.Forms
|
||||
|
||||
closeButton.Text = Strings.OkBtnText;
|
||||
printButton.Text = Strings.Print;
|
||||
|
||||
this.waterMeters = waterMeters;
|
||||
|
||||
this.twoDim = twoDim;
|
||||
|
||||
this.rowItem = rowItem;
|
||||
this.rowItem2 = rowItem2;
|
||||
this.rowItem3 = rowItem3;
|
||||
|
||||
this.columnItem = columnItem;
|
||||
this.columnItem2 = columnItem2;
|
||||
this.columnItem3 = columnItem3;
|
||||
|
||||
this.rowTestSpec = rowTestSpec;
|
||||
this.rowTestSpec2 = rowTestSpec2;
|
||||
this.rowTestSpec3 = rowTestSpec3;
|
||||
|
||||
this.columnTestSpec = columnTestSpec;
|
||||
this.columnTestSpec2 = columnTestSpec2;
|
||||
this.columnTestSpec3 = columnTestSpec3;
|
||||
}
|
||||
|
||||
private void StatisticsDlg_Load(object sender, EventArgs e)
|
||||
@@ -64,16 +105,16 @@ namespace ResultsBrowser.Forms
|
||||
///
|
||||
foreach (var wm in waterMeters)
|
||||
{
|
||||
string value = options.RowItem.Print(wm);
|
||||
if (options.RowItem2 != null) value = value + " | " + options.RowItem2.Print(wm);
|
||||
if (options.RowItem3 != null) value = value + " | " + options.RowItem3.Print(wm);
|
||||
string value = rowItem.Print(wm);
|
||||
if (rowItem2 != null) value = value + " | " + rowItem2.Print(wm);
|
||||
if (rowItem3 != null) value = value + " | " + rowItem3.Print(wm);
|
||||
if (!rowValues.Contains(value)) rowValues.Add(value);
|
||||
|
||||
if (options.TwoDim)
|
||||
if (twoDim)
|
||||
{
|
||||
value = options.ColumnItem.Print(wm);
|
||||
if (options.ColumnItem2 != null) value = value + " | " + options.ColumnItem2.Print(wm);
|
||||
if (options.ColumnItem3 != null) value = value + " | " + options.ColumnItem3.Print(wm);
|
||||
value = columnItem.Print(wm);
|
||||
if (columnItem2 != null) value = value + " | " + columnItem2.Print(wm);
|
||||
if (columnItem3 != null) value = value + " | " + columnItem3.Print(wm);
|
||||
if (!columnValues.Contains(value)) columnValues.Add(value);
|
||||
}
|
||||
}
|
||||
@@ -88,17 +129,17 @@ namespace ResultsBrowser.Forms
|
||||
{
|
||||
for (int row = 0; row < rowValues.Count; row++)
|
||||
{
|
||||
string rowValue = options.RowItem.Print(wm);
|
||||
if (options.RowItem2 != null) rowValue = rowValue + " | " + options.RowItem2.Print(wm);
|
||||
if (options.RowItem3 != null) rowValue = rowValue + " | " + options.RowItem3.Print(wm);
|
||||
string rowValue = rowItem.Print(wm);
|
||||
if (rowItem2 != null) rowValue = rowValue + " | " + rowItem2.Print(wm);
|
||||
if (rowItem3 != null) rowValue = rowValue + " | " + rowItem3.Print(wm);
|
||||
|
||||
if (options.TwoDim)
|
||||
if (twoDim)
|
||||
{
|
||||
for (int column = 0; column < columnsCount; column++)
|
||||
{
|
||||
string columnValue = options.ColumnItem.Print(wm);
|
||||
if (options.ColumnItem2 != null) columnValue = columnValue + " | " + options.ColumnItem2.Print(wm);
|
||||
if (options.ColumnItem3 != null) columnValue = columnValue + " | " + options.ColumnItem3.Print(wm);
|
||||
string columnValue = columnItem.Print(wm);
|
||||
if (columnItem2 != null) columnValue = columnValue + " | " + columnItem2.Print(wm);
|
||||
if (columnItem3 != null) columnValue = columnValue + " | " + columnItem3.Print(wm);
|
||||
|
||||
if (rowValue == rowValues[row] && columnValue == columnValues[column])
|
||||
{
|
||||
@@ -123,7 +164,7 @@ namespace ResultsBrowser.Forms
|
||||
statisticsListView.Columns.Add(" ", 200);
|
||||
for (int column = 0; column < columnsCount; column++)
|
||||
{
|
||||
statisticsListView.Columns.Add((options.TwoDim ? columnValues[column] : Strings.Count), 70);
|
||||
statisticsListView.Columns.Add((twoDim ? columnValues[column] : Strings.Count), 70);
|
||||
}
|
||||
|
||||
for (int row = 0; row < rowValues.Count; row++)
|
||||
@@ -156,7 +197,7 @@ namespace ResultsBrowser.Forms
|
||||
table[0, 0] = string.Empty;
|
||||
for (int column = 0; column < columnsCount; column++)
|
||||
{
|
||||
table[0, column + 1] = (options.TwoDim ? columnValues[column] : Strings.Count);
|
||||
table[0, column + 1] = (twoDim ? columnValues[column] : Strings.Count);
|
||||
}
|
||||
|
||||
for (int row = 0; row < rowValues.Count; row++)
|
||||
@@ -193,7 +234,7 @@ namespace ResultsBrowser.Forms
|
||||
{
|
||||
using (TextWriter writer = new StreamWriter(dlg.FileName, false, System.Text.Encoding.UTF8))
|
||||
{
|
||||
if (options.TwoDim)
|
||||
if (twoDim)
|
||||
{
|
||||
/// Write column headers
|
||||
for (int i = 0; i < columnValues.Count; i++)
|
||||
@@ -204,7 +245,7 @@ namespace ResultsBrowser.Forms
|
||||
}
|
||||
else
|
||||
{
|
||||
writer.WriteLine(string.Format("\"{0}\";\"{1}\"", options.RowItem.Caption, Strings.Count));
|
||||
writer.WriteLine(string.Format("\"{0}\";\"{1}\"", rowItem.Caption, Strings.Count));
|
||||
}
|
||||
|
||||
int nrColumns = Math.Max(1, columnValues.Count);
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
///
|
||||
/// Copyright (c) 2016-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using ResultsBrowser.Resources;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
/// Copyright (c) 2015 Sensus Metering Systems
|
||||
///
|
||||
using System;
|
||||
using System.IO;
|
||||
@@ -29,7 +29,6 @@ namespace ResultsBrowser
|
||||
public string Bench3;
|
||||
public string Bench4;
|
||||
public string Bench5;
|
||||
public string Bench6;
|
||||
|
||||
/// Database settings of servers.
|
||||
public string ConnectionString1;
|
||||
@@ -37,14 +36,12 @@ namespace ResultsBrowser
|
||||
public string ConnectionString3;
|
||||
public string ConnectionString4;
|
||||
public string ConnectionString5;
|
||||
public string ConnectionString6;
|
||||
|
||||
public bool Bench1Selected;
|
||||
public bool Bench2Selected;
|
||||
public bool Bench3Selected;
|
||||
public bool Bench4Selected;
|
||||
public bool Bench5Selected;
|
||||
public bool Bench6Selected;
|
||||
|
||||
public string TimePeriodFormat;
|
||||
|
||||
@@ -109,21 +106,6 @@ namespace ResultsBrowser
|
||||
|
||||
public LocalSettings()
|
||||
{
|
||||
#if TURA_IPERL || TURA_SPECIAL
|
||||
Bench1 = "WR10";
|
||||
Bench2 = "WR11";
|
||||
Bench3 = "WR13";
|
||||
Bench4 = "WR14";
|
||||
Bench5 = "WR15";
|
||||
Bench6 = "PT7";
|
||||
ConnectionString1 = "SERVER=10.42.128.93; DATABASE=st-wr10-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
|
||||
ConnectionString2 = "SERVER=10.42.128.102; DATABASE=st-wr11-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
|
||||
ConnectionString3 = "SERVER=10.42.128.89; DATABASE=st-wr13-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
|
||||
ConnectionString4 = "SERVER=10.42.128.213; DATABASE=st-wr14-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
|
||||
ConnectionString5 = "SERVER=10.42.128.214; DATABASE=st-wr15-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
|
||||
ConnectionString6 = "SERVER=10.42.129.26; DATABASE=iperlspecial-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;";
|
||||
Language = "SK";
|
||||
#endif
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
+29
-27
@@ -14,26 +14,25 @@ namespace ResultsBrowser
|
||||
{
|
||||
public class Program
|
||||
{
|
||||
static ILog log; /// log4net
|
||||
|
||||
/// Program information
|
||||
public static string Version; /// version string
|
||||
public static DateTime BuildDateTime; /// date and time of program build
|
||||
|
||||
/// Local settings
|
||||
public static string ExecutableDirectory;
|
||||
public static string ConfigDirectory;
|
||||
public static string LogDirectory;
|
||||
public static string LocalSettingsFileName;
|
||||
public static string LocalSettingsBackupName;
|
||||
public static readonly string ExecutableDirectory;
|
||||
public static readonly string ConfigDirectory;
|
||||
public static readonly string LogDirectory;
|
||||
public static readonly string LocalSettingsFileName;
|
||||
public static readonly string LocalSettingsBackupName;
|
||||
public static LocalSettings LocalSettings;
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
|
||||
public static System.Globalization.CultureInfo AltCulture;
|
||||
|
||||
static readonly ILog log; /// log4net
|
||||
|
||||
static Program()
|
||||
{
|
||||
/// Program version string
|
||||
System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();
|
||||
Version ver = thisAssembly.GetName().Version;
|
||||
@@ -42,26 +41,26 @@ namespace ResultsBrowser
|
||||
|
||||
/// Local program configuration directory including the trailing backslash
|
||||
ExecutableDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
|
||||
#if false
|
||||
/// Config directory is a sibling directory of the executable directory
|
||||
ConfigDirectory = Path.Combine(ExecutableDirectory, "..", string.Format("Cfg{0}", (args.Length >= 1) ? args[0] : string.Empty));
|
||||
ConfigDirectory = Path.Combine(ExecutableDirectory, "..\\Cfg\\");
|
||||
LogDirectory = Path.Combine(ExecutableDirectory, "..\\Log\\");
|
||||
#else
|
||||
/// Config directory is a directory in 'C:\Users\username\AppData\Local' folder
|
||||
ConfigDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
|
||||
string.Format("ResultsBrowser{0}", (args.Length >= 1) ? args[0] : string.Empty));
|
||||
LogDirectory = "C:\\Temp\\ResultsBrowserLog\\";
|
||||
#endif
|
||||
LocalSettingsFileName = Path.Combine(ConfigDirectory, "config.xml");
|
||||
LocalSettingsBackupName = Path.Combine(ConfigDirectory, "config.backup.xml");
|
||||
LocalSettingsFileName = ConfigDirectory + "config.xml";
|
||||
LocalSettingsBackupName = ConfigDirectory + "config.backup.xml";
|
||||
|
||||
/// Configue and start logging
|
||||
log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(ConfigDirectory + "log4netConfig.xml"));
|
||||
log = LogManager.GetLogger(typeof(Program));
|
||||
log.Fatal("------------------------------------------------------------------------------------------------");
|
||||
log.Fatal("started");
|
||||
|
||||
///
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
///
|
||||
/// Load the local settings
|
||||
///
|
||||
LocalSettings = LocalSettings.Load(Program.LocalSettingsFileName);
|
||||
@@ -94,7 +93,7 @@ namespace ResultsBrowser
|
||||
|
||||
try
|
||||
{
|
||||
string culture = (LocalSettings.Language != null) ? LocalSettings.Language.Replace('_', '-') : "EN";
|
||||
string culture = LocalSettings.Language.Replace('_', '-');
|
||||
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
|
||||
}
|
||||
catch (Exception e)
|
||||
@@ -108,6 +107,9 @@ namespace ResultsBrowser
|
||||
new System.Globalization.CultureInfo("en");
|
||||
}
|
||||
|
||||
//AltCulture = null;
|
||||
AltCulture = new System.Globalization.CultureInfo("SK");
|
||||
|
||||
|
||||
/// This belongs to Application.Run(new MainWnd()) ...
|
||||
/// and should be executed before opening 'loginDlg'
|
||||
|
||||
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.18.1146.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1146.0")]
|
||||
[assembly: AssemblyVersion("2.18.995.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.995.0")]
|
||||
|
||||
@@ -237,10 +237,4 @@
|
||||
<data name="Print" xml:space="preserve">
|
||||
<value>Vytisknout</value>
|
||||
</data>
|
||||
<data name="Add_data_from_Oracle" xml:space="preserve">
|
||||
<value>Dohledej údaje z Oracle</value>
|
||||
</data>
|
||||
<data name="Histograms" xml:space="preserve">
|
||||
<value>Histogramy</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -825,10 +825,4 @@
|
||||
<data name="Error_exporting_results" xml:space="preserve">
|
||||
<value>Error exporting results</value>
|
||||
</data>
|
||||
<data name="Add_data_from_Oracle" xml:space="preserve">
|
||||
<value>Add data from Oracle</value>
|
||||
</data>
|
||||
<data name="Histograms" xml:space="preserve">
|
||||
<value>Histograms</value>
|
||||
</data>
|
||||
</root>
|
||||
-18
@@ -105,15 +105,6 @@ namespace ResultsBrowser.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Add data from Oracle.
|
||||
/// </summary>
|
||||
internal static string Add_data_from_Oracle {
|
||||
get {
|
||||
return ResourceManager.GetString("Add_data_from_Oracle", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Add filter.
|
||||
/// </summary>
|
||||
@@ -1257,15 +1248,6 @@ namespace ResultsBrowser.Resources {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Histograms.
|
||||
/// </summary>
|
||||
internal static string Histograms {
|
||||
get {
|
||||
return ResourceManager.GetString("Histograms", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Horizontally.
|
||||
/// </summary>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>TRACE;DEBUG;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<DefineConstants>TRACE;DEBUG;SENTEC</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
||||
@@ -31,7 +31,7 @@
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE;TURA_SPECIAL;IPERL;ORACLE_DB;LANG_SK</DefineConstants>
|
||||
<DefineConstants>TRACE;SENTEC</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
@@ -60,7 +60,6 @@
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Windows.Forms.DataVisualization" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
@@ -71,13 +70,6 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Filters\BatchNrFilter.cs" />
|
||||
<Compile Include="Filters\BatchNrFilterUI.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Filters\BatchNrFilterUI.designer.cs">
|
||||
<DependentUpon>BatchNrFilterUI.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Filters\DateFilterUI.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
@@ -115,13 +107,6 @@
|
||||
<Compile Include="Filters\SerialNrFilterUI.Designer.cs">
|
||||
<DependentUpon>SerialNrFilterUI.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Filters\WMPositionFilter.cs" />
|
||||
<Compile Include="Filters\WMPositionFilterUI.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Filters\WMPositionFilterUI.designer.cs">
|
||||
<DependentUpon>WMPositionFilterUI.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\AddFilterDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -134,24 +119,6 @@
|
||||
<Compile Include="Forms\DatabaseSettingsDlg.Designer.cs">
|
||||
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\HistogramCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\HistogramCtrl.Designer.cs">
|
||||
<DependentUpon>HistogramCtrl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\HistogramDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\HistogramDlg.Designer.cs">
|
||||
<DependentUpon>HistogramDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\HistogramOptionsDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\HistogramOptionsDlg.Designer.cs">
|
||||
<DependentUpon>HistogramOptionsDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Forms\NoBenchOrDatabaseDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -194,9 +161,6 @@
|
||||
<Compile Include="ResultsBrowserWnd.Designer.cs">
|
||||
<DependentUpon>ResultsBrowserWnd.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Filters\BatchNrFilterUI.resx">
|
||||
<DependentUpon>BatchNrFilterUI.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Filters\DateFilterUI.resx">
|
||||
<DependentUpon>DateFilterUI.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -212,24 +176,12 @@
|
||||
<EmbeddedResource Include="Filters\SerialNrFilterUI.resx">
|
||||
<DependentUpon>SerialNrFilterUI.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Filters\WMPositionFilterUI.resx">
|
||||
<DependentUpon>WMPositionFilterUI.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\AddFilterDlg.resx">
|
||||
<DependentUpon>AddFilterDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\DatabaseSettingsDlg.resx">
|
||||
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\HistogramCtrl.resx">
|
||||
<DependentUpon>HistogramCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\HistogramDlg.resx">
|
||||
<DependentUpon>HistogramDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\HistogramOptionsDlg.resx">
|
||||
<DependentUpon>HistogramOptionsDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Forms\NoBenchOrDatabaseDlg.resx">
|
||||
<DependentUpon>NoBenchOrDatabaseDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+331
-387
@@ -28,389 +28,337 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.vSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.hSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.filtersGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.filtersFlowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.resultsGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.resultsListView = new System.Windows.Forms.ListView();
|
||||
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||
this.histogramBtn = new System.Windows.Forms.Button();
|
||||
this.statisticsBtn = new System.Windows.Forms.Button();
|
||||
this.outputGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.exportQueryResultsBtn = new System.Windows.Forms.Button();
|
||||
this.printQueryResultsBtn = new System.Windows.Forms.Button();
|
||||
this.printerConfigBtn = new System.Windows.Forms.Button();
|
||||
this.formatOfResultsBtn = new System.Windows.Forms.Button();
|
||||
this.clearFiltersBtn = new System.Windows.Forms.Button();
|
||||
this.settingsBtn = new System.Windows.Forms.Button();
|
||||
this.saveConfigBtn = new System.Windows.Forms.Button();
|
||||
this.loadConfigBtn = new System.Windows.Forms.Button();
|
||||
this.executeQueryBtn = new System.Windows.Forms.Button();
|
||||
this.addFilterBtn = new System.Windows.Forms.Button();
|
||||
this.testBenchesGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.checkBox6 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox5 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox4 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox3 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox2 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox1 = new System.Windows.Forms.RadioButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.vSplitContainer)).BeginInit();
|
||||
this.vSplitContainer.Panel1.SuspendLayout();
|
||||
this.vSplitContainer.Panel2.SuspendLayout();
|
||||
this.vSplitContainer.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.hSplitContainer)).BeginInit();
|
||||
this.hSplitContainer.Panel1.SuspendLayout();
|
||||
this.hSplitContainer.Panel2.SuspendLayout();
|
||||
this.hSplitContainer.SuspendLayout();
|
||||
this.filtersGroupBox.SuspendLayout();
|
||||
this.resultsGroupBox.SuspendLayout();
|
||||
this.groupBox1.SuspendLayout();
|
||||
this.outputGroupBox.SuspendLayout();
|
||||
this.testBenchesGroupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// vSplitContainer
|
||||
//
|
||||
this.vSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.vSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.vSplitContainer.Location = new System.Drawing.Point(0, 0);
|
||||
this.vSplitContainer.Name = "vSplitContainer";
|
||||
//
|
||||
// vSplitContainer.Panel1
|
||||
//
|
||||
this.vSplitContainer.Panel1.Controls.Add(this.hSplitContainer);
|
||||
this.vSplitContainer.Panel1MinSize = 100;
|
||||
//
|
||||
// vSplitContainer.Panel2
|
||||
//
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.groupBox1);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.outputGroupBox);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.printerConfigBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.formatOfResultsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.clearFiltersBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.settingsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.saveConfigBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.loadConfigBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.executeQueryBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.addFilterBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.testBenchesGroupBox);
|
||||
this.vSplitContainer.Panel2MinSize = 100;
|
||||
this.vSplitContainer.Size = new System.Drawing.Size(984, 712);
|
||||
this.vSplitContainer.SplitterDistance = 840;
|
||||
this.vSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// hSplitContainer
|
||||
//
|
||||
this.hSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.hSplitContainer.Location = new System.Drawing.Point(0, 0);
|
||||
this.hSplitContainer.Name = "hSplitContainer";
|
||||
this.hSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// hSplitContainer.Panel1
|
||||
//
|
||||
this.hSplitContainer.Panel1.Controls.Add(this.filtersGroupBox);
|
||||
//
|
||||
// hSplitContainer.Panel2
|
||||
//
|
||||
this.hSplitContainer.Panel2.Controls.Add(this.resultsGroupBox);
|
||||
this.hSplitContainer.Size = new System.Drawing.Size(840, 712);
|
||||
this.hSplitContainer.SplitterDistance = 280;
|
||||
this.hSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// filtersGroupBox
|
||||
//
|
||||
this.filtersGroupBox.Controls.Add(this.filtersFlowLayoutPanel);
|
||||
this.filtersGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.filtersGroupBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.filtersGroupBox.Name = "filtersGroupBox";
|
||||
this.filtersGroupBox.Size = new System.Drawing.Size(840, 280);
|
||||
this.filtersGroupBox.TabIndex = 1;
|
||||
this.filtersGroupBox.TabStop = false;
|
||||
this.filtersGroupBox.Text = "Filters";
|
||||
//
|
||||
// filtersFlowLayoutPanel
|
||||
//
|
||||
this.filtersFlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.filtersFlowLayoutPanel.Location = new System.Drawing.Point(3, 16);
|
||||
this.filtersFlowLayoutPanel.Name = "filtersFlowLayoutPanel";
|
||||
this.filtersFlowLayoutPanel.Size = new System.Drawing.Size(834, 261);
|
||||
this.filtersFlowLayoutPanel.TabIndex = 0;
|
||||
//
|
||||
// resultsGroupBox
|
||||
//
|
||||
this.resultsGroupBox.Controls.Add(this.resultsListView);
|
||||
this.resultsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.resultsGroupBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.resultsGroupBox.Name = "resultsGroupBox";
|
||||
this.resultsGroupBox.Size = new System.Drawing.Size(840, 428);
|
||||
this.resultsGroupBox.TabIndex = 1;
|
||||
this.resultsGroupBox.TabStop = false;
|
||||
this.resultsGroupBox.Text = "Query results";
|
||||
//
|
||||
// resultsListView
|
||||
//
|
||||
this.resultsListView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.resultsListView.Location = new System.Drawing.Point(3, 16);
|
||||
this.resultsListView.Name = "resultsListView";
|
||||
this.resultsListView.Size = new System.Drawing.Size(834, 409);
|
||||
this.resultsListView.TabIndex = 0;
|
||||
this.resultsListView.UseCompatibleStateImageBehavior = false;
|
||||
this.resultsListView.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// groupBox1
|
||||
//
|
||||
this.groupBox1.Controls.Add(this.histogramBtn);
|
||||
this.groupBox1.Controls.Add(this.statisticsBtn);
|
||||
this.groupBox1.Location = new System.Drawing.Point(8, 608);
|
||||
this.groupBox1.Name = "groupBox1";
|
||||
this.groupBox1.Size = new System.Drawing.Size(125, 93);
|
||||
this.groupBox1.TabIndex = 13;
|
||||
this.groupBox1.TabStop = false;
|
||||
this.groupBox1.Text = "Analysis";
|
||||
//
|
||||
// histogramBtn
|
||||
//
|
||||
this.histogramBtn.Location = new System.Drawing.Point(5, 55);
|
||||
this.histogramBtn.Name = "histogramBtn";
|
||||
this.histogramBtn.Size = new System.Drawing.Size(114, 32);
|
||||
this.histogramBtn.TabIndex = 11;
|
||||
this.histogramBtn.Text = "Histograms";
|
||||
this.histogramBtn.UseVisualStyleBackColor = true;
|
||||
this.histogramBtn.Click += new System.EventHandler(this.histogramBtn_Click);
|
||||
//
|
||||
// statisticsBtn
|
||||
//
|
||||
this.statisticsBtn.Location = new System.Drawing.Point(5, 18);
|
||||
this.statisticsBtn.Name = "statisticsBtn";
|
||||
this.statisticsBtn.Size = new System.Drawing.Size(114, 32);
|
||||
this.statisticsBtn.TabIndex = 10;
|
||||
this.statisticsBtn.Text = "Statistics";
|
||||
this.statisticsBtn.UseVisualStyleBackColor = true;
|
||||
this.statisticsBtn.Click += new System.EventHandler(this.statisticsBtn_Click);
|
||||
//
|
||||
// outputGroupBox
|
||||
//
|
||||
this.outputGroupBox.Controls.Add(this.exportQueryResultsBtn);
|
||||
this.outputGroupBox.Controls.Add(this.printQueryResultsBtn);
|
||||
this.outputGroupBox.Location = new System.Drawing.Point(8, 509);
|
||||
this.outputGroupBox.Name = "outputGroupBox";
|
||||
this.outputGroupBox.Size = new System.Drawing.Size(125, 93);
|
||||
this.outputGroupBox.TabIndex = 12;
|
||||
this.outputGroupBox.TabStop = false;
|
||||
this.outputGroupBox.Text = "Output";
|
||||
//
|
||||
// exportQueryResultsBtn
|
||||
//
|
||||
this.exportQueryResultsBtn.Location = new System.Drawing.Point(5, 18);
|
||||
this.exportQueryResultsBtn.Name = "exportQueryResultsBtn";
|
||||
this.exportQueryResultsBtn.Size = new System.Drawing.Size(114, 32);
|
||||
this.exportQueryResultsBtn.TabIndex = 8;
|
||||
this.exportQueryResultsBtn.Text = "Export query results";
|
||||
this.exportQueryResultsBtn.UseVisualStyleBackColor = true;
|
||||
this.exportQueryResultsBtn.Click += new System.EventHandler(this.exportQueryResultsBtn_Click);
|
||||
//
|
||||
// printQueryResultsBtn
|
||||
//
|
||||
this.printQueryResultsBtn.Location = new System.Drawing.Point(5, 55);
|
||||
this.printQueryResultsBtn.Name = "printQueryResultsBtn";
|
||||
this.printQueryResultsBtn.Size = new System.Drawing.Size(113, 32);
|
||||
this.printQueryResultsBtn.TabIndex = 9;
|
||||
this.printQueryResultsBtn.Text = "Print query results";
|
||||
this.printQueryResultsBtn.UseVisualStyleBackColor = true;
|
||||
this.printQueryResultsBtn.Click += new System.EventHandler(this.printQueryResultsBtn_Click);
|
||||
//
|
||||
// printerConfigBtn
|
||||
//
|
||||
this.printerConfigBtn.Location = new System.Drawing.Point(8, 316);
|
||||
this.printerConfigBtn.Name = "printerConfigBtn";
|
||||
this.printerConfigBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.printerConfigBtn.TabIndex = 11;
|
||||
this.printerConfigBtn.Text = "Configure printer";
|
||||
this.printerConfigBtn.UseVisualStyleBackColor = true;
|
||||
this.printerConfigBtn.Click += new System.EventHandler(this.printerConfigBtn_Click);
|
||||
//
|
||||
// formatOfResultsBtn
|
||||
//
|
||||
this.formatOfResultsBtn.Location = new System.Drawing.Point(8, 276);
|
||||
this.formatOfResultsBtn.Name = "formatOfResultsBtn";
|
||||
this.formatOfResultsBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.formatOfResultsBtn.TabIndex = 7;
|
||||
this.formatOfResultsBtn.Text = "Configure output";
|
||||
this.formatOfResultsBtn.UseVisualStyleBackColor = true;
|
||||
this.formatOfResultsBtn.Click += new System.EventHandler(this.formatOfResultsBtn_Click);
|
||||
//
|
||||
// clearFiltersBtn
|
||||
//
|
||||
this.clearFiltersBtn.Location = new System.Drawing.Point(8, 196);
|
||||
this.clearFiltersBtn.Name = "clearFiltersBtn";
|
||||
this.clearFiltersBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.clearFiltersBtn.TabIndex = 2;
|
||||
this.clearFiltersBtn.Text = "Clear filters";
|
||||
this.clearFiltersBtn.UseVisualStyleBackColor = true;
|
||||
this.clearFiltersBtn.Click += new System.EventHandler(this.clearFiltersBtn_Click);
|
||||
//
|
||||
// settingsBtn
|
||||
//
|
||||
this.settingsBtn.Location = new System.Drawing.Point(8, 12);
|
||||
this.settingsBtn.Name = "settingsBtn";
|
||||
this.settingsBtn.Size = new System.Drawing.Size(125, 33);
|
||||
this.settingsBtn.TabIndex = 0;
|
||||
this.settingsBtn.Text = "Settings";
|
||||
this.settingsBtn.UseVisualStyleBackColor = true;
|
||||
this.settingsBtn.Click += new System.EventHandler(this.settingsBtn_Click);
|
||||
//
|
||||
// saveConfigBtn
|
||||
//
|
||||
this.saveConfigBtn.Location = new System.Drawing.Point(8, 356);
|
||||
this.saveConfigBtn.Name = "saveConfigBtn";
|
||||
this.saveConfigBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.saveConfigBtn.TabIndex = 5;
|
||||
this.saveConfigBtn.Text = "Save configuration";
|
||||
this.saveConfigBtn.UseVisualStyleBackColor = true;
|
||||
this.saveConfigBtn.Click += new System.EventHandler(this.saveConfigBtn_Click);
|
||||
//
|
||||
// loadConfigBtn
|
||||
//
|
||||
this.loadConfigBtn.Location = new System.Drawing.Point(8, 396);
|
||||
this.loadConfigBtn.Name = "loadConfigBtn";
|
||||
this.loadConfigBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.loadConfigBtn.TabIndex = 4;
|
||||
this.loadConfigBtn.Text = "Load configuration";
|
||||
this.loadConfigBtn.UseVisualStyleBackColor = true;
|
||||
this.loadConfigBtn.Click += new System.EventHandler(this.loadConfigBtn_Click);
|
||||
//
|
||||
// executeQueryBtn
|
||||
//
|
||||
this.executeQueryBtn.Location = new System.Drawing.Point(8, 468);
|
||||
this.executeQueryBtn.Name = "executeQueryBtn";
|
||||
this.executeQueryBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.executeQueryBtn.TabIndex = 6;
|
||||
this.executeQueryBtn.Text = "Execute query";
|
||||
this.executeQueryBtn.UseVisualStyleBackColor = true;
|
||||
this.executeQueryBtn.Click += new System.EventHandler(this.executeQueryBtn_Click);
|
||||
//
|
||||
// addFilterBtn
|
||||
//
|
||||
this.addFilterBtn.Location = new System.Drawing.Point(8, 236);
|
||||
this.addFilterBtn.Name = "addFilterBtn";
|
||||
this.addFilterBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.addFilterBtn.TabIndex = 3;
|
||||
this.addFilterBtn.Text = "Add filter";
|
||||
this.addFilterBtn.UseVisualStyleBackColor = true;
|
||||
this.addFilterBtn.Click += new System.EventHandler(this.addFilterBtn_Click);
|
||||
//
|
||||
// testBenchesGroupBox
|
||||
//
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox6);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox5);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox4);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox3);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox2);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox1);
|
||||
this.testBenchesGroupBox.Location = new System.Drawing.Point(8, 54);
|
||||
this.testBenchesGroupBox.Name = "testBenchesGroupBox";
|
||||
this.testBenchesGroupBox.Size = new System.Drawing.Size(125, 135);
|
||||
this.testBenchesGroupBox.TabIndex = 1;
|
||||
this.testBenchesGroupBox.TabStop = false;
|
||||
this.testBenchesGroupBox.Text = "Test benches";
|
||||
//
|
||||
// checkBox6
|
||||
//
|
||||
this.checkBox6.AutoSize = true;
|
||||
this.checkBox6.Location = new System.Drawing.Point(23, 110);
|
||||
this.checkBox6.Name = "checkBox6";
|
||||
this.checkBox6.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox6.TabIndex = 5;
|
||||
this.checkBox6.TabStop = true;
|
||||
this.checkBox6.Text = "radioButton6";
|
||||
this.checkBox6.UseVisualStyleBackColor = true;
|
||||
this.checkBox6.CheckedChanged += new System.EventHandler(this.checkBox6_CheckedChanged);
|
||||
//
|
||||
// checkBox5
|
||||
//
|
||||
this.checkBox5.AutoSize = true;
|
||||
this.checkBox5.Location = new System.Drawing.Point(23, 92);
|
||||
this.checkBox5.Name = "checkBox5";
|
||||
this.checkBox5.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox5.TabIndex = 4;
|
||||
this.checkBox5.TabStop = true;
|
||||
this.checkBox5.Text = "radioButton5";
|
||||
this.checkBox5.UseVisualStyleBackColor = true;
|
||||
this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged);
|
||||
//
|
||||
// checkBox4
|
||||
//
|
||||
this.checkBox4.AutoSize = true;
|
||||
this.checkBox4.Location = new System.Drawing.Point(23, 74);
|
||||
this.checkBox4.Name = "checkBox4";
|
||||
this.checkBox4.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox4.TabIndex = 3;
|
||||
this.checkBox4.TabStop = true;
|
||||
this.checkBox4.Text = "radioButton4";
|
||||
this.checkBox4.UseVisualStyleBackColor = true;
|
||||
this.checkBox4.CheckedChanged += new System.EventHandler(this.checkBox4_CheckedChanged);
|
||||
//
|
||||
// checkBox3
|
||||
//
|
||||
this.checkBox3.AutoSize = true;
|
||||
this.checkBox3.Location = new System.Drawing.Point(23, 55);
|
||||
this.checkBox3.Name = "checkBox3";
|
||||
this.checkBox3.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox3.TabIndex = 2;
|
||||
this.checkBox3.TabStop = true;
|
||||
this.checkBox3.Text = "radioButton3";
|
||||
this.checkBox3.UseVisualStyleBackColor = true;
|
||||
this.checkBox3.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged);
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AutoSize = true;
|
||||
this.checkBox2.Location = new System.Drawing.Point(23, 36);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox2.TabIndex = 1;
|
||||
this.checkBox2.TabStop = true;
|
||||
this.checkBox2.Text = "radioButton2";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(23, 17);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox1.TabIndex = 0;
|
||||
this.checkBox1.TabStop = true;
|
||||
this.checkBox1.Text = "radioButton1";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
|
||||
//
|
||||
// ResultsBrowserWnd
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(984, 712);
|
||||
this.Controls.Add(this.vSplitContainer);
|
||||
this.Name = "ResultsBrowserWnd";
|
||||
this.Text = "Results Browser";
|
||||
this.Load += new System.EventHandler(this.ResultsBrowserWnd_Load);
|
||||
this.vSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.vSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.vSplitContainer)).EndInit();
|
||||
this.vSplitContainer.ResumeLayout(false);
|
||||
this.hSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.hSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.hSplitContainer)).EndInit();
|
||||
this.hSplitContainer.ResumeLayout(false);
|
||||
this.filtersGroupBox.ResumeLayout(false);
|
||||
this.resultsGroupBox.ResumeLayout(false);
|
||||
this.groupBox1.ResumeLayout(false);
|
||||
this.outputGroupBox.ResumeLayout(false);
|
||||
this.testBenchesGroupBox.ResumeLayout(false);
|
||||
this.testBenchesGroupBox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
this.vSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.hSplitContainer = new System.Windows.Forms.SplitContainer();
|
||||
this.filtersGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.filtersFlowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
|
||||
this.resultsGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.resultsListView = new System.Windows.Forms.ListView();
|
||||
this.printerConfigBtn = new System.Windows.Forms.Button();
|
||||
this.statisticsBtn = new System.Windows.Forms.Button();
|
||||
this.printQueryResultsBtn = new System.Windows.Forms.Button();
|
||||
this.exportQueryResultsBtn = new System.Windows.Forms.Button();
|
||||
this.formatOfResultsBtn = new System.Windows.Forms.Button();
|
||||
this.clearFiltersBtn = new System.Windows.Forms.Button();
|
||||
this.settingsBtn = new System.Windows.Forms.Button();
|
||||
this.saveConfigBtn = new System.Windows.Forms.Button();
|
||||
this.loadConfigBtn = new System.Windows.Forms.Button();
|
||||
this.executeQueryBtn = new System.Windows.Forms.Button();
|
||||
this.addFilterBtn = new System.Windows.Forms.Button();
|
||||
this.testBenchesGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.checkBox5 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox4 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox3 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox2 = new System.Windows.Forms.RadioButton();
|
||||
this.checkBox1 = new System.Windows.Forms.RadioButton();
|
||||
((System.ComponentModel.ISupportInitialize)(this.vSplitContainer)).BeginInit();
|
||||
this.vSplitContainer.Panel1.SuspendLayout();
|
||||
this.vSplitContainer.Panel2.SuspendLayout();
|
||||
this.vSplitContainer.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.hSplitContainer)).BeginInit();
|
||||
this.hSplitContainer.Panel1.SuspendLayout();
|
||||
this.hSplitContainer.Panel2.SuspendLayout();
|
||||
this.hSplitContainer.SuspendLayout();
|
||||
this.filtersGroupBox.SuspendLayout();
|
||||
this.resultsGroupBox.SuspendLayout();
|
||||
this.testBenchesGroupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// vSplitContainer
|
||||
//
|
||||
this.vSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.vSplitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.vSplitContainer.Location = new System.Drawing.Point(0, 0);
|
||||
this.vSplitContainer.Name = "vSplitContainer";
|
||||
//
|
||||
// vSplitContainer.Panel1
|
||||
//
|
||||
this.vSplitContainer.Panel1.Controls.Add(this.hSplitContainer);
|
||||
this.vSplitContainer.Panel1MinSize = 100;
|
||||
//
|
||||
// vSplitContainer.Panel2
|
||||
//
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.printerConfigBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.statisticsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.printQueryResultsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.exportQueryResultsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.formatOfResultsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.clearFiltersBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.settingsBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.saveConfigBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.loadConfigBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.executeQueryBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.addFilterBtn);
|
||||
this.vSplitContainer.Panel2.Controls.Add(this.testBenchesGroupBox);
|
||||
this.vSplitContainer.Panel2MinSize = 100;
|
||||
this.vSplitContainer.Size = new System.Drawing.Size(984, 712);
|
||||
this.vSplitContainer.SplitterDistance = 840;
|
||||
this.vSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// hSplitContainer
|
||||
//
|
||||
this.hSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.hSplitContainer.Location = new System.Drawing.Point(0, 0);
|
||||
this.hSplitContainer.Name = "hSplitContainer";
|
||||
this.hSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// hSplitContainer.Panel1
|
||||
//
|
||||
this.hSplitContainer.Panel1.Controls.Add(this.filtersGroupBox);
|
||||
//
|
||||
// hSplitContainer.Panel2
|
||||
//
|
||||
this.hSplitContainer.Panel2.Controls.Add(this.resultsGroupBox);
|
||||
this.hSplitContainer.Size = new System.Drawing.Size(840, 712);
|
||||
this.hSplitContainer.SplitterDistance = 280;
|
||||
this.hSplitContainer.TabIndex = 0;
|
||||
//
|
||||
// filtersGroupBox
|
||||
//
|
||||
this.filtersGroupBox.Controls.Add(this.filtersFlowLayoutPanel);
|
||||
this.filtersGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.filtersGroupBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.filtersGroupBox.Name = "filtersGroupBox";
|
||||
this.filtersGroupBox.Size = new System.Drawing.Size(840, 280);
|
||||
this.filtersGroupBox.TabIndex = 1;
|
||||
this.filtersGroupBox.TabStop = false;
|
||||
this.filtersGroupBox.Text = "Filters";
|
||||
//
|
||||
// filtersFlowLayoutPanel
|
||||
//
|
||||
this.filtersFlowLayoutPanel.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.filtersFlowLayoutPanel.Location = new System.Drawing.Point(3, 16);
|
||||
this.filtersFlowLayoutPanel.Name = "filtersFlowLayoutPanel";
|
||||
this.filtersFlowLayoutPanel.Size = new System.Drawing.Size(834, 261);
|
||||
this.filtersFlowLayoutPanel.TabIndex = 0;
|
||||
//
|
||||
// resultsGroupBox
|
||||
//
|
||||
this.resultsGroupBox.Controls.Add(this.resultsListView);
|
||||
this.resultsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.resultsGroupBox.Location = new System.Drawing.Point(0, 0);
|
||||
this.resultsGroupBox.Name = "resultsGroupBox";
|
||||
this.resultsGroupBox.Size = new System.Drawing.Size(840, 428);
|
||||
this.resultsGroupBox.TabIndex = 1;
|
||||
this.resultsGroupBox.TabStop = false;
|
||||
this.resultsGroupBox.Text = "Query results";
|
||||
//
|
||||
// resultsListView
|
||||
//
|
||||
this.resultsListView.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.resultsListView.Location = new System.Drawing.Point(3, 16);
|
||||
this.resultsListView.Name = "resultsListView";
|
||||
this.resultsListView.Size = new System.Drawing.Size(834, 409);
|
||||
this.resultsListView.TabIndex = 0;
|
||||
this.resultsListView.UseCompatibleStateImageBehavior = false;
|
||||
this.resultsListView.View = System.Windows.Forms.View.Details;
|
||||
//
|
||||
// printerConfigBtn
|
||||
//
|
||||
this.printerConfigBtn.Location = new System.Drawing.Point(8, 316);
|
||||
this.printerConfigBtn.Name = "printerConfigBtn";
|
||||
this.printerConfigBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.printerConfigBtn.TabIndex = 11;
|
||||
this.printerConfigBtn.Text = "Configure printer";
|
||||
this.printerConfigBtn.UseVisualStyleBackColor = true;
|
||||
this.printerConfigBtn.Click += new System.EventHandler(this.printerConfigBtn_Click);
|
||||
//
|
||||
// statisticsBtn
|
||||
//
|
||||
this.statisticsBtn.Location = new System.Drawing.Point(8, 621);
|
||||
this.statisticsBtn.Name = "statisticsBtn";
|
||||
this.statisticsBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.statisticsBtn.TabIndex = 10;
|
||||
this.statisticsBtn.Text = "Statistics";
|
||||
this.statisticsBtn.UseVisualStyleBackColor = true;
|
||||
this.statisticsBtn.Click += new System.EventHandler(this.statisticsBtn_Click);
|
||||
//
|
||||
// printQueryResultsBtn
|
||||
//
|
||||
this.printQueryResultsBtn.Location = new System.Drawing.Point(8, 548);
|
||||
this.printQueryResultsBtn.Name = "printQueryResultsBtn";
|
||||
this.printQueryResultsBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.printQueryResultsBtn.TabIndex = 9;
|
||||
this.printQueryResultsBtn.Text = "Print query results";
|
||||
this.printQueryResultsBtn.UseVisualStyleBackColor = true;
|
||||
this.printQueryResultsBtn.Click += new System.EventHandler(this.printQueryResultsBtn_Click);
|
||||
//
|
||||
// exportQueryResultsBtn
|
||||
//
|
||||
this.exportQueryResultsBtn.Location = new System.Drawing.Point(8, 508);
|
||||
this.exportQueryResultsBtn.Name = "exportQueryResultsBtn";
|
||||
this.exportQueryResultsBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.exportQueryResultsBtn.TabIndex = 8;
|
||||
this.exportQueryResultsBtn.Text = "Export query results";
|
||||
this.exportQueryResultsBtn.UseVisualStyleBackColor = true;
|
||||
this.exportQueryResultsBtn.Click += new System.EventHandler(this.exportQueryResultsBtn_Click);
|
||||
//
|
||||
// formatOfResultsBtn
|
||||
//
|
||||
this.formatOfResultsBtn.Location = new System.Drawing.Point(8, 276);
|
||||
this.formatOfResultsBtn.Name = "formatOfResultsBtn";
|
||||
this.formatOfResultsBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.formatOfResultsBtn.TabIndex = 7;
|
||||
this.formatOfResultsBtn.Text = "Configure output";
|
||||
this.formatOfResultsBtn.UseVisualStyleBackColor = true;
|
||||
this.formatOfResultsBtn.Click += new System.EventHandler(this.formatOfResultsBtn_Click);
|
||||
//
|
||||
// clearFiltersBtn
|
||||
//
|
||||
this.clearFiltersBtn.Location = new System.Drawing.Point(8, 196);
|
||||
this.clearFiltersBtn.Name = "clearFiltersBtn";
|
||||
this.clearFiltersBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.clearFiltersBtn.TabIndex = 2;
|
||||
this.clearFiltersBtn.Text = "Clear filters";
|
||||
this.clearFiltersBtn.UseVisualStyleBackColor = true;
|
||||
this.clearFiltersBtn.Click += new System.EventHandler(this.clearFiltersBtn_Click);
|
||||
//
|
||||
// settingsBtn
|
||||
//
|
||||
this.settingsBtn.Location = new System.Drawing.Point(8, 12);
|
||||
this.settingsBtn.Name = "settingsBtn";
|
||||
this.settingsBtn.Size = new System.Drawing.Size(125, 33);
|
||||
this.settingsBtn.TabIndex = 0;
|
||||
this.settingsBtn.Text = "Settings";
|
||||
this.settingsBtn.UseVisualStyleBackColor = true;
|
||||
this.settingsBtn.Click += new System.EventHandler(this.settingsBtn_Click);
|
||||
//
|
||||
// saveConfigBtn
|
||||
//
|
||||
this.saveConfigBtn.Location = new System.Drawing.Point(8, 356);
|
||||
this.saveConfigBtn.Name = "saveConfigBtn";
|
||||
this.saveConfigBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.saveConfigBtn.TabIndex = 5;
|
||||
this.saveConfigBtn.Text = "Save configuration";
|
||||
this.saveConfigBtn.UseVisualStyleBackColor = true;
|
||||
this.saveConfigBtn.Click += new System.EventHandler(this.saveConfigBtn_Click);
|
||||
//
|
||||
// loadConfigBtn
|
||||
//
|
||||
this.loadConfigBtn.Location = new System.Drawing.Point(8, 396);
|
||||
this.loadConfigBtn.Name = "loadConfigBtn";
|
||||
this.loadConfigBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.loadConfigBtn.TabIndex = 4;
|
||||
this.loadConfigBtn.Text = "Load configuration";
|
||||
this.loadConfigBtn.UseVisualStyleBackColor = true;
|
||||
this.loadConfigBtn.Click += new System.EventHandler(this.loadConfigBtn_Click);
|
||||
//
|
||||
// executeQueryBtn
|
||||
//
|
||||
this.executeQueryBtn.Location = new System.Drawing.Point(8, 468);
|
||||
this.executeQueryBtn.Name = "executeQueryBtn";
|
||||
this.executeQueryBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.executeQueryBtn.TabIndex = 6;
|
||||
this.executeQueryBtn.Text = "Execute query";
|
||||
this.executeQueryBtn.UseVisualStyleBackColor = true;
|
||||
this.executeQueryBtn.Click += new System.EventHandler(this.executeQueryBtn_Click);
|
||||
//
|
||||
// addFilterBtn
|
||||
//
|
||||
this.addFilterBtn.Location = new System.Drawing.Point(8, 236);
|
||||
this.addFilterBtn.Name = "addFilterBtn";
|
||||
this.addFilterBtn.Size = new System.Drawing.Size(125, 35);
|
||||
this.addFilterBtn.TabIndex = 3;
|
||||
this.addFilterBtn.Text = "Add filter";
|
||||
this.addFilterBtn.UseVisualStyleBackColor = true;
|
||||
this.addFilterBtn.Click += new System.EventHandler(this.addFilterBtn_Click);
|
||||
//
|
||||
// testBenchesGroupBox
|
||||
//
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox5);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox4);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox3);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox2);
|
||||
this.testBenchesGroupBox.Controls.Add(this.checkBox1);
|
||||
this.testBenchesGroupBox.Location = new System.Drawing.Point(8, 54);
|
||||
this.testBenchesGroupBox.Name = "testBenchesGroupBox";
|
||||
this.testBenchesGroupBox.Size = new System.Drawing.Size(125, 135);
|
||||
this.testBenchesGroupBox.TabIndex = 1;
|
||||
this.testBenchesGroupBox.TabStop = false;
|
||||
this.testBenchesGroupBox.Text = "Test benches";
|
||||
//
|
||||
// checkBox5
|
||||
//
|
||||
this.checkBox5.AutoSize = true;
|
||||
this.checkBox5.Location = new System.Drawing.Point(23, 106);
|
||||
this.checkBox5.Name = "checkBox5";
|
||||
this.checkBox5.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox5.TabIndex = 4;
|
||||
this.checkBox5.TabStop = true;
|
||||
this.checkBox5.Text = "radioButton5";
|
||||
this.checkBox5.UseVisualStyleBackColor = true;
|
||||
this.checkBox5.CheckedChanged += new System.EventHandler(this.checkBox5_CheckedChanged);
|
||||
//
|
||||
// checkBox4
|
||||
//
|
||||
this.checkBox4.AutoSize = true;
|
||||
this.checkBox4.Location = new System.Drawing.Point(23, 86);
|
||||
this.checkBox4.Name = "checkBox4";
|
||||
this.checkBox4.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox4.TabIndex = 3;
|
||||
this.checkBox4.TabStop = true;
|
||||
this.checkBox4.Text = "radioButton4";
|
||||
this.checkBox4.UseVisualStyleBackColor = true;
|
||||
this.checkBox4.CheckedChanged += new System.EventHandler(this.checkBox4_CheckedChanged);
|
||||
//
|
||||
// checkBox3
|
||||
//
|
||||
this.checkBox3.AutoSize = true;
|
||||
this.checkBox3.Location = new System.Drawing.Point(23, 65);
|
||||
this.checkBox3.Name = "checkBox3";
|
||||
this.checkBox3.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox3.TabIndex = 2;
|
||||
this.checkBox3.TabStop = true;
|
||||
this.checkBox3.Text = "radioButton3";
|
||||
this.checkBox3.UseVisualStyleBackColor = true;
|
||||
this.checkBox3.CheckedChanged += new System.EventHandler(this.checkBox3_CheckedChanged);
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AutoSize = true;
|
||||
this.checkBox2.Location = new System.Drawing.Point(23, 44);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox2.TabIndex = 1;
|
||||
this.checkBox2.TabStop = true;
|
||||
this.checkBox2.Text = "radioButton2";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(23, 23);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(85, 17);
|
||||
this.checkBox1.TabIndex = 0;
|
||||
this.checkBox1.TabStop = true;
|
||||
this.checkBox1.Text = "radioButton1";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
|
||||
//
|
||||
// ResultsBrowserWnd
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(984, 712);
|
||||
this.Controls.Add(this.vSplitContainer);
|
||||
this.Name = "ResultsBrowserWnd";
|
||||
this.Text = "Results Browser";
|
||||
this.Load += new System.EventHandler(this.ResultsBrowserWnd_Load);
|
||||
this.vSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.vSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.vSplitContainer)).EndInit();
|
||||
this.vSplitContainer.ResumeLayout(false);
|
||||
this.hSplitContainer.Panel1.ResumeLayout(false);
|
||||
this.hSplitContainer.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.hSplitContainer)).EndInit();
|
||||
this.hSplitContainer.ResumeLayout(false);
|
||||
this.filtersGroupBox.ResumeLayout(false);
|
||||
this.resultsGroupBox.ResumeLayout(false);
|
||||
this.testBenchesGroupBox.ResumeLayout(false);
|
||||
this.testBenchesGroupBox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
@@ -439,9 +387,5 @@
|
||||
private System.Windows.Forms.RadioButton checkBox5;
|
||||
private System.Windows.Forms.RadioButton checkBox4;
|
||||
private System.Windows.Forms.Button printerConfigBtn;
|
||||
private System.Windows.Forms.RadioButton checkBox6;
|
||||
private System.Windows.Forms.GroupBox groupBox1;
|
||||
private System.Windows.Forms.GroupBox outputGroupBox;
|
||||
private System.Windows.Forms.Button histogramBtn;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,4 @@
|
||||
///
|
||||
/// Copyright (c) 2016-2019 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
@@ -65,7 +62,6 @@ namespace ResultsBrowser
|
||||
checkBox3.Checked = Program.LocalSettings.Bench3Selected;
|
||||
checkBox4.Checked = Program.LocalSettings.Bench4Selected;
|
||||
checkBox5.Checked = Program.LocalSettings.Bench5Selected;
|
||||
checkBox6.Checked = Program.LocalSettings.Bench6Selected;
|
||||
|
||||
if (args.Length == 1 && args[0].IndexOf(".qry") == args[0].Length - 4)
|
||||
{
|
||||
@@ -88,24 +84,19 @@ namespace ResultsBrowser
|
||||
checkBox3.Text = Program.LocalSettings.Bench3;
|
||||
checkBox4.Text = Program.LocalSettings.Bench4;
|
||||
checkBox5.Text = Program.LocalSettings.Bench5;
|
||||
checkBox6.Text = Program.LocalSettings.Bench6;
|
||||
|
||||
checkBox1.Visible = !string.IsNullOrEmpty(checkBox1.Text);
|
||||
checkBox2.Visible = !string.IsNullOrEmpty(checkBox2.Text);
|
||||
checkBox3.Visible = !string.IsNullOrEmpty(checkBox3.Text);
|
||||
checkBox4.Visible = !string.IsNullOrEmpty(checkBox4.Text);
|
||||
checkBox5.Visible = !string.IsNullOrEmpty(checkBox5.Text);
|
||||
checkBox6.Visible = !string.IsNullOrEmpty(checkBox6.Text);
|
||||
}
|
||||
|
||||
string BenchName()
|
||||
{
|
||||
return checkBox1.Checked ? Program.LocalSettings.Bench1
|
||||
: checkBox2.Checked ? Program.LocalSettings.Bench2
|
||||
: checkBox3.Checked ? Program.LocalSettings.Bench3
|
||||
: checkBox4.Checked ? Program.LocalSettings.Bench4
|
||||
: checkBox5.Checked ? Program.LocalSettings.Bench5
|
||||
: Program.LocalSettings.Bench6;
|
||||
: checkBox2.Checked ? Program.LocalSettings.Bench2
|
||||
: Program.LocalSettings.Bench3;
|
||||
}
|
||||
|
||||
void Localize()
|
||||
@@ -142,7 +133,6 @@ namespace ResultsBrowser
|
||||
private void checkBox3_CheckedChanged(object sender, EventArgs e) { SaveCheckBoxes(); }
|
||||
private void checkBox4_CheckedChanged(object sender, EventArgs e) { SaveCheckBoxes(); }
|
||||
private void checkBox5_CheckedChanged(object sender, EventArgs e) { SaveCheckBoxes(); }
|
||||
private void checkBox6_CheckedChanged(object sender, EventArgs e) { SaveCheckBoxes(); }
|
||||
|
||||
void SaveCheckBoxes()
|
||||
{
|
||||
@@ -151,7 +141,6 @@ namespace ResultsBrowser
|
||||
Program.LocalSettings.Bench3Selected = checkBox3.Checked;
|
||||
Program.LocalSettings.Bench4Selected = checkBox4.Checked;
|
||||
Program.LocalSettings.Bench5Selected = checkBox5.Checked;
|
||||
Program.LocalSettings.Bench6Selected = checkBox6.Checked;
|
||||
Program.LocalSettings.Save();
|
||||
}
|
||||
|
||||
@@ -280,8 +269,7 @@ namespace ResultsBrowser
|
||||
(checkBox3.Checked ? Program.LocalSettings.ConnectionString3 :
|
||||
(checkBox4.Checked ? Program.LocalSettings.ConnectionString4 :
|
||||
(checkBox5.Checked ? Program.LocalSettings.ConnectionString5 :
|
||||
(checkBox6.Checked ? Program.LocalSettings.ConnectionString6 :
|
||||
Program.LocalSettings.ConnectionString1)))));
|
||||
Program.LocalSettings.ConnectionString1))));
|
||||
|
||||
ISession[] sessions = new ISession[] { Results.DB.CreateSession() };
|
||||
|
||||
@@ -492,7 +480,7 @@ namespace ResultsBrowser
|
||||
IList<Results.WMeterRsltItemSpec> items = Results.WMeterRsltItemSpec.FromStrArray(filtersConfig.ResultItems);
|
||||
|
||||
///
|
||||
/// Statistics options
|
||||
/// Enter options
|
||||
///
|
||||
Forms.StatisticsOptionsDlg optionsDlg = new Forms.StatisticsOptionsDlg(items);
|
||||
if (optionsDlg.ShowDialog() != DialogResult.OK) return;
|
||||
@@ -500,31 +488,16 @@ namespace ResultsBrowser
|
||||
///
|
||||
/// Calculate statistics
|
||||
///
|
||||
Forms.StatisticsDlg statisticsDlg = new Forms.StatisticsDlg(waterMeters, optionsDlg, timePeriodStart, timePeriodEnd);
|
||||
Forms.StatisticsDlg statisticsDlg = new Forms.StatisticsDlg(waterMeters, optionsDlg.TwoDim,
|
||||
optionsDlg.RowItem, optionsDlg.RowItem2, optionsDlg.RowItem3,
|
||||
optionsDlg.ColumnItem, optionsDlg.ColumnItem2, optionsDlg.ColumnItem3,
|
||||
optionsDlg.RowTestSpecifier, optionsDlg.RowTestSpecifier2, optionsDlg.RowTestSpecifier3,
|
||||
optionsDlg.ColumnTestSpecifier, optionsDlg.ColumnTestSpecifier2, optionsDlg.ColumnTestSpecifier3,
|
||||
timePeriodStart, timePeriodEnd);
|
||||
statisticsDlg.ShowDialog();
|
||||
}
|
||||
|
||||
|
||||
private void histogramBtn_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (waterMeters == null || waterMeters.Count == 0) return;
|
||||
|
||||
IList<Results.WMeterRsltItemSpec> items = Results.WMeterRsltItemSpec.FromStrArray(filtersConfig.ResultItems);
|
||||
|
||||
///
|
||||
/// Histogram options
|
||||
///
|
||||
Forms.HistogramOptionsDlg optionsDlg = new Forms.HistogramOptionsDlg(items);
|
||||
if (optionsDlg.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
///
|
||||
/// Calculate and display histograms
|
||||
///
|
||||
Forms.HistogramDlg histogramDlg = new Forms.HistogramDlg(waterMeters, optionsDlg, "Histogramy");
|
||||
histogramDlg.ShowDialog();
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Updates component factory
|
||||
/// </summary>
|
||||
|
||||
-64
@@ -1,64 +0,0 @@
|
||||
namespace Statistics.Forms
|
||||
{
|
||||
partial class ModelessForm
|
||||
{
|
||||
/// <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.label1 = new System.Windows.Forms.Label();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(47, 29);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(35, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "label1";
|
||||
//
|
||||
// ModelessForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(191, 56);
|
||||
this.Controls.Add(this.label1);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Name = "ModelessForm";
|
||||
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "ModelessForm";
|
||||
this.Load += new System.EventHandler(this.ModelessForm_Load);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
}
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace Statistics.Forms
|
||||
{
|
||||
public partial class ModelessForm : Form
|
||||
{
|
||||
/// <summary>
|
||||
/// Called from the state machine when an operation forces a modeless dialog close.
|
||||
/// </summary>
|
||||
public static void CloseForm()
|
||||
{
|
||||
if (CloseFormHandler == null) return;
|
||||
try { CloseFormHandler(null, null); }
|
||||
catch (Exception) { }
|
||||
}
|
||||
public static event EventHandler<EventArgs> CloseFormHandler;
|
||||
|
||||
void OnCloseForm(object sender, EventArgs args)
|
||||
{
|
||||
DialogResult = DialogResult.Cancel;
|
||||
Close();
|
||||
}
|
||||
|
||||
|
||||
public string Title;
|
||||
public string Message;
|
||||
public Color BackgroundColor;
|
||||
public Color TextColor;
|
||||
public Font TextFont;
|
||||
public string FontFamily;
|
||||
public int FontSize;
|
||||
public FontStyle FontStyle;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Constructor to be used by the application
|
||||
/// </summary>
|
||||
/// <param name="title">Window title</param>
|
||||
/// <param name="message">Displayed message</param>
|
||||
public ModelessForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
ControlBox = false;
|
||||
|
||||
CloseFormHandler += delegate(object sender, EventArgs args)
|
||||
{
|
||||
if (InvokeRequired) { Invoke(new EventHandler<EventArgs>(OnCloseForm), sender, args); }
|
||||
else OnCloseForm(sender, args);
|
||||
};
|
||||
}
|
||||
|
||||
private void ModelessForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (Title != null) Text = Title;
|
||||
if (Message != null) label1.Text = Message;
|
||||
if (BackgroundColor != null) BackColor = BackgroundColor;
|
||||
if (TextColor != null) ForeColor = TextColor;
|
||||
if (FontFamily != null) label1.Font = new Font(FontFamily, FontSize, FontStyle);
|
||||
|
||||
float textWidth = Graphics.FromImage(new Bitmap(1, 1)).MeasureString(label1.Text, label1.Font).Width;
|
||||
float textHeight = Graphics.FromImage(new Bitmap(1, 1)).MeasureString(label1.Text, label1.Font).Height;
|
||||
Width = (int)textWidth + 120; /// Form width calculated from the text width
|
||||
Height += (int)textHeight; /// Form height calculated from the text height
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,327 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Text;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Statistics
|
||||
{
|
||||
/// <summary>
|
||||
/// Class to be serialized to an XML file...
|
||||
/// Public members are local settings.
|
||||
/// These settings are modified by dialogs invoked by menu items
|
||||
/// Edit->Preferences ... PreferencesDlg ... S1.1(language, etc. local settings), and
|
||||
/// Edit->Advanced settings ... AdvancedSettingsDlg ... S1.2(spec. where bench settings are stored)
|
||||
/// </summary>
|
||||
[XmlRootAttribute("Statistics")]
|
||||
public class LocalSettings
|
||||
{
|
||||
public const int FlowsCount = 5;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// User interface language (used as CultureInfo(..) constructor argument).
|
||||
/// </summary>
|
||||
public string Language;
|
||||
|
||||
///
|
||||
/// Names of test benches
|
||||
///
|
||||
public string[] BenchNames;
|
||||
///
|
||||
public string GetBenchName(int i)
|
||||
{
|
||||
return ((BenchNames != null) && (i >= 0) && (i < BenchNames.Length)) ? BenchNames[i] : string.Empty;
|
||||
}
|
||||
|
||||
///
|
||||
/// Database settings of servers
|
||||
///
|
||||
public string[] ConnectionStrings;
|
||||
///
|
||||
public string GetConnectionString(int i)
|
||||
{
|
||||
return ((ConnectionStrings != null) && (i >= 0) && (i < ConnectionStrings.Length)) ? ConnectionStrings[i] : string.Empty;
|
||||
}
|
||||
|
||||
///
|
||||
/// MID-s
|
||||
///
|
||||
public string[] MidNames;
|
||||
|
||||
///
|
||||
/// Flow settings
|
||||
///
|
||||
public bool[] FlowEnabledI1;
|
||||
public bool[] FlowEnabledI2;
|
||||
public bool[] FlowEnabledI3;
|
||||
public bool[] FlowEnabledI4;
|
||||
public bool[] FlowEnabledI5;
|
||||
public bool[] FlowEnabledI6;
|
||||
public bool[] FlowEnabledI7;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Get flow enabled info
|
||||
/// </summary>
|
||||
/// <param name="midId">1-based MID id</param>
|
||||
/// <param name="i">0-based flow id</param>
|
||||
/// <returns>true = enabled</returns>
|
||||
public bool GetFlowEnabled(int midId, int i)
|
||||
{
|
||||
switch (midId)
|
||||
{
|
||||
case 1: return ((FlowEnabledI1 != null) && (i >= 0) && (i < FlowEnabledI1.Length)) ? FlowEnabledI1[i] : false;
|
||||
case 2: return ((FlowEnabledI2 != null) && (i >= 0) && (i < FlowEnabledI2.Length)) ? FlowEnabledI2[i] : false;
|
||||
case 3: return ((FlowEnabledI3 != null) && (i >= 0) && (i < FlowEnabledI3.Length)) ? FlowEnabledI3[i] : false;
|
||||
case 4: return ((FlowEnabledI4 != null) && (i >= 0) && (i < FlowEnabledI4.Length)) ? FlowEnabledI4[i] : false;
|
||||
case 5: return ((FlowEnabledI5 != null) && (i >= 0) && (i < FlowEnabledI5.Length)) ? FlowEnabledI5[i] : false;
|
||||
case 6: return ((FlowEnabledI6 != null) && (i >= 0) && (i < FlowEnabledI6.Length)) ? FlowEnabledI6[i] : false;
|
||||
case 7: return ((FlowEnabledI7 != null) && (i >= 0) && (i < FlowEnabledI7.Length)) ? FlowEnabledI7[i] : false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set flow enabled info
|
||||
/// </summary>
|
||||
/// <param name="midId">1-based MID id</param>
|
||||
/// <param name="i">0-based flow id</param>
|
||||
/// <param name="value">true = enabled</param>
|
||||
public void SetFlowEnabled(int midId, int i, bool value)
|
||||
{
|
||||
switch (midId)
|
||||
{
|
||||
case 1: if ((FlowEnabledI1 != null) && (i >= 0) && (i < FlowEnabledI1.Length)) { FlowEnabledI1[i] = value; }; break;
|
||||
case 2: if ((FlowEnabledI2 != null) && (i >= 0) && (i < FlowEnabledI2.Length)) { FlowEnabledI2[i] = value; }; break;
|
||||
case 3: if ((FlowEnabledI3 != null) && (i >= 0) && (i < FlowEnabledI3.Length)) { FlowEnabledI3[i] = value; }; break;
|
||||
case 4: if ((FlowEnabledI4 != null) && (i >= 0) && (i < FlowEnabledI4.Length)) { FlowEnabledI4[i] = value; }; break;
|
||||
case 5: if ((FlowEnabledI5 != null) && (i >= 0) && (i < FlowEnabledI5.Length)) { FlowEnabledI5[i] = value; }; break;
|
||||
case 6: if ((FlowEnabledI6 != null) && (i >= 0) && (i < FlowEnabledI6.Length)) { FlowEnabledI6[i] = value; }; break;
|
||||
case 7: if ((FlowEnabledI7 != null) && (i >= 0) && (i < FlowEnabledI7.Length)) { FlowEnabledI7[i] = value; }; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public double[] FlowFromI1;
|
||||
public double[] FlowFromI2;
|
||||
public double[] FlowFromI3;
|
||||
public double[] FlowFromI4;
|
||||
public double[] FlowFromI5;
|
||||
public double[] FlowFromI6;
|
||||
public double[] FlowFromI7;
|
||||
|
||||
/// <summary>
|
||||
/// Get lower limit of the flow
|
||||
/// </summary>
|
||||
/// <param name="midId">1-based MID id</param>
|
||||
/// <param name="i">0-based flow id</param>
|
||||
/// <returns>Flow in m3/h</returns>
|
||||
public double GetFlowFrom(int midId, int i)
|
||||
{
|
||||
switch (midId)
|
||||
{
|
||||
case 1: return ((FlowFromI1 != null) && (i >= 0) && (i < FlowFromI1.Length)) ? FlowFromI1[i] : 0;
|
||||
case 2: return ((FlowFromI2 != null) && (i >= 0) && (i < FlowFromI2.Length)) ? FlowFromI2[i] : 0;
|
||||
case 3: return ((FlowFromI3 != null) && (i >= 0) && (i < FlowFromI3.Length)) ? FlowFromI3[i] : 0;
|
||||
case 4: return ((FlowFromI4 != null) && (i >= 0) && (i < FlowFromI4.Length)) ? FlowFromI4[i] : 0;
|
||||
case 5: return ((FlowFromI5 != null) && (i >= 0) && (i < FlowFromI5.Length)) ? FlowFromI5[i] : 0;
|
||||
case 6: return ((FlowFromI6 != null) && (i >= 0) && (i < FlowFromI6.Length)) ? FlowFromI6[i] : 0;
|
||||
case 7: return ((FlowFromI7 != null) && (i >= 0) && (i < FlowFromI7.Length)) ? FlowFromI7[i] : 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set lower limit of the flow
|
||||
/// </summary>
|
||||
/// <param name="midId">1-based MID id</param>
|
||||
/// <param name="i">0-based flow id</param>
|
||||
/// <param name="value">Flow in m3/h</param>
|
||||
public void SetFlowFrom(int midId, int i, double value)
|
||||
{
|
||||
switch (midId)
|
||||
{
|
||||
case 1: if ((FlowFromI1 != null) && (i >= 0) && (i < FlowFromI1.Length)) { FlowFromI1[i] = value; }; break;
|
||||
case 2: if ((FlowFromI2 != null) && (i >= 0) && (i < FlowFromI2.Length)) { FlowFromI2[i] = value; }; break;
|
||||
case 3: if ((FlowFromI3 != null) && (i >= 0) && (i < FlowFromI3.Length)) { FlowFromI3[i] = value; }; break;
|
||||
case 4: if ((FlowFromI4 != null) && (i >= 0) && (i < FlowFromI4.Length)) { FlowFromI4[i] = value; }; break;
|
||||
case 5: if ((FlowFromI5 != null) && (i >= 0) && (i < FlowFromI5.Length)) { FlowFromI5[i] = value; }; break;
|
||||
case 6: if ((FlowFromI6 != null) && (i >= 0) && (i < FlowFromI6.Length)) { FlowFromI6[i] = value; }; break;
|
||||
case 7: if ((FlowFromI7 != null) && (i >= 0) && (i < FlowFromI7.Length)) { FlowFromI7[i] = value; }; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public double[] FlowToI1;
|
||||
public double[] FlowToI2;
|
||||
public double[] FlowToI3;
|
||||
public double[] FlowToI4;
|
||||
public double[] FlowToI5;
|
||||
public double[] FlowToI6;
|
||||
public double[] FlowToI7;
|
||||
|
||||
/// <summary>
|
||||
/// Get upper limit of the flow
|
||||
/// </summary>
|
||||
/// <param name="midId">1-based MID id</param>
|
||||
/// <param name="i">0-based flow id</param>
|
||||
/// <returns>Flow in m3/h</returns>
|
||||
public double GetFlowTo(int midId, int i)
|
||||
{
|
||||
switch (midId)
|
||||
{
|
||||
case 1: return ((FlowToI1 != null) && (i >= 0) && (i < FlowToI1.Length)) ? FlowToI1[i] : 0;
|
||||
case 2: return ((FlowToI2 != null) && (i >= 0) && (i < FlowToI2.Length)) ? FlowToI2[i] : 0;
|
||||
case 3: return ((FlowToI3 != null) && (i >= 0) && (i < FlowToI3.Length)) ? FlowToI3[i] : 0;
|
||||
case 4: return ((FlowToI4 != null) && (i >= 0) && (i < FlowToI4.Length)) ? FlowToI4[i] : 0;
|
||||
case 5: return ((FlowToI5 != null) && (i >= 0) && (i < FlowToI5.Length)) ? FlowToI5[i] : 0;
|
||||
case 6: return ((FlowToI6 != null) && (i >= 0) && (i < FlowToI6.Length)) ? FlowToI6[i] : 0;
|
||||
case 7: return ((FlowToI7 != null) && (i >= 0) && (i < FlowToI7.Length)) ? FlowToI7[i] : 0;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Set upper limit of the flow
|
||||
/// </summary>
|
||||
/// <param name="midId">1-based MID id</param>
|
||||
/// <param name="i">0-based flow id</param>
|
||||
/// <param name="value">Flow in m3/h</param>
|
||||
public void SetFlowTo(int midId, int i, double value)
|
||||
{
|
||||
switch (midId)
|
||||
{
|
||||
case 1: if ((FlowToI1 != null) && (i >= 0) && (i < FlowToI1.Length)) { FlowToI1[i] = value; }; break;
|
||||
case 2: if ((FlowToI2 != null) && (i >= 0) && (i < FlowToI2.Length)) { FlowToI2[i] = value; }; break;
|
||||
case 3: if ((FlowToI3 != null) && (i >= 0) && (i < FlowToI3.Length)) { FlowToI3[i] = value; }; break;
|
||||
case 4: if ((FlowToI4 != null) && (i >= 0) && (i < FlowToI4.Length)) { FlowToI4[i] = value; }; break;
|
||||
case 5: if ((FlowToI5 != null) && (i >= 0) && (i < FlowToI5.Length)) { FlowToI5[i] = value; }; break;
|
||||
case 6: if ((FlowToI6 != null) && (i >= 0) && (i < FlowToI6.Length)) { FlowToI6[i] = value; }; break;
|
||||
case 7: if ((FlowToI7 != null) && (i >= 0) && (i < FlowToI7.Length)) { FlowToI7[i] = value; }; break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// StatisticsDlg UI
|
||||
public int SelectedRadioButtonNumber;
|
||||
|
||||
|
||||
/// MainWnd
|
||||
public int MainWndLeft;
|
||||
public int MainWndTop;
|
||||
public int MainWndWidth;
|
||||
public int MainWndHeight;
|
||||
public bool ManiWndMaximized;
|
||||
public int SplitterDistance;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Default constructor which is used to create default settings
|
||||
/// </summary>
|
||||
public LocalSettings()
|
||||
{
|
||||
#if GENESIS
|
||||
Language = "DE";
|
||||
|
||||
BenchNames = new string[] { "Genesis" };
|
||||
|
||||
ConnectionStrings = new string[]
|
||||
{
|
||||
"SERVER=localhost; DATABASE=genesis-r; UID=root; PASSWORD=; CHARSET=utf8;",
|
||||
};
|
||||
|
||||
MidNames = new string[] { string.Empty, "I11", "I12", "I2", "I3", "I4", "I5" }; /// Index is MID-id
|
||||
#else
|
||||
Language = "SK";
|
||||
|
||||
BenchNames = new string[] { "WR10", "WR11", "WR13", "WR14", "WR15", "PT7" };
|
||||
|
||||
ConnectionStrings = new string[]
|
||||
{
|
||||
"SERVER=10.42.128.93; DATABASE=st-wr10-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;",
|
||||
"SERVER=10.42.128.102; DATABASE=st-wr11-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;",
|
||||
"SERVER=10.42.128.89; DATABASE=st-wr13-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;",
|
||||
"SERVER=10.42.128.213; DATABASE=st-wr14-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;",
|
||||
"SERVER=10.42.128.214; DATABASE=st-wr15-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;",
|
||||
"SERVER=10.42.129.26; DATABASE=iperlspecial-r; UID=vysledky; PASSWORD=GAqx76QUB6NbnpZP; CHARSET=utf8;",
|
||||
};
|
||||
|
||||
MidNames = new string[] { string.Empty, "I1", "I2", "I3", "I4" }; /// Index is MID-id
|
||||
#endif
|
||||
FlowEnabledI1 = new bool[FlowsCount];
|
||||
FlowEnabledI2 = new bool[FlowsCount];
|
||||
FlowEnabledI3 = new bool[FlowsCount];
|
||||
FlowEnabledI4 = new bool[FlowsCount];
|
||||
FlowEnabledI5 = new bool[FlowsCount];
|
||||
FlowEnabledI6 = new bool[FlowsCount];
|
||||
FlowEnabledI7 = new bool[FlowsCount];
|
||||
|
||||
FlowFromI1 = new double[FlowsCount];
|
||||
FlowFromI2 = new double[FlowsCount];
|
||||
FlowFromI3 = new double[FlowsCount];
|
||||
FlowFromI4 = new double[FlowsCount];
|
||||
FlowFromI5 = new double[FlowsCount];
|
||||
FlowFromI6 = new double[FlowsCount];
|
||||
FlowFromI7 = new double[FlowsCount];
|
||||
|
||||
FlowToI1 = new double[FlowsCount];
|
||||
FlowToI2 = new double[FlowsCount];
|
||||
FlowToI3 = new double[FlowsCount];
|
||||
FlowToI4 = new double[FlowsCount];
|
||||
FlowToI5 = new double[FlowsCount];
|
||||
FlowToI6 = new double[FlowsCount];
|
||||
FlowToI7 = new double[FlowsCount];
|
||||
|
||||
SelectedRadioButtonNumber = 1;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Load local settings (public fields of this class) from the XML file.
|
||||
/// </summary>
|
||||
public static LocalSettings Load(string fileName)
|
||||
{
|
||||
try
|
||||
{
|
||||
using (TextReader reader = new StreamReader(fileName))
|
||||
{
|
||||
LocalSettings ls = (new XmlSerializer(typeof(LocalSettings))).Deserialize(reader) as LocalSettings;
|
||||
// Copy the settings just in case De-serialize() completes OK
|
||||
return ls;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
string msg = e.Message;
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Save local settings (public fields of this class) to the XML file.
|
||||
/// </summary>
|
||||
public void Save()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (TextWriter writer = new StreamWriter(Program.LocalSettingsFileName))
|
||||
{
|
||||
(new XmlSerializer(typeof(LocalSettings))).Serialize(writer, this);
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
string msg = e.Message;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,101 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using Statistics.Resources;
|
||||
|
||||
namespace Statistics
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// Program information
|
||||
public static string Version; /// version string
|
||||
public static DateTime BuildDateTime; /// date and time of program build
|
||||
|
||||
/// Local settings
|
||||
public static string ExecutableDirectory;
|
||||
public static string ConfigDirectory;
|
||||
public static string LocalSettingsFileName;
|
||||
public static string LocalSettingsBackupName;
|
||||
public static LocalSettings LocalSettings;
|
||||
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main(string[] args)
|
||||
{
|
||||
/// Program version string
|
||||
System.Reflection.Assembly thisAssembly = System.Reflection.Assembly.GetExecutingAssembly();
|
||||
Version ver = thisAssembly.GetName().Version;
|
||||
Version = string.Format("{0}.{1}.{2}", ver.Major, ver.Minor, ver.Build);
|
||||
BuildDateTime = new System.IO.FileInfo(thisAssembly.Location).LastWriteTime;
|
||||
|
||||
/// Local program configuration directory including the trailing backslash
|
||||
ExecutableDirectory = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
|
||||
#if false
|
||||
/// Config directory is a sibling directory of the executable directory
|
||||
ConfigDirectory = Path.Combine(ExecutableDirectory, "..", string.Format("Cfg{0}", (args.Length >= 1) ? args[0] : string.Empty));
|
||||
#else
|
||||
/// Config directory is a directory in 'C:\Users\username\AppData\Local' folder
|
||||
ConfigDirectory = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData),
|
||||
string.Format("Statistics{0}", (args.Length >= 1) ? args[0] : string.Empty));
|
||||
#endif
|
||||
LocalSettingsFileName = Path.Combine(ConfigDirectory, "config.xml");
|
||||
LocalSettingsBackupName = Path.Combine(ConfigDirectory, "config.backup.xml");
|
||||
|
||||
///
|
||||
/// Load the local settings
|
||||
///
|
||||
LocalSettings = LocalSettings.Load(Program.LocalSettingsFileName);
|
||||
if (LocalSettings == null)
|
||||
{
|
||||
/// Loading local seetings from regular config file failed. Use the backup
|
||||
LocalSettings = LocalSettings.Load(Program.LocalSettingsBackupName);
|
||||
if (LocalSettings == null)
|
||||
{
|
||||
MessageBox.Show(Strings.No_program_settings_found + Strings.Using_default_settings,
|
||||
string.Empty,
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Information);
|
||||
|
||||
/// Create new default settings and save them
|
||||
LocalSettings = new LocalSettings();
|
||||
Directory.CreateDirectory(ConfigDirectory);
|
||||
LocalSettings.Save();
|
||||
}
|
||||
else
|
||||
{
|
||||
LocalSettings.Save(); /// Save the settings to overwrite the wrong file
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Loading local seetings from the regular config file was successful. Update the backup
|
||||
File.Copy(Program.LocalSettingsFileName, Program.LocalSettingsBackupName, true);
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
string culture = LocalSettings.Language.Replace('_', '-');
|
||||
System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(culture);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
string msg = e.Message;
|
||||
MessageBox.Show(Strings.Selected_language_not_supported + Environment.NewLine + Strings.Using_English,
|
||||
Strings.Warning,
|
||||
MessageBoxButtons.OK,
|
||||
MessageBoxIcon.Asterisk);
|
||||
System.Threading.Thread.CurrentThread.CurrentUICulture =
|
||||
new System.Globalization.CultureInfo("en");
|
||||
}
|
||||
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new StatisticsDlg());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Statistics")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Statistics")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("9e674819-ed89-4d9a-a4e8-3bf2cc69cfc2")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("2.18.1154.0")]
|
||||
[assembly: AssemblyFileVersion("2.18.1154.0")]
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Statistics.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Statistics.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
<?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.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: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" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
</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" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
</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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
-26
@@ -1,26 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Statistics.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
||||
Generated
-207
@@ -1,207 +0,0 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Statistics.Resources {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Strings {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Strings() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Statistics.Resources.Strings", typeof(Strings).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Flow.
|
||||
/// </summary>
|
||||
internal static string Flow {
|
||||
get {
|
||||
return ResourceManager.GetString("Flow", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to From.
|
||||
/// </summary>
|
||||
internal static string From {
|
||||
get {
|
||||
return ResourceManager.GetString("From", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to From / to.
|
||||
/// </summary>
|
||||
internal static string From_to {
|
||||
get {
|
||||
return ResourceManager.GetString("From_to", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Last 3 months.
|
||||
/// </summary>
|
||||
internal static string Last_3_months {
|
||||
get {
|
||||
return ResourceManager.GetString("Last_3_months", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Last month.
|
||||
/// </summary>
|
||||
internal static string Last_month {
|
||||
get {
|
||||
return ResourceManager.GetString("Last_month", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Last week.
|
||||
/// </summary>
|
||||
internal static string Last_week {
|
||||
get {
|
||||
return ResourceManager.GetString("Last_week", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to No program settings found..
|
||||
/// </summary>
|
||||
internal static string No_program_settings_found {
|
||||
get {
|
||||
return ResourceManager.GetString("No_program_settings_found", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to searching....
|
||||
/// </summary>
|
||||
internal static string searching_ {
|
||||
get {
|
||||
return ResourceManager.GetString("searching_", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Selected language is not supported..
|
||||
/// </summary>
|
||||
internal static string Selected_language_not_supported {
|
||||
get {
|
||||
return ResourceManager.GetString("Selected_language_not_supported", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Statistics.
|
||||
/// </summary>
|
||||
internal static string Statistics {
|
||||
get {
|
||||
return ResourceManager.GetString("Statistics", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Time period.
|
||||
/// </summary>
|
||||
internal static string Time_period {
|
||||
get {
|
||||
return ResourceManager.GetString("Time_period", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to To.
|
||||
/// </summary>
|
||||
internal static string To {
|
||||
get {
|
||||
return ResourceManager.GetString("To", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Default settings are used..
|
||||
/// </summary>
|
||||
internal static string Using_default_settings {
|
||||
get {
|
||||
return ResourceManager.GetString("Using_default_settings", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to English will be used..
|
||||
/// </summary>
|
||||
internal static string Using_English {
|
||||
get {
|
||||
return ResourceManager.GetString("Using_English", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Warning.
|
||||
/// </summary>
|
||||
internal static string Warning {
|
||||
get {
|
||||
return ResourceManager.GetString("Warning", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Water meters.
|
||||
/// </summary>
|
||||
internal static string Water_meters {
|
||||
get {
|
||||
return ResourceManager.GetString("Water_meters", resourceCulture);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,168 +0,0 @@
|
||||
<?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="Flow" xml:space="preserve">
|
||||
<value>Flow</value>
|
||||
</data>
|
||||
<data name="From" xml:space="preserve">
|
||||
<value>From</value>
|
||||
</data>
|
||||
<data name="searching_" xml:space="preserve">
|
||||
<value>searching...</value>
|
||||
</data>
|
||||
<data name="Statistics" xml:space="preserve">
|
||||
<value>Statistics</value>
|
||||
</data>
|
||||
<data name="Time_period" xml:space="preserve">
|
||||
<value>Time period</value>
|
||||
</data>
|
||||
<data name="To" xml:space="preserve">
|
||||
<value>To</value>
|
||||
</data>
|
||||
<data name="Water_meters" xml:space="preserve">
|
||||
<value>Water meters</value>
|
||||
</data>
|
||||
<data name="From_to" xml:space="preserve">
|
||||
<value>From / to</value>
|
||||
</data>
|
||||
<data name="Last_3_months" xml:space="preserve">
|
||||
<value>Last 3 months</value>
|
||||
</data>
|
||||
<data name="Last_month" xml:space="preserve">
|
||||
<value>Last month</value>
|
||||
</data>
|
||||
<data name="Last_week" xml:space="preserve">
|
||||
<value>Last week</value>
|
||||
</data>
|
||||
<data name="No_program_settings_found" xml:space="preserve">
|
||||
<value>No program settings found.</value>
|
||||
</data>
|
||||
<data name="Selected_language_not_supported" xml:space="preserve">
|
||||
<value>Selected language is not supported.</value>
|
||||
</data>
|
||||
<data name="Using_default_settings" xml:space="preserve">
|
||||
<value>Default settings are used.</value>
|
||||
</data>
|
||||
<data name="Using_English" xml:space="preserve">
|
||||
<value>English will be used.</value>
|
||||
</data>
|
||||
<data name="Warning" xml:space="preserve">
|
||||
<value>Warning</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1,162 +0,0 @@
|
||||
<?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="Flow" xml:space="preserve">
|
||||
<value>Prietok</value>
|
||||
</data>
|
||||
<data name="From" xml:space="preserve">
|
||||
<value>Od</value>
|
||||
</data>
|
||||
<data name="searching_" xml:space="preserve">
|
||||
<value>hľadám...</value>
|
||||
</data>
|
||||
<data name="Statistics" xml:space="preserve">
|
||||
<value>Štatistiky</value>
|
||||
</data>
|
||||
<data name="Time_period" xml:space="preserve">
|
||||
<value>Časový úsek</value>
|
||||
</data>
|
||||
<data name="To" xml:space="preserve">
|
||||
<value>Do</value>
|
||||
</data>
|
||||
<data name="Water_meters" xml:space="preserve">
|
||||
<value>Vodomery</value>
|
||||
</data>
|
||||
<data name="From_to" xml:space="preserve">
|
||||
<value>Od / do</value>
|
||||
</data>
|
||||
<data name="Last_3_months" xml:space="preserve">
|
||||
<value>Posledné 3 mesiace</value>
|
||||
</data>
|
||||
<data name="Last_month" xml:space="preserve">
|
||||
<value>Posledný mesiac</value>
|
||||
</data>
|
||||
<data name="Last_week" xml:space="preserve">
|
||||
<value>Posledný týždeň</value>
|
||||
</data>
|
||||
<data name="No_program_settings_found" xml:space="preserve">
|
||||
<value>Nebola nájdená konfigurácia programu.</value>
|
||||
</data>
|
||||
<data name="Using_default_settings" xml:space="preserve">
|
||||
<value>Použijú sa štandardné nastavenia.</value>
|
||||
</data>
|
||||
<data name="Warning" xml:space="preserve">
|
||||
<value>Upozornenie</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1,147 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
|
||||
<ProductVersion>8.0.30703</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{36755E1D-6FC3-4D9C-8DD3-0250D51532E0}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Statistics</RootNamespace>
|
||||
<AssemblyName>Statistics</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
|
||||
<TargetFrameworkProfile>
|
||||
</TargetFrameworkProfile>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="FluentNHibernate">
|
||||
<HintPath>..\packages\FluentNHibernate.2.0.3.0\lib\net40\FluentNHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Iesi.Collections">
|
||||
<HintPath>..\packages\Iesi.Collections.4.0.0.4000\lib\net40\Iesi.Collections.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="MySql.Data">
|
||||
<HintPath>..\packages\MySql.Data.6.6.5\lib\net40\MySql.Data.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NHibernate">
|
||||
<HintPath>..\packages\NHibernate.4.0.4.4000\lib\net40\NHibernate.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Windows.Forms.DataVisualization" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Forms\ModelessForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Forms\ModelessForm.designer.cs">
|
||||
<DependentUpon>ModelessForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="LocalSettings.cs" />
|
||||
<Compile Include="Resources\Strings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Strings.resx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="StatisticsDlg.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="StatisticsDlg.Designer.cs">
|
||||
<DependentUpon>StatisticsDlg.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="UserControls\MidOrWaterMetersCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\MidOrWaterMetersCtrl.Designer.cs">
|
||||
<DependentUpon>MidOrWaterMetersCtrl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\StatisticsCtrl.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UserControls\StatisticsCtrl.Designer.cs">
|
||||
<DependentUpon>StatisticsCtrl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="Forms\ModelessForm.resx">
|
||||
<DependentUpon>ModelessForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\Strings.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Strings.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\Strings.sk.resx" />
|
||||
<EmbeddedResource Include="StatisticsDlg.resx">
|
||||
<DependentUpon>StatisticsDlg.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<EmbeddedResource Include="UserControls\MidOrWaterMetersCtrl.resx">
|
||||
<DependentUpon>MidOrWaterMetersCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UserControls\StatisticsCtrl.resx">
|
||||
<DependentUpon>StatisticsCtrl.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<None Include="app.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Results\Results.csproj">
|
||||
<Project>{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}</Project>
|
||||
<Name>Results</Name>
|
||||
</ProjectReference>
|
||||
</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.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
||||
Generated
-207
@@ -1,207 +0,0 @@
|
||||
namespace Statistics
|
||||
{
|
||||
partial class StatisticsDlg
|
||||
{
|
||||
/// <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.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.radioButton4 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton3 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton2 = new System.Windows.Forms.RadioButton();
|
||||
this.radioButton1 = new System.Windows.Forms.RadioButton();
|
||||
this.timePeriodGroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.toLabel1 = new System.Windows.Forms.Label();
|
||||
this.fromLabel1 = new System.Windows.Forms.Label();
|
||||
this.dateTimeFromPicker = new System.Windows.Forms.DateTimePicker();
|
||||
this.dateTimeToPicker = new System.Windows.Forms.DateTimePicker();
|
||||
this.midsTabControl = new System.Windows.Forms.TabControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.timePeriodGroupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.IsSplitterFixed = true;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.radioButton4);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.radioButton3);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.radioButton2);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.radioButton1);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.timePeriodGroupBox);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.midsTabControl);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1368, 826);
|
||||
this.splitContainer1.SplitterDistance = 90;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// radioButton4
|
||||
//
|
||||
this.radioButton4.AutoSize = true;
|
||||
this.radioButton4.Location = new System.Drawing.Point(136, 12);
|
||||
this.radioButton4.Name = "radioButton4";
|
||||
this.radioButton4.Size = new System.Drawing.Size(68, 17);
|
||||
this.radioButton4.TabIndex = 6;
|
||||
this.radioButton4.TabStop = true;
|
||||
this.radioButton4.Text = "From / to";
|
||||
this.radioButton4.UseVisualStyleBackColor = true;
|
||||
this.radioButton4.CheckedChanged += new System.EventHandler(this.radioButton4_CheckedChanged);
|
||||
//
|
||||
// radioButton3
|
||||
//
|
||||
this.radioButton3.AutoSize = true;
|
||||
this.radioButton3.Location = new System.Drawing.Point(12, 58);
|
||||
this.radioButton3.Name = "radioButton3";
|
||||
this.radioButton3.Size = new System.Drawing.Size(91, 17);
|
||||
this.radioButton3.TabIndex = 5;
|
||||
this.radioButton3.TabStop = true;
|
||||
this.radioButton3.Text = "Last 3 months";
|
||||
this.radioButton3.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton2
|
||||
//
|
||||
this.radioButton2.AutoSize = true;
|
||||
this.radioButton2.Location = new System.Drawing.Point(12, 35);
|
||||
this.radioButton2.Name = "radioButton2";
|
||||
this.radioButton2.Size = new System.Drawing.Size(77, 17);
|
||||
this.radioButton2.TabIndex = 4;
|
||||
this.radioButton2.TabStop = true;
|
||||
this.radioButton2.Text = "Last month";
|
||||
this.radioButton2.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioButton1
|
||||
//
|
||||
this.radioButton1.AutoSize = true;
|
||||
this.radioButton1.Location = new System.Drawing.Point(12, 12);
|
||||
this.radioButton1.Name = "radioButton1";
|
||||
this.radioButton1.Size = new System.Drawing.Size(74, 17);
|
||||
this.radioButton1.TabIndex = 3;
|
||||
this.radioButton1.TabStop = true;
|
||||
this.radioButton1.Text = "Last week";
|
||||
this.radioButton1.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// timePeriodGroupBox
|
||||
//
|
||||
this.timePeriodGroupBox.Controls.Add(this.toLabel1);
|
||||
this.timePeriodGroupBox.Controls.Add(this.fromLabel1);
|
||||
this.timePeriodGroupBox.Controls.Add(this.dateTimeFromPicker);
|
||||
this.timePeriodGroupBox.Controls.Add(this.dateTimeToPicker);
|
||||
this.timePeriodGroupBox.Location = new System.Drawing.Point(210, 10);
|
||||
this.timePeriodGroupBox.Name = "timePeriodGroupBox";
|
||||
this.timePeriodGroupBox.Size = new System.Drawing.Size(296, 74);
|
||||
this.timePeriodGroupBox.TabIndex = 2;
|
||||
this.timePeriodGroupBox.TabStop = false;
|
||||
//
|
||||
// toLabel1
|
||||
//
|
||||
this.toLabel1.AutoSize = true;
|
||||
this.toLabel1.Location = new System.Drawing.Point(31, 48);
|
||||
this.toLabel1.Name = "toLabel1";
|
||||
this.toLabel1.Size = new System.Drawing.Size(20, 13);
|
||||
this.toLabel1.TabIndex = 3;
|
||||
this.toLabel1.Text = "To";
|
||||
//
|
||||
// fromLabel1
|
||||
//
|
||||
this.fromLabel1.AutoSize = true;
|
||||
this.fromLabel1.Location = new System.Drawing.Point(31, 23);
|
||||
this.fromLabel1.Name = "fromLabel1";
|
||||
this.fromLabel1.Size = new System.Drawing.Size(30, 13);
|
||||
this.fromLabel1.TabIndex = 2;
|
||||
this.fromLabel1.Text = "From";
|
||||
//
|
||||
// dateTimeFromPicker
|
||||
//
|
||||
this.dateTimeFromPicker.Location = new System.Drawing.Point(81, 19);
|
||||
this.dateTimeFromPicker.Name = "dateTimeFromPicker";
|
||||
this.dateTimeFromPicker.Size = new System.Drawing.Size(200, 20);
|
||||
this.dateTimeFromPicker.TabIndex = 0;
|
||||
//
|
||||
// dateTimeToPicker
|
||||
//
|
||||
this.dateTimeToPicker.Location = new System.Drawing.Point(81, 44);
|
||||
this.dateTimeToPicker.Name = "dateTimeToPicker";
|
||||
this.dateTimeToPicker.Size = new System.Drawing.Size(200, 20);
|
||||
this.dateTimeToPicker.TabIndex = 1;
|
||||
//
|
||||
// midsTabControl
|
||||
//
|
||||
this.midsTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.midsTabControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.midsTabControl.Name = "midsTabControl";
|
||||
this.midsTabControl.SelectedIndex = 0;
|
||||
this.midsTabControl.Size = new System.Drawing.Size(1368, 732);
|
||||
this.midsTabControl.TabIndex = 0;
|
||||
//
|
||||
// StatisticsDlg
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(1368, 826);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "StatisticsDlg";
|
||||
this.Text = "MID Statistics";
|
||||
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.StatisticsDlg_FormClosing);
|
||||
this.Load += new System.EventHandler(this.StatisticsDlg_Load);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.timePeriodGroupBox.ResumeLayout(false);
|
||||
this.timePeriodGroupBox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.GroupBox timePeriodGroupBox;
|
||||
private System.Windows.Forms.DateTimePicker dateTimeFromPicker;
|
||||
private System.Windows.Forms.DateTimePicker dateTimeToPicker;
|
||||
private System.Windows.Forms.Label toLabel1;
|
||||
private System.Windows.Forms.Label fromLabel1;
|
||||
private System.Windows.Forms.RadioButton radioButton3;
|
||||
private System.Windows.Forms.RadioButton radioButton2;
|
||||
private System.Windows.Forms.RadioButton radioButton1;
|
||||
private System.Windows.Forms.RadioButton radioButton4;
|
||||
private System.Windows.Forms.TabControl midsTabControl;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,267 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using NHibernate;
|
||||
using FluentNHibernate;
|
||||
using FluentNHibernate.Cfg;
|
||||
using FluentNHibernate.Cfg.Db;
|
||||
using Results;
|
||||
using Results.Entities;
|
||||
using Statistics.Resources;
|
||||
using Statistics.UserControls;
|
||||
using System.Threading;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Statistics
|
||||
{
|
||||
public partial class StatisticsDlg : Form
|
||||
{
|
||||
static ISessionFactory[] sessionFactories = new ISessionFactory[Program.LocalSettings.ConnectionStrings.Length];
|
||||
|
||||
|
||||
public StatisticsDlg()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
///ManageCheckGroupBox(timePeriodCheckBox, timePeriodGroupBox);
|
||||
|
||||
for (int midId = 1; midId < Program.LocalSettings.MidNames.Length; midId++)
|
||||
{
|
||||
TabPage tp = new TabPage();
|
||||
tp.Text = Program.LocalSettings.MidNames[midId];
|
||||
|
||||
MidOrWaterMetersCtrl ctrl = new MidOrWaterMetersCtrl();
|
||||
ctrl.MidId = midId;
|
||||
ctrl.Parent = this;
|
||||
ctrl.Dock = DockStyle.Fill;
|
||||
|
||||
tp.Controls.Add(ctrl);
|
||||
midsTabControl.TabPages.Add(tp);
|
||||
}
|
||||
|
||||
radioButton1.Checked = true;
|
||||
timePeriodGroupBox.Enabled = false;
|
||||
|
||||
Localize();
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
Text = string.Format("MID {0}", Strings.Statistics);
|
||||
//timePeriodCheckBox.Text = Strings.Time_period;
|
||||
fromLabel1.Text = Strings.From;
|
||||
toLabel1.Text = Strings.To;
|
||||
radioButton1.Text = Strings.Last_week;
|
||||
radioButton2.Text = Strings.Last_month;
|
||||
radioButton3.Text = Strings.Last_3_months;
|
||||
radioButton4.Text = Strings.From_to;
|
||||
}
|
||||
|
||||
private void StatisticsDlg_Load(object sender, EventArgs e)
|
||||
{
|
||||
Statistics.LocalSettings ls = Program.LocalSettings;
|
||||
Width = (ls.MainWndWidth > 0) ? ls.MainWndWidth : 1000;
|
||||
Height = (ls.MainWndHeight > 0) ? ls.MainWndHeight : 750;
|
||||
Left = (ls.MainWndLeft != 0) ? ls.MainWndLeft : 50;
|
||||
Top = (ls.MainWndTop != 0) ? ls.MainWndTop : 50;
|
||||
|
||||
switch (ls.SelectedRadioButtonNumber)
|
||||
{
|
||||
case 1: radioButton1.Checked = true; break;
|
||||
case 2: radioButton2.Checked = true; break;
|
||||
case 3: radioButton3.Checked = true; break;
|
||||
case 4: radioButton4.Checked = true; break;
|
||||
}
|
||||
|
||||
for (int i = 1; i < Program.LocalSettings.MidNames.Length; i++)
|
||||
{
|
||||
(midsTabControl.TabPages[i - 1].Controls[0] as MidOrWaterMetersCtrl).Data2UI();
|
||||
}
|
||||
|
||||
for (int i = 0; i < Program.LocalSettings.ConnectionStrings.Length; i++)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(Program.LocalSettings.GetConnectionString(i)))
|
||||
{
|
||||
sessionFactories[i] = null;
|
||||
try
|
||||
{
|
||||
sessionFactories[i] = Fluently.Configure()
|
||||
.Database(MySQLConfiguration.Standard.ConnectionString(Program.LocalSettings.GetConnectionString(i)))
|
||||
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Results.Entities.Batch>())
|
||||
.ExposeConfiguration(BuildSchema)
|
||||
.BuildSessionFactory();
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
MessageBox.Show(string.Format("Cannot open one of database of {0}", Program.LocalSettings.GetBenchName(i)), "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BuildSchema(NHibernate.Cfg.Configuration config)
|
||||
{
|
||||
/// This NHibernate tool takes a configuration with mapping info and exports a database schema
|
||||
new NHibernate.Tool.hbm2ddl.SchemaExport(config).SetOutputFile("db_schema");
|
||||
}
|
||||
|
||||
private void ManageCheckGroupBox(CheckBox chk, GroupBox grp)
|
||||
{
|
||||
/// Make sure the CheckBox isn't in the GroupBox. This will only happen the first time.
|
||||
if (chk.Parent == grp)
|
||||
{
|
||||
grp.Parent.Controls.Add(chk); /// Reparent the CheckBox so it's not in the GroupBox.
|
||||
chk.Location = new Point(chk.Left + grp.Left, chk.Top + grp.Top); /// Adjust the CheckBox's location.
|
||||
chk.BringToFront(); /// Move the CheckBox to the top of the stacking order.
|
||||
}
|
||||
|
||||
/// Enable or disable the GroupBox.
|
||||
grp.Enabled = chk.Checked;
|
||||
}
|
||||
|
||||
//private void timePeriodCheckBox_CheckedChanged(object sender, EventArgs e)
|
||||
//{
|
||||
// ManageCheckGroupBox(timePeriodCheckBox, timePeriodGroupBox);
|
||||
//}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Called by a child form.
|
||||
/// Reads and returns results from DB required by the child form to update it's content.
|
||||
/// </summary>
|
||||
/// <param name="benchId">0-based bench Id.</param>
|
||||
/// <param name="midId">1-based MID Id.</param>
|
||||
/// <returns>Required test results</returns>
|
||||
public IList<TestRslt> UpdateRequest(int benchId, int midId)
|
||||
{
|
||||
if ((benchId < 0) || (benchId >= Program.LocalSettings.BenchNames.Length) || (sessionFactories[benchId] == null))
|
||||
{
|
||||
MessageBox.Show(string.Format("Cannot load statistics of {0}", Program.LocalSettings.GetBenchName(benchId)));
|
||||
return null;
|
||||
}
|
||||
|
||||
Thread thread = new Thread(() => Application.Run(new Forms.ModelessForm()
|
||||
{
|
||||
Title = string.Empty,
|
||||
Message = Strings.searching_,
|
||||
BackgroundColor = Color.LightGreen,
|
||||
FontFamily = "Arial",
|
||||
FontSize = 14,
|
||||
FontStyle = FontStyle.Regular,
|
||||
}));
|
||||
thread.CurrentCulture = CultureInfo.CurrentCulture;
|
||||
thread.CurrentUICulture = CultureInfo.CurrentUICulture;
|
||||
thread.Start();
|
||||
|
||||
DateTime from;
|
||||
DateTime to;
|
||||
GetDateRange(out from, out to);
|
||||
|
||||
try
|
||||
{
|
||||
ISession session = sessionFactories[benchId].OpenSession();
|
||||
var listOfComponentsWithFlowmeter = session.QueryOver<Components>()
|
||||
.Where(x => (x.Flowmeter == Program.LocalSettings.MidNames[midId]))
|
||||
.List();
|
||||
IList<TestRslt> testRslts = new List<TestRslt>();
|
||||
foreach (var cmpnts in listOfComponentsWithFlowmeter)
|
||||
{
|
||||
var listOfRslts = session.QueryOver<TestRslt>()
|
||||
.Where(x => ((x.EndTime >= from) && (x.EndTime <= to)))
|
||||
.And(x => (x.Components == cmpnts))
|
||||
.List();
|
||||
foreach (var tr in listOfRslts) testRslts.Add(tr);
|
||||
}
|
||||
|
||||
Forms.ModelessForm.CloseForm();
|
||||
session.Close();
|
||||
return testRslts;
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
Forms.ModelessForm.CloseForm();
|
||||
MessageBox.Show(string.Format("Error loading statistics of {0}\r\n{1}", Program.LocalSettings.GetBenchName(benchId), exc.Message));
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
void GetDateRange(out DateTime from, out DateTime to)
|
||||
{
|
||||
if (radioButton1.Checked)
|
||||
{
|
||||
/// Last week
|
||||
from = DateTime.Now.Date.AddDays(-7);
|
||||
to = DateTime.Now;
|
||||
}
|
||||
else if (radioButton2.Checked)
|
||||
{
|
||||
/// Last month
|
||||
from = DateTime.Now.Date.AddDays(-31);
|
||||
to = DateTime.Now;
|
||||
}
|
||||
else if (radioButton3.Checked)
|
||||
{
|
||||
/// Last 3 months
|
||||
from = DateTime.Now.Date.AddDays(-91);
|
||||
to = DateTime.Now;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// From / to
|
||||
from = dateTimeFromPicker.Value.Date;
|
||||
to = dateTimeToPicker.Value.Date.AddDays(1).AddTicks(-1);
|
||||
}
|
||||
}
|
||||
|
||||
private void radioButton4_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
timePeriodGroupBox.Enabled = radioButton4.Checked;
|
||||
}
|
||||
|
||||
private void StatisticsDlg_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
LocalSettings ls = Program.LocalSettings;
|
||||
|
||||
ls.ManiWndMaximized = (WindowState == FormWindowState.Maximized);
|
||||
if (WindowState == FormWindowState.Normal)
|
||||
{
|
||||
ls.MainWndLeft = Location.X;
|
||||
ls.MainWndTop = Location.Y;
|
||||
ls.MainWndWidth = Size.Width;
|
||||
ls.MainWndHeight = Size.Height;
|
||||
}
|
||||
else
|
||||
{
|
||||
/// Maximized or minimized (when restarted, minimized window is restored as normal)
|
||||
ls.MainWndLeft = RestoreBounds.Left;
|
||||
ls.MainWndTop = RestoreBounds.Top;
|
||||
ls.MainWndWidth = RestoreBounds.Width;
|
||||
ls.MainWndHeight = RestoreBounds.Height;
|
||||
}
|
||||
|
||||
if (radioButton1.Checked) ls.SelectedRadioButtonNumber = 1;
|
||||
else if (radioButton2.Checked) ls.SelectedRadioButtonNumber = 2;
|
||||
else if (radioButton3.Checked) ls.SelectedRadioButtonNumber = 3;
|
||||
else if (radioButton4.Checked) ls.SelectedRadioButtonNumber = 4;
|
||||
else ls.SelectedRadioButtonNumber = 0;
|
||||
|
||||
for (int i = 1; i < Math.Min(Program.LocalSettings.MidNames.Length, midsTabControl.TabPages.Count + 1); i++)
|
||||
{
|
||||
if (midsTabControl.TabPages[i - 1].Controls.Count > 0 && midsTabControl.TabPages[i - 1].Controls[0] is MidOrWaterMetersCtrl)
|
||||
{
|
||||
(midsTabControl.TabPages[i - 1].Controls[0] as MidOrWaterMetersCtrl).UI2Data();
|
||||
}
|
||||
}
|
||||
|
||||
ls.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
@@ -1,717 +0,0 @@
|
||||
namespace Statistics.UserControls
|
||||
{
|
||||
partial class MidOrWaterMetersCtrl
|
||||
{
|
||||
/// <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.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.flow5GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.flow5ToExclamation = new System.Windows.Forms.Label();
|
||||
this.flow5FromExclamation = new System.Windows.Forms.Label();
|
||||
this.label9 = new System.Windows.Forms.Label();
|
||||
this.label10 = new System.Windows.Forms.Label();
|
||||
this.toLabel6 = new System.Windows.Forms.Label();
|
||||
this.fromLabel6 = new System.Windows.Forms.Label();
|
||||
this.flow5ToTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow5FromTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow5CheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.flow4GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.flow4ToExclamation = new System.Windows.Forms.Label();
|
||||
this.flow4FromExclamation = new System.Windows.Forms.Label();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.toLabel5 = new System.Windows.Forms.Label();
|
||||
this.fromLabel5 = new System.Windows.Forms.Label();
|
||||
this.flow4ToTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow4FromTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow4CheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.flow3GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.flow3ToExclamation = new System.Windows.Forms.Label();
|
||||
this.flow3FromExclamation = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.toLabel4 = new System.Windows.Forms.Label();
|
||||
this.fromLabel4 = new System.Windows.Forms.Label();
|
||||
this.flow3ToTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow3FromTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow3CheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.flow2GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.flow2ToExclamation = new System.Windows.Forms.Label();
|
||||
this.flow2FromExclamation = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.toLabel3 = new System.Windows.Forms.Label();
|
||||
this.fromLabel3 = new System.Windows.Forms.Label();
|
||||
this.flow2ToTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow2FromTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow2CheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.flow1GroupBox = new System.Windows.Forms.GroupBox();
|
||||
this.flow1ToExclamation = new System.Windows.Forms.Label();
|
||||
this.flow1FromExclamation = new System.Windows.Forms.Label();
|
||||
this.m3hLabel2 = new System.Windows.Forms.Label();
|
||||
this.m3hLabel1 = new System.Windows.Forms.Label();
|
||||
this.toLabel2 = new System.Windows.Forms.Label();
|
||||
this.fromLabel2 = new System.Windows.Forms.Label();
|
||||
this.flow1ToTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow1FromTextBox = new System.Windows.Forms.TextBox();
|
||||
this.flow1CheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.benchesTabControl = new System.Windows.Forms.TabControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.flow5GroupBox.SuspendLayout();
|
||||
this.flow4GroupBox.SuspendLayout();
|
||||
this.flow3GroupBox.SuspendLayout();
|
||||
this.flow2GroupBox.SuspendLayout();
|
||||
this.flow1GroupBox.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.IsSplitterFixed = true;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flow5GroupBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flow4GroupBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flow3GroupBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flow2GroupBox);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.flow1GroupBox);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.benchesTabControl);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1202, 450);
|
||||
this.splitContainer1.SplitterDistance = 90;
|
||||
this.splitContainer1.TabIndex = 0;
|
||||
//
|
||||
// flow5GroupBox
|
||||
//
|
||||
this.flow5GroupBox.Controls.Add(this.flow5ToExclamation);
|
||||
this.flow5GroupBox.Controls.Add(this.flow5FromExclamation);
|
||||
this.flow5GroupBox.Controls.Add(this.label9);
|
||||
this.flow5GroupBox.Controls.Add(this.label10);
|
||||
this.flow5GroupBox.Controls.Add(this.toLabel6);
|
||||
this.flow5GroupBox.Controls.Add(this.fromLabel6);
|
||||
this.flow5GroupBox.Controls.Add(this.flow5ToTextBox);
|
||||
this.flow5GroupBox.Controls.Add(this.flow5FromTextBox);
|
||||
this.flow5GroupBox.Controls.Add(this.flow5CheckBox);
|
||||
this.flow5GroupBox.Location = new System.Drawing.Point(939, 7);
|
||||
this.flow5GroupBox.Name = "flow5GroupBox";
|
||||
this.flow5GroupBox.Size = new System.Drawing.Size(221, 77);
|
||||
this.flow5GroupBox.TabIndex = 8;
|
||||
this.flow5GroupBox.TabStop = false;
|
||||
//
|
||||
// flow5ToExclamation
|
||||
//
|
||||
this.flow5ToExclamation.AutoSize = true;
|
||||
this.flow5ToExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow5ToExclamation.Location = new System.Drawing.Point(167, 48);
|
||||
this.flow5ToExclamation.Name = "flow5ToExclamation";
|
||||
this.flow5ToExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow5ToExclamation.TabIndex = 9;
|
||||
this.flow5ToExclamation.Text = "!";
|
||||
this.flow5ToExclamation.Visible = false;
|
||||
//
|
||||
// flow5FromExclamation
|
||||
//
|
||||
this.flow5FromExclamation.AutoSize = true;
|
||||
this.flow5FromExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow5FromExclamation.Location = new System.Drawing.Point(167, 24);
|
||||
this.flow5FromExclamation.Name = "flow5FromExclamation";
|
||||
this.flow5FromExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow5FromExclamation.TabIndex = 8;
|
||||
this.flow5FromExclamation.Text = "!";
|
||||
this.flow5FromExclamation.Visible = false;
|
||||
//
|
||||
// label9
|
||||
//
|
||||
this.label9.AutoSize = true;
|
||||
this.label9.Location = new System.Drawing.Point(178, 48);
|
||||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(32, 13);
|
||||
this.label9.TabIndex = 6;
|
||||
this.label9.Text = "m3/h";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
this.label10.AutoSize = true;
|
||||
this.label10.Location = new System.Drawing.Point(177, 23);
|
||||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(32, 13);
|
||||
this.label10.TabIndex = 5;
|
||||
this.label10.Text = "m3/h";
|
||||
//
|
||||
// toLabel6
|
||||
//
|
||||
this.toLabel6.AutoSize = true;
|
||||
this.toLabel6.Location = new System.Drawing.Point(14, 48);
|
||||
this.toLabel6.Name = "toLabel6";
|
||||
this.toLabel6.Size = new System.Drawing.Size(20, 13);
|
||||
this.toLabel6.TabIndex = 4;
|
||||
this.toLabel6.Text = "To";
|
||||
//
|
||||
// fromLabel6
|
||||
//
|
||||
this.fromLabel6.AutoSize = true;
|
||||
this.fromLabel6.Location = new System.Drawing.Point(14, 23);
|
||||
this.fromLabel6.Name = "fromLabel6";
|
||||
this.fromLabel6.Size = new System.Drawing.Size(30, 13);
|
||||
this.fromLabel6.TabIndex = 3;
|
||||
this.fromLabel6.Text = "From";
|
||||
//
|
||||
// flow5ToTextBox
|
||||
//
|
||||
this.flow5ToTextBox.Location = new System.Drawing.Point(65, 45);
|
||||
this.flow5ToTextBox.Name = "flow5ToTextBox";
|
||||
this.flow5ToTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow5ToTextBox.TabIndex = 2;
|
||||
this.flow5ToTextBox.TextChanged += new System.EventHandler(this.flow5ToTextBox_TextChanged);
|
||||
//
|
||||
// flow5FromTextBox
|
||||
//
|
||||
this.flow5FromTextBox.Location = new System.Drawing.Point(65, 20);
|
||||
this.flow5FromTextBox.Name = "flow5FromTextBox";
|
||||
this.flow5FromTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow5FromTextBox.TabIndex = 1;
|
||||
this.flow5FromTextBox.TextChanged += new System.EventHandler(this.flow5FromTextBox_TextChanged);
|
||||
//
|
||||
// flow5CheckBox
|
||||
//
|
||||
this.flow5CheckBox.AutoSize = true;
|
||||
this.flow5CheckBox.Location = new System.Drawing.Point(10, 0);
|
||||
this.flow5CheckBox.Name = "flow5CheckBox";
|
||||
this.flow5CheckBox.Size = new System.Drawing.Size(57, 17);
|
||||
this.flow5CheckBox.TabIndex = 0;
|
||||
this.flow5CheckBox.Text = "Flow 5";
|
||||
this.flow5CheckBox.UseVisualStyleBackColor = true;
|
||||
this.flow5CheckBox.CheckedChanged += new System.EventHandler(this.flow5CheckBox_CheckedChanged);
|
||||
//
|
||||
// flow4GroupBox
|
||||
//
|
||||
this.flow4GroupBox.Controls.Add(this.flow4ToExclamation);
|
||||
this.flow4GroupBox.Controls.Add(this.flow4FromExclamation);
|
||||
this.flow4GroupBox.Controls.Add(this.label7);
|
||||
this.flow4GroupBox.Controls.Add(this.label8);
|
||||
this.flow4GroupBox.Controls.Add(this.toLabel5);
|
||||
this.flow4GroupBox.Controls.Add(this.fromLabel5);
|
||||
this.flow4GroupBox.Controls.Add(this.flow4ToTextBox);
|
||||
this.flow4GroupBox.Controls.Add(this.flow4FromTextBox);
|
||||
this.flow4GroupBox.Controls.Add(this.flow4CheckBox);
|
||||
this.flow4GroupBox.Location = new System.Drawing.Point(706, 7);
|
||||
this.flow4GroupBox.Name = "flow4GroupBox";
|
||||
this.flow4GroupBox.Size = new System.Drawing.Size(221, 77);
|
||||
this.flow4GroupBox.TabIndex = 7;
|
||||
this.flow4GroupBox.TabStop = false;
|
||||
//
|
||||
// flow4ToExclamation
|
||||
//
|
||||
this.flow4ToExclamation.AutoSize = true;
|
||||
this.flow4ToExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow4ToExclamation.Location = new System.Drawing.Point(167, 48);
|
||||
this.flow4ToExclamation.Name = "flow4ToExclamation";
|
||||
this.flow4ToExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow4ToExclamation.TabIndex = 9;
|
||||
this.flow4ToExclamation.Text = "!";
|
||||
this.flow4ToExclamation.Visible = false;
|
||||
//
|
||||
// flow4FromExclamation
|
||||
//
|
||||
this.flow4FromExclamation.AutoSize = true;
|
||||
this.flow4FromExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow4FromExclamation.Location = new System.Drawing.Point(167, 24);
|
||||
this.flow4FromExclamation.Name = "flow4FromExclamation";
|
||||
this.flow4FromExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow4FromExclamation.TabIndex = 8;
|
||||
this.flow4FromExclamation.Text = "!";
|
||||
this.flow4FromExclamation.Visible = false;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(178, 48);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(32, 13);
|
||||
this.label7.TabIndex = 6;
|
||||
this.label7.Text = "m3/h";
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(177, 23);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(32, 13);
|
||||
this.label8.TabIndex = 5;
|
||||
this.label8.Text = "m3/h";
|
||||
//
|
||||
// toLabel5
|
||||
//
|
||||
this.toLabel5.AutoSize = true;
|
||||
this.toLabel5.Location = new System.Drawing.Point(14, 48);
|
||||
this.toLabel5.Name = "toLabel5";
|
||||
this.toLabel5.Size = new System.Drawing.Size(20, 13);
|
||||
this.toLabel5.TabIndex = 4;
|
||||
this.toLabel5.Text = "To";
|
||||
//
|
||||
// fromLabel5
|
||||
//
|
||||
this.fromLabel5.AutoSize = true;
|
||||
this.fromLabel5.Location = new System.Drawing.Point(14, 23);
|
||||
this.fromLabel5.Name = "fromLabel5";
|
||||
this.fromLabel5.Size = new System.Drawing.Size(30, 13);
|
||||
this.fromLabel5.TabIndex = 3;
|
||||
this.fromLabel5.Text = "From";
|
||||
//
|
||||
// flow4ToTextBox
|
||||
//
|
||||
this.flow4ToTextBox.Location = new System.Drawing.Point(65, 45);
|
||||
this.flow4ToTextBox.Name = "flow4ToTextBox";
|
||||
this.flow4ToTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow4ToTextBox.TabIndex = 2;
|
||||
this.flow4ToTextBox.TextChanged += new System.EventHandler(this.flow4ToTextBox_TextChanged);
|
||||
//
|
||||
// flow4FromTextBox
|
||||
//
|
||||
this.flow4FromTextBox.Location = new System.Drawing.Point(65, 20);
|
||||
this.flow4FromTextBox.Name = "flow4FromTextBox";
|
||||
this.flow4FromTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow4FromTextBox.TabIndex = 1;
|
||||
this.flow4FromTextBox.TextChanged += new System.EventHandler(this.flow4FromTextBox_TextChanged);
|
||||
//
|
||||
// flow4CheckBox
|
||||
//
|
||||
this.flow4CheckBox.AutoSize = true;
|
||||
this.flow4CheckBox.Location = new System.Drawing.Point(10, 0);
|
||||
this.flow4CheckBox.Name = "flow4CheckBox";
|
||||
this.flow4CheckBox.Size = new System.Drawing.Size(57, 17);
|
||||
this.flow4CheckBox.TabIndex = 0;
|
||||
this.flow4CheckBox.Text = "Flow 4";
|
||||
this.flow4CheckBox.UseVisualStyleBackColor = true;
|
||||
this.flow4CheckBox.CheckedChanged += new System.EventHandler(this.flow4CheckBox_CheckedChanged);
|
||||
//
|
||||
// flow3GroupBox
|
||||
//
|
||||
this.flow3GroupBox.Controls.Add(this.flow3ToExclamation);
|
||||
this.flow3GroupBox.Controls.Add(this.flow3FromExclamation);
|
||||
this.flow3GroupBox.Controls.Add(this.label3);
|
||||
this.flow3GroupBox.Controls.Add(this.label4);
|
||||
this.flow3GroupBox.Controls.Add(this.toLabel4);
|
||||
this.flow3GroupBox.Controls.Add(this.fromLabel4);
|
||||
this.flow3GroupBox.Controls.Add(this.flow3ToTextBox);
|
||||
this.flow3GroupBox.Controls.Add(this.flow3FromTextBox);
|
||||
this.flow3GroupBox.Controls.Add(this.flow3CheckBox);
|
||||
this.flow3GroupBox.Location = new System.Drawing.Point(473, 7);
|
||||
this.flow3GroupBox.Name = "flow3GroupBox";
|
||||
this.flow3GroupBox.Size = new System.Drawing.Size(221, 77);
|
||||
this.flow3GroupBox.TabIndex = 6;
|
||||
this.flow3GroupBox.TabStop = false;
|
||||
//
|
||||
// flow3ToExclamation
|
||||
//
|
||||
this.flow3ToExclamation.AutoSize = true;
|
||||
this.flow3ToExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow3ToExclamation.Location = new System.Drawing.Point(167, 48);
|
||||
this.flow3ToExclamation.Name = "flow3ToExclamation";
|
||||
this.flow3ToExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow3ToExclamation.TabIndex = 9;
|
||||
this.flow3ToExclamation.Text = "!";
|
||||
this.flow3ToExclamation.Visible = false;
|
||||
//
|
||||
// flow3FromExclamation
|
||||
//
|
||||
this.flow3FromExclamation.AutoSize = true;
|
||||
this.flow3FromExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow3FromExclamation.Location = new System.Drawing.Point(167, 24);
|
||||
this.flow3FromExclamation.Name = "flow3FromExclamation";
|
||||
this.flow3FromExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow3FromExclamation.TabIndex = 8;
|
||||
this.flow3FromExclamation.Text = "!";
|
||||
this.flow3FromExclamation.Visible = false;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(178, 48);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(32, 13);
|
||||
this.label3.TabIndex = 6;
|
||||
this.label3.Text = "m3/h";
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(177, 23);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(32, 13);
|
||||
this.label4.TabIndex = 5;
|
||||
this.label4.Text = "m3/h";
|
||||
//
|
||||
// toLabel4
|
||||
//
|
||||
this.toLabel4.AutoSize = true;
|
||||
this.toLabel4.Location = new System.Drawing.Point(14, 48);
|
||||
this.toLabel4.Name = "toLabel4";
|
||||
this.toLabel4.Size = new System.Drawing.Size(20, 13);
|
||||
this.toLabel4.TabIndex = 4;
|
||||
this.toLabel4.Text = "To";
|
||||
//
|
||||
// fromLabel4
|
||||
//
|
||||
this.fromLabel4.AutoSize = true;
|
||||
this.fromLabel4.Location = new System.Drawing.Point(14, 23);
|
||||
this.fromLabel4.Name = "fromLabel4";
|
||||
this.fromLabel4.Size = new System.Drawing.Size(30, 13);
|
||||
this.fromLabel4.TabIndex = 3;
|
||||
this.fromLabel4.Text = "From";
|
||||
//
|
||||
// flow3ToTextBox
|
||||
//
|
||||
this.flow3ToTextBox.Location = new System.Drawing.Point(65, 45);
|
||||
this.flow3ToTextBox.Name = "flow3ToTextBox";
|
||||
this.flow3ToTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow3ToTextBox.TabIndex = 2;
|
||||
this.flow3ToTextBox.TextChanged += new System.EventHandler(this.flow3ToTextBox_TextChanged);
|
||||
//
|
||||
// flow3FromTextBox
|
||||
//
|
||||
this.flow3FromTextBox.Location = new System.Drawing.Point(65, 20);
|
||||
this.flow3FromTextBox.Name = "flow3FromTextBox";
|
||||
this.flow3FromTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow3FromTextBox.TabIndex = 1;
|
||||
this.flow3FromTextBox.TextChanged += new System.EventHandler(this.flow3FromTextBox_TextChanged);
|
||||
//
|
||||
// flow3CheckBox
|
||||
//
|
||||
this.flow3CheckBox.AutoSize = true;
|
||||
this.flow3CheckBox.Location = new System.Drawing.Point(10, 0);
|
||||
this.flow3CheckBox.Name = "flow3CheckBox";
|
||||
this.flow3CheckBox.Size = new System.Drawing.Size(57, 17);
|
||||
this.flow3CheckBox.TabIndex = 0;
|
||||
this.flow3CheckBox.Text = "Flow 3";
|
||||
this.flow3CheckBox.UseVisualStyleBackColor = true;
|
||||
this.flow3CheckBox.CheckedChanged += new System.EventHandler(this.flow3CheckBox_CheckedChanged);
|
||||
//
|
||||
// flow2GroupBox
|
||||
//
|
||||
this.flow2GroupBox.Controls.Add(this.flow2ToExclamation);
|
||||
this.flow2GroupBox.Controls.Add(this.flow2FromExclamation);
|
||||
this.flow2GroupBox.Controls.Add(this.label1);
|
||||
this.flow2GroupBox.Controls.Add(this.label2);
|
||||
this.flow2GroupBox.Controls.Add(this.toLabel3);
|
||||
this.flow2GroupBox.Controls.Add(this.fromLabel3);
|
||||
this.flow2GroupBox.Controls.Add(this.flow2ToTextBox);
|
||||
this.flow2GroupBox.Controls.Add(this.flow2FromTextBox);
|
||||
this.flow2GroupBox.Controls.Add(this.flow2CheckBox);
|
||||
this.flow2GroupBox.Location = new System.Drawing.Point(240, 7);
|
||||
this.flow2GroupBox.Name = "flow2GroupBox";
|
||||
this.flow2GroupBox.Size = new System.Drawing.Size(221, 77);
|
||||
this.flow2GroupBox.TabIndex = 5;
|
||||
this.flow2GroupBox.TabStop = false;
|
||||
//
|
||||
// flow2ToExclamation
|
||||
//
|
||||
this.flow2ToExclamation.AutoSize = true;
|
||||
this.flow2ToExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow2ToExclamation.Location = new System.Drawing.Point(167, 49);
|
||||
this.flow2ToExclamation.Name = "flow2ToExclamation";
|
||||
this.flow2ToExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow2ToExclamation.TabIndex = 9;
|
||||
this.flow2ToExclamation.Text = "!";
|
||||
this.flow2ToExclamation.Visible = false;
|
||||
//
|
||||
// flow2FromExclamation
|
||||
//
|
||||
this.flow2FromExclamation.AutoSize = true;
|
||||
this.flow2FromExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow2FromExclamation.Location = new System.Drawing.Point(167, 24);
|
||||
this.flow2FromExclamation.Name = "flow2FromExclamation";
|
||||
this.flow2FromExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow2FromExclamation.TabIndex = 8;
|
||||
this.flow2FromExclamation.Text = "!";
|
||||
this.flow2FromExclamation.Visible = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(178, 48);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(32, 13);
|
||||
this.label1.TabIndex = 6;
|
||||
this.label1.Text = "m3/h";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(177, 23);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(32, 13);
|
||||
this.label2.TabIndex = 5;
|
||||
this.label2.Text = "m3/h";
|
||||
//
|
||||
// toLabel3
|
||||
//
|
||||
this.toLabel3.AutoSize = true;
|
||||
this.toLabel3.Location = new System.Drawing.Point(14, 48);
|
||||
this.toLabel3.Name = "toLabel3";
|
||||
this.toLabel3.Size = new System.Drawing.Size(20, 13);
|
||||
this.toLabel3.TabIndex = 4;
|
||||
this.toLabel3.Text = "To";
|
||||
//
|
||||
// fromLabel3
|
||||
//
|
||||
this.fromLabel3.AutoSize = true;
|
||||
this.fromLabel3.Location = new System.Drawing.Point(14, 23);
|
||||
this.fromLabel3.Name = "fromLabel3";
|
||||
this.fromLabel3.Size = new System.Drawing.Size(30, 13);
|
||||
this.fromLabel3.TabIndex = 3;
|
||||
this.fromLabel3.Text = "From";
|
||||
//
|
||||
// flow2ToTextBox
|
||||
//
|
||||
this.flow2ToTextBox.Location = new System.Drawing.Point(65, 45);
|
||||
this.flow2ToTextBox.Name = "flow2ToTextBox";
|
||||
this.flow2ToTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow2ToTextBox.TabIndex = 2;
|
||||
this.flow2ToTextBox.TextChanged += new System.EventHandler(this.flow2ToTextBox_TextChanged);
|
||||
//
|
||||
// flow2FromTextBox
|
||||
//
|
||||
this.flow2FromTextBox.Location = new System.Drawing.Point(65, 20);
|
||||
this.flow2FromTextBox.Name = "flow2FromTextBox";
|
||||
this.flow2FromTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow2FromTextBox.TabIndex = 1;
|
||||
this.flow2FromTextBox.TextChanged += new System.EventHandler(this.flow2FromTextBox_TextChanged);
|
||||
//
|
||||
// flow2CheckBox
|
||||
//
|
||||
this.flow2CheckBox.AutoSize = true;
|
||||
this.flow2CheckBox.Location = new System.Drawing.Point(6, 0);
|
||||
this.flow2CheckBox.Name = "flow2CheckBox";
|
||||
this.flow2CheckBox.Size = new System.Drawing.Size(57, 17);
|
||||
this.flow2CheckBox.TabIndex = 0;
|
||||
this.flow2CheckBox.Text = "Flow 2";
|
||||
this.flow2CheckBox.UseVisualStyleBackColor = true;
|
||||
this.flow2CheckBox.CheckedChanged += new System.EventHandler(this.flow2CheckBox_CheckedChanged);
|
||||
//
|
||||
// flow1GroupBox
|
||||
//
|
||||
this.flow1GroupBox.Controls.Add(this.flow1ToExclamation);
|
||||
this.flow1GroupBox.Controls.Add(this.flow1FromExclamation);
|
||||
this.flow1GroupBox.Controls.Add(this.m3hLabel2);
|
||||
this.flow1GroupBox.Controls.Add(this.m3hLabel1);
|
||||
this.flow1GroupBox.Controls.Add(this.toLabel2);
|
||||
this.flow1GroupBox.Controls.Add(this.fromLabel2);
|
||||
this.flow1GroupBox.Controls.Add(this.flow1ToTextBox);
|
||||
this.flow1GroupBox.Controls.Add(this.flow1FromTextBox);
|
||||
this.flow1GroupBox.Controls.Add(this.flow1CheckBox);
|
||||
this.flow1GroupBox.Location = new System.Drawing.Point(7, 7);
|
||||
this.flow1GroupBox.Name = "flow1GroupBox";
|
||||
this.flow1GroupBox.Size = new System.Drawing.Size(221, 77);
|
||||
this.flow1GroupBox.TabIndex = 4;
|
||||
this.flow1GroupBox.TabStop = false;
|
||||
//
|
||||
// flow1ToExclamation
|
||||
//
|
||||
this.flow1ToExclamation.AutoSize = true;
|
||||
this.flow1ToExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow1ToExclamation.Location = new System.Drawing.Point(167, 49);
|
||||
this.flow1ToExclamation.Name = "flow1ToExclamation";
|
||||
this.flow1ToExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow1ToExclamation.TabIndex = 8;
|
||||
this.flow1ToExclamation.Text = "!";
|
||||
this.flow1ToExclamation.Visible = false;
|
||||
//
|
||||
// flow1FromExclamation
|
||||
//
|
||||
this.flow1FromExclamation.AutoSize = true;
|
||||
this.flow1FromExclamation.ForeColor = System.Drawing.Color.Red;
|
||||
this.flow1FromExclamation.Location = new System.Drawing.Point(167, 24);
|
||||
this.flow1FromExclamation.Name = "flow1FromExclamation";
|
||||
this.flow1FromExclamation.Size = new System.Drawing.Size(10, 13);
|
||||
this.flow1FromExclamation.TabIndex = 7;
|
||||
this.flow1FromExclamation.Text = "!";
|
||||
this.flow1FromExclamation.Visible = false;
|
||||
//
|
||||
// m3hLabel2
|
||||
//
|
||||
this.m3hLabel2.AutoSize = true;
|
||||
this.m3hLabel2.Location = new System.Drawing.Point(178, 48);
|
||||
this.m3hLabel2.Name = "m3hLabel2";
|
||||
this.m3hLabel2.Size = new System.Drawing.Size(32, 13);
|
||||
this.m3hLabel2.TabIndex = 6;
|
||||
this.m3hLabel2.Text = "m3/h";
|
||||
//
|
||||
// m3hLabel1
|
||||
//
|
||||
this.m3hLabel1.AutoSize = true;
|
||||
this.m3hLabel1.Location = new System.Drawing.Point(177, 23);
|
||||
this.m3hLabel1.Name = "m3hLabel1";
|
||||
this.m3hLabel1.Size = new System.Drawing.Size(32, 13);
|
||||
this.m3hLabel1.TabIndex = 5;
|
||||
this.m3hLabel1.Text = "m3/h";
|
||||
//
|
||||
// toLabel2
|
||||
//
|
||||
this.toLabel2.AutoSize = true;
|
||||
this.toLabel2.Location = new System.Drawing.Point(14, 48);
|
||||
this.toLabel2.Name = "toLabel2";
|
||||
this.toLabel2.Size = new System.Drawing.Size(20, 13);
|
||||
this.toLabel2.TabIndex = 4;
|
||||
this.toLabel2.Text = "To";
|
||||
//
|
||||
// fromLabel2
|
||||
//
|
||||
this.fromLabel2.AutoSize = true;
|
||||
this.fromLabel2.Location = new System.Drawing.Point(14, 23);
|
||||
this.fromLabel2.Name = "fromLabel2";
|
||||
this.fromLabel2.Size = new System.Drawing.Size(30, 13);
|
||||
this.fromLabel2.TabIndex = 3;
|
||||
this.fromLabel2.Text = "From";
|
||||
//
|
||||
// flow1ToTextBox
|
||||
//
|
||||
this.flow1ToTextBox.Location = new System.Drawing.Point(65, 45);
|
||||
this.flow1ToTextBox.Name = "flow1ToTextBox";
|
||||
this.flow1ToTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow1ToTextBox.TabIndex = 2;
|
||||
this.flow1ToTextBox.TextChanged += new System.EventHandler(this.flow1ToTextBox_TextChanged);
|
||||
//
|
||||
// flow1FromTextBox
|
||||
//
|
||||
this.flow1FromTextBox.Location = new System.Drawing.Point(65, 20);
|
||||
this.flow1FromTextBox.Name = "flow1FromTextBox";
|
||||
this.flow1FromTextBox.Size = new System.Drawing.Size(100, 20);
|
||||
this.flow1FromTextBox.TabIndex = 1;
|
||||
this.flow1FromTextBox.TextChanged += new System.EventHandler(this.flow1FromTextBox_TextChanged);
|
||||
//
|
||||
// flow1CheckBox
|
||||
//
|
||||
this.flow1CheckBox.AutoSize = true;
|
||||
this.flow1CheckBox.Location = new System.Drawing.Point(6, 0);
|
||||
this.flow1CheckBox.Name = "flow1CheckBox";
|
||||
this.flow1CheckBox.Size = new System.Drawing.Size(57, 17);
|
||||
this.flow1CheckBox.TabIndex = 0;
|
||||
this.flow1CheckBox.Text = "Flow 1";
|
||||
this.flow1CheckBox.UseVisualStyleBackColor = true;
|
||||
this.flow1CheckBox.CheckedChanged += new System.EventHandler(this.flow1CheckBox_CheckedChanged);
|
||||
//
|
||||
// benchesTabControl
|
||||
//
|
||||
this.benchesTabControl.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.benchesTabControl.Location = new System.Drawing.Point(0, 0);
|
||||
this.benchesTabControl.Name = "benchesTabControl";
|
||||
this.benchesTabControl.SelectedIndex = 0;
|
||||
this.benchesTabControl.Size = new System.Drawing.Size(1202, 356);
|
||||
this.benchesTabControl.TabIndex = 0;
|
||||
//
|
||||
// MidOrWaterMetersCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "MidOrWaterMetersCtrl";
|
||||
this.Size = new System.Drawing.Size(1202, 450);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.flow5GroupBox.ResumeLayout(false);
|
||||
this.flow5GroupBox.PerformLayout();
|
||||
this.flow4GroupBox.ResumeLayout(false);
|
||||
this.flow4GroupBox.PerformLayout();
|
||||
this.flow3GroupBox.ResumeLayout(false);
|
||||
this.flow3GroupBox.PerformLayout();
|
||||
this.flow2GroupBox.ResumeLayout(false);
|
||||
this.flow2GroupBox.PerformLayout();
|
||||
this.flow1GroupBox.ResumeLayout(false);
|
||||
this.flow1GroupBox.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.TabControl benchesTabControl;
|
||||
private System.Windows.Forms.GroupBox flow3GroupBox;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.Label toLabel4;
|
||||
private System.Windows.Forms.Label fromLabel4;
|
||||
private System.Windows.Forms.TextBox flow3ToTextBox;
|
||||
private System.Windows.Forms.TextBox flow3FromTextBox;
|
||||
private System.Windows.Forms.CheckBox flow3CheckBox;
|
||||
private System.Windows.Forms.GroupBox flow2GroupBox;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label toLabel3;
|
||||
private System.Windows.Forms.Label fromLabel3;
|
||||
private System.Windows.Forms.TextBox flow2ToTextBox;
|
||||
private System.Windows.Forms.TextBox flow2FromTextBox;
|
||||
private System.Windows.Forms.CheckBox flow2CheckBox;
|
||||
private System.Windows.Forms.GroupBox flow1GroupBox;
|
||||
private System.Windows.Forms.Label m3hLabel2;
|
||||
private System.Windows.Forms.Label m3hLabel1;
|
||||
private System.Windows.Forms.Label toLabel2;
|
||||
private System.Windows.Forms.Label fromLabel2;
|
||||
private System.Windows.Forms.TextBox flow1ToTextBox;
|
||||
private System.Windows.Forms.TextBox flow1FromTextBox;
|
||||
private System.Windows.Forms.CheckBox flow1CheckBox;
|
||||
private System.Windows.Forms.Label flow1ToExclamation;
|
||||
private System.Windows.Forms.Label flow1FromExclamation;
|
||||
private System.Windows.Forms.Label flow3ToExclamation;
|
||||
private System.Windows.Forms.Label flow3FromExclamation;
|
||||
private System.Windows.Forms.Label flow2ToExclamation;
|
||||
private System.Windows.Forms.Label flow2FromExclamation;
|
||||
private System.Windows.Forms.GroupBox flow5GroupBox;
|
||||
private System.Windows.Forms.Label flow5ToExclamation;
|
||||
private System.Windows.Forms.Label flow5FromExclamation;
|
||||
private System.Windows.Forms.Label label9;
|
||||
private System.Windows.Forms.Label label10;
|
||||
private System.Windows.Forms.Label toLabel6;
|
||||
private System.Windows.Forms.Label fromLabel6;
|
||||
private System.Windows.Forms.TextBox flow5ToTextBox;
|
||||
private System.Windows.Forms.TextBox flow5FromTextBox;
|
||||
private System.Windows.Forms.CheckBox flow5CheckBox;
|
||||
private System.Windows.Forms.GroupBox flow4GroupBox;
|
||||
private System.Windows.Forms.Label flow4ToExclamation;
|
||||
private System.Windows.Forms.Label flow4FromExclamation;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.Label toLabel5;
|
||||
private System.Windows.Forms.Label fromLabel5;
|
||||
private System.Windows.Forms.TextBox flow4ToTextBox;
|
||||
private System.Windows.Forms.TextBox flow4FromTextBox;
|
||||
private System.Windows.Forms.CheckBox flow4CheckBox;
|
||||
}
|
||||
}
|
||||
@@ -1,335 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using Results.Entities;
|
||||
using Statistics.Resources;
|
||||
using System.Globalization;
|
||||
|
||||
namespace Statistics.UserControls
|
||||
{
|
||||
public partial class MidOrWaterMetersCtrl : UserControl
|
||||
{
|
||||
public int MidId; /// 1-based MID Id.
|
||||
public StatisticsDlg Parent;
|
||||
|
||||
|
||||
public bool IsFlowEnabled(int i)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 1: return flow1CheckBox.Checked;
|
||||
case 2: return flow2CheckBox.Checked;
|
||||
case 3: return flow3CheckBox.Checked;
|
||||
case 4: return flow4CheckBox.Checked;
|
||||
case 5: return flow5CheckBox.Checked;
|
||||
default: return false;
|
||||
}
|
||||
}
|
||||
|
||||
public double FlowFrom(int i)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 1: return flow1From;
|
||||
case 2: return flow2From;
|
||||
case 3: return flow3From;
|
||||
case 4: return flow4From;
|
||||
case 5: return flow5From;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
public double FlowTo(int i)
|
||||
{
|
||||
switch (i)
|
||||
{
|
||||
case 1: return flow1To;
|
||||
case 2: return flow2To;
|
||||
case 3: return flow3To;
|
||||
case 4: return flow4To;
|
||||
case 5: return flow5To;
|
||||
default: return 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/// All flows are in m3/h
|
||||
double flow1From;
|
||||
double flow1To;
|
||||
double flow2From;
|
||||
double flow2To;
|
||||
double flow3From;
|
||||
double flow3To;
|
||||
double flow4From;
|
||||
double flow4To;
|
||||
double flow5From;
|
||||
double flow5To;
|
||||
|
||||
|
||||
StatisticsCtrl GetStatistics(int i)
|
||||
{
|
||||
if ((i >= 0) && (i < benchesTabControl.TabPages.Count) && benchesTabControl.TabPages[i].Controls.Count > 0)
|
||||
{
|
||||
return benchesTabControl.TabPages[i].Controls[0] as StatisticsCtrl;
|
||||
}
|
||||
else return null;
|
||||
}
|
||||
|
||||
|
||||
public IList<TestRslt> UpdateRequest(int benchId)
|
||||
{
|
||||
return Parent.UpdateRequest(benchId, MidId);
|
||||
}
|
||||
|
||||
|
||||
public MidOrWaterMetersCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
ManageCheckGroupBox(flow1CheckBox, flow1GroupBox);
|
||||
ManageCheckGroupBox(flow2CheckBox, flow2GroupBox);
|
||||
ManageCheckGroupBox(flow3CheckBox, flow3GroupBox);
|
||||
ManageCheckGroupBox(flow4CheckBox, flow4GroupBox);
|
||||
ManageCheckGroupBox(flow5CheckBox, flow5GroupBox);
|
||||
|
||||
for (int i = 0; i < Program.LocalSettings.BenchNames.Length; i++)
|
||||
{
|
||||
TabPage tp = new TabPage();
|
||||
tp.Text = Program.LocalSettings.BenchNames[i];
|
||||
StatisticsCtrl statistics = new StatisticsCtrl();
|
||||
statistics.Id = i;
|
||||
statistics.MidCtrl = this;
|
||||
statistics.Dock = DockStyle.Fill;
|
||||
tp.Controls.Add(statistics);
|
||||
benchesTabControl.TabPages.Add(tp);
|
||||
}
|
||||
}
|
||||
|
||||
void Localize()
|
||||
{
|
||||
flow1CheckBox.Text = string.Format("{0} 1", Strings.Flow);
|
||||
flow2CheckBox.Text = string.Format("{0} 2", Strings.Flow);
|
||||
flow3CheckBox.Text = string.Format("{0} 3", Strings.Flow);
|
||||
flow4CheckBox.Text = string.Format("{0} 4", Strings.Flow);
|
||||
flow5CheckBox.Text = string.Format("{0} 5", Strings.Flow);
|
||||
fromLabel2.Text = Strings.From;
|
||||
fromLabel3.Text = Strings.From;
|
||||
fromLabel4.Text = Strings.From;
|
||||
fromLabel5.Text = Strings.From;
|
||||
fromLabel6.Text = Strings.From;
|
||||
toLabel2.Text = Strings.To;
|
||||
toLabel3.Text = Strings.To;
|
||||
toLabel4.Text = Strings.To;
|
||||
toLabel5.Text = Strings.To;
|
||||
toLabel6.Text = Strings.To;
|
||||
}
|
||||
|
||||
public void Data2UI()
|
||||
{
|
||||
LocalSettings ls = Program.LocalSettings;
|
||||
flow1CheckBox.Checked = ls.GetFlowEnabled(MidId, 0);
|
||||
flow2CheckBox.Checked = ls.GetFlowEnabled(MidId, 1);
|
||||
flow3CheckBox.Checked = ls.GetFlowEnabled(MidId, 2);
|
||||
flow4CheckBox.Checked = ls.GetFlowEnabled(MidId, 3);
|
||||
flow5CheckBox.Checked = ls.GetFlowEnabled(MidId, 4);
|
||||
flow1From = ls.GetFlowFrom(MidId, 0);
|
||||
flow2From = ls.GetFlowFrom(MidId, 1);
|
||||
flow3From = ls.GetFlowFrom(MidId, 2);
|
||||
flow4From = ls.GetFlowFrom(MidId, 3);
|
||||
flow5From = ls.GetFlowFrom(MidId, 4);
|
||||
flow1FromTextBox.Text = flow1From.ToString();
|
||||
flow2FromTextBox.Text = flow2From.ToString();
|
||||
flow3FromTextBox.Text = flow3From.ToString();
|
||||
flow4FromTextBox.Text = flow4From.ToString();
|
||||
flow5FromTextBox.Text = flow5From.ToString();
|
||||
flow1To = ls.GetFlowTo(MidId, 0);
|
||||
flow2To = ls.GetFlowTo(MidId, 1);
|
||||
flow3To = ls.GetFlowTo(MidId, 2);
|
||||
flow4To = ls.GetFlowTo(MidId, 3);
|
||||
flow5To = ls.GetFlowTo(MidId, 4);
|
||||
flow1ToTextBox.Text = flow1To.ToString();
|
||||
flow2ToTextBox.Text = flow2To.ToString();
|
||||
flow3ToTextBox.Text = flow3To.ToString();
|
||||
flow4ToTextBox.Text = flow4To.ToString();
|
||||
flow5ToTextBox.Text = flow5To.ToString();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
/// <returns>true when successful</returns>
|
||||
public void UI2Data()
|
||||
{
|
||||
LocalSettings ls = Program.LocalSettings;
|
||||
ls.SetFlowEnabled(MidId, 0, flow1CheckBox.Checked);
|
||||
ls.SetFlowEnabled(MidId, 1, flow2CheckBox.Checked);
|
||||
ls.SetFlowEnabled(MidId, 2, flow3CheckBox.Checked);
|
||||
ls.SetFlowEnabled(MidId, 3, flow4CheckBox.Checked);
|
||||
ls.SetFlowEnabled(MidId, 4, flow5CheckBox.Checked);
|
||||
ls.SetFlowFrom(MidId, 0, flow1From);
|
||||
ls.SetFlowFrom(MidId, 1, flow2From);
|
||||
ls.SetFlowFrom(MidId, 2, flow3From);
|
||||
ls.SetFlowFrom(MidId, 3, flow4From);
|
||||
ls.SetFlowFrom(MidId, 4, flow5From);
|
||||
ls.SetFlowTo(MidId, 0, flow1To);
|
||||
ls.SetFlowTo(MidId, 1, flow2To);
|
||||
ls.SetFlowTo(MidId, 2, flow3To);
|
||||
ls.SetFlowTo(MidId, 3, flow4To);
|
||||
ls.SetFlowTo(MidId, 4, flow5To);
|
||||
}
|
||||
|
||||
private void flow1CheckBox_CheckedChanged(object sender, EventArgs e) { ManageCheckGroupBox(flow1CheckBox, flow1GroupBox); }
|
||||
private void flow2CheckBox_CheckedChanged(object sender, EventArgs e) { ManageCheckGroupBox(flow2CheckBox, flow2GroupBox); }
|
||||
private void flow3CheckBox_CheckedChanged(object sender, EventArgs e) { ManageCheckGroupBox(flow3CheckBox, flow3GroupBox); }
|
||||
private void flow4CheckBox_CheckedChanged(object sender, EventArgs e) { ManageCheckGroupBox(flow4CheckBox, flow4GroupBox); }
|
||||
private void flow5CheckBox_CheckedChanged(object sender, EventArgs e) { ManageCheckGroupBox(flow5CheckBox, flow5GroupBox); }
|
||||
|
||||
private void ManageCheckGroupBox(CheckBox chk, GroupBox grp)
|
||||
{
|
||||
/// Make sure the CheckBox isn't in the GroupBox. This will only happen the first time.
|
||||
if (chk.Parent == grp)
|
||||
{
|
||||
grp.Parent.Controls.Add(chk); /// Reparent the CheckBox so it's not in the GroupBox.
|
||||
chk.Location = new Point(chk.Left + grp.Left, chk.Top + grp.Top); /// Adjust the CheckBox's location.
|
||||
chk.BringToFront(); /// Move the CheckBox to the top of the stacking order.
|
||||
}
|
||||
|
||||
/// Enable or disable the GroupBox.
|
||||
grp.Enabled = chk.Checked;
|
||||
}
|
||||
|
||||
private void flow1FromTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow1FromTextBox.Text))
|
||||
{
|
||||
flow1From = 0;
|
||||
flow1FromExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow1FromExclamation.Visible = !((double.TryParse(flow1FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow1From) ||
|
||||
double.TryParse(flow1FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow1From)) &&
|
||||
(flow1From >= 0));
|
||||
}
|
||||
|
||||
private void flow1ToTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow1ToTextBox.Text))
|
||||
{
|
||||
flow1To = 0;
|
||||
flow1ToExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow1ToExclamation.Visible = !((double.TryParse(flow1ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow1To) ||
|
||||
double.TryParse(flow1ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow1To)) &&
|
||||
(flow1To >= 0));
|
||||
}
|
||||
|
||||
private void flow2FromTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow2FromTextBox.Text))
|
||||
{
|
||||
flow2From = 0;
|
||||
flow2FromExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow2FromExclamation.Visible = !((double.TryParse(flow2FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow2From) ||
|
||||
double.TryParse(flow2FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow2From)) &&
|
||||
(flow2From >= 0));
|
||||
}
|
||||
|
||||
private void flow2ToTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow2ToTextBox.Text))
|
||||
{
|
||||
flow2To = 0;
|
||||
flow2ToExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow2ToExclamation.Visible = !((double.TryParse(flow2ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow2To) ||
|
||||
double.TryParse(flow2ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow2To)) &&
|
||||
(flow2To >= 0));
|
||||
}
|
||||
|
||||
private void flow3FromTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow3FromTextBox.Text))
|
||||
{
|
||||
flow3From = 0;
|
||||
flow3FromExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow3FromExclamation.Visible = !((double.TryParse(flow3FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow3From) ||
|
||||
double.TryParse(flow3FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow3From)) &&
|
||||
(flow3From >= 0));
|
||||
}
|
||||
|
||||
private void flow3ToTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow3ToTextBox.Text))
|
||||
{
|
||||
flow3To = 0;
|
||||
flow3ToExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow3ToExclamation.Visible = !((double.TryParse(flow3ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow3To) ||
|
||||
double.TryParse(flow3ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow3To)) &&
|
||||
(flow3To >= 0));
|
||||
}
|
||||
|
||||
private void flow4FromTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow4FromTextBox.Text))
|
||||
{
|
||||
flow4From = 0;
|
||||
flow4FromExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow4FromExclamation.Visible = !((double.TryParse(flow4FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow4From) ||
|
||||
double.TryParse(flow4FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow4From)) &&
|
||||
(flow4From >= 0));
|
||||
}
|
||||
|
||||
private void flow4ToTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow4ToTextBox.Text))
|
||||
{
|
||||
flow4To = 0;
|
||||
flow4ToExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow4ToExclamation.Visible = !((double.TryParse(flow4ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow4To) ||
|
||||
double.TryParse(flow4ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow4To)) &&
|
||||
(flow4To >= 0));
|
||||
}
|
||||
|
||||
private void flow5FromTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow5FromTextBox.Text))
|
||||
{
|
||||
flow5From = 0;
|
||||
flow5FromExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow5FromExclamation.Visible = !((double.TryParse(flow5FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow5From) ||
|
||||
double.TryParse(flow5FromTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow5From)) &&
|
||||
(flow5From >= 0));
|
||||
}
|
||||
|
||||
private void flow5ToTextBox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(flow5ToTextBox.Text))
|
||||
{
|
||||
flow5To = 0;
|
||||
flow5ToExclamation.Visible = false;
|
||||
}
|
||||
else
|
||||
flow5ToExclamation.Visible = !((double.TryParse(flow5ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.CurrentCulture, out flow5To) ||
|
||||
double.TryParse(flow5ToTextBox.Text, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out flow5To)) &&
|
||||
(flow5To >= 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,120 +0,0 @@
|
||||
<?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>
|
||||
-158
@@ -1,158 +0,0 @@
|
||||
namespace Statistics.UserControls
|
||||
{
|
||||
partial class StatisticsCtrl
|
||||
{
|
||||
/// <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()
|
||||
{
|
||||
System.Windows.Forms.DataVisualization.Charting.ChartArea chartArea2 = new System.Windows.Forms.DataVisualization.Charting.ChartArea();
|
||||
System.Windows.Forms.DataVisualization.Charting.Legend legend2 = new System.Windows.Forms.DataVisualization.Charting.Legend();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series6 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series7 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series8 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series9 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
System.Windows.Forms.DataVisualization.Charting.Series series10 = new System.Windows.Forms.DataVisualization.Charting.Series();
|
||||
this.updateButton = new System.Windows.Forms.Button();
|
||||
this.chart1 = new System.Windows.Forms.DataVisualization.Charting.Chart();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.exportButton = new System.Windows.Forms.Button();
|
||||
((System.ComponentModel.ISupportInitialize)(this.chart1)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// updateButton
|
||||
//
|
||||
this.updateButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.updateButton.Location = new System.Drawing.Point(3, 7);
|
||||
this.updateButton.Name = "updateButton";
|
||||
this.updateButton.Size = new System.Drawing.Size(90, 43);
|
||||
this.updateButton.TabIndex = 4;
|
||||
this.updateButton.Text = "Update data";
|
||||
this.updateButton.UseVisualStyleBackColor = true;
|
||||
this.updateButton.Click += new System.EventHandler(this.updateButton_Click);
|
||||
//
|
||||
// chart1
|
||||
//
|
||||
chartArea2.Name = "ChartArea1";
|
||||
this.chart1.ChartAreas.Add(chartArea2);
|
||||
this.chart1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
legend2.Name = "Legend1";
|
||||
this.chart1.Legends.Add(legend2);
|
||||
this.chart1.Location = new System.Drawing.Point(0, 0);
|
||||
this.chart1.Name = "chart1";
|
||||
series6.ChartArea = "ChartArea1";
|
||||
series6.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
|
||||
series6.Color = System.Drawing.Color.ForestGreen;
|
||||
series6.Legend = "Legend1";
|
||||
series6.Name = "Flow 1";
|
||||
series7.ChartArea = "ChartArea1";
|
||||
series7.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
|
||||
series7.Color = System.Drawing.Color.Red;
|
||||
series7.Legend = "Legend1";
|
||||
series7.Name = "Flow 2";
|
||||
series8.ChartArea = "ChartArea1";
|
||||
series8.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
|
||||
series8.Color = System.Drawing.Color.Blue;
|
||||
series8.Legend = "Legend1";
|
||||
series8.Name = "Flow 3";
|
||||
series9.ChartArea = "ChartArea1";
|
||||
series9.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
|
||||
series9.Color = System.Drawing.Color.DarkOrange;
|
||||
series9.Legend = "Legend1";
|
||||
series9.Name = "Flow 4";
|
||||
series10.ChartArea = "ChartArea1";
|
||||
series10.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Point;
|
||||
series10.Color = System.Drawing.Color.Fuchsia;
|
||||
series10.Legend = "Legend1";
|
||||
series10.Name = "Flow 5";
|
||||
this.chart1.Series.Add(series6);
|
||||
this.chart1.Series.Add(series7);
|
||||
this.chart1.Series.Add(series8);
|
||||
this.chart1.Series.Add(series9);
|
||||
this.chart1.Series.Add(series10);
|
||||
this.chart1.Size = new System.Drawing.Size(476, 381);
|
||||
this.chart1.TabIndex = 5;
|
||||
this.chart1.Text = "chart1";
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer1.IsSplitterFixed = true;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.chart1);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.exportButton);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.updateButton);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(577, 381);
|
||||
this.splitContainer1.SplitterDistance = 476;
|
||||
this.splitContainer1.SplitterWidth = 1;
|
||||
this.splitContainer1.TabIndex = 6;
|
||||
//
|
||||
// exportButton
|
||||
//
|
||||
this.exportButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.exportButton.Location = new System.Drawing.Point(3, 56);
|
||||
this.exportButton.Name = "exportButton";
|
||||
this.exportButton.Size = new System.Drawing.Size(90, 43);
|
||||
this.exportButton.TabIndex = 5;
|
||||
this.exportButton.Text = "Export";
|
||||
this.exportButton.UseVisualStyleBackColor = true;
|
||||
this.exportButton.Click += new System.EventHandler(this.exportButton_Click);
|
||||
//
|
||||
// StatisticsCtrl
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Name = "StatisticsCtrl";
|
||||
this.Size = new System.Drawing.Size(577, 381);
|
||||
((System.ComponentModel.ISupportInitialize)(this.chart1)).EndInit();
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Button updateButton;
|
||||
private System.Windows.Forms.DataVisualization.Charting.Chart chart1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.Button exportButton;
|
||||
}
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
///
|
||||
/// Copyright (c) 2018 Sensus Slovensko a.s.
|
||||
///
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
using Results.Entities;
|
||||
using Statistics.Resources;
|
||||
|
||||
namespace Statistics.UserControls
|
||||
{
|
||||
public partial class StatisticsCtrl : UserControl
|
||||
{
|
||||
public int Id; /// Index of the tab page
|
||||
public MidOrWaterMetersCtrl MidCtrl; /// Reference to the parent control
|
||||
|
||||
public StatisticsCtrl()
|
||||
{
|
||||
InitializeComponent();
|
||||
chart1.ChartAreas[0].AxisX.LabelStyle.Format = "dd.MM.yy";
|
||||
chart1.ChartAreas[0].AxisX.Interval = 1;
|
||||
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Days;
|
||||
}
|
||||
|
||||
private void updateButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (MidCtrl != null)
|
||||
{
|
||||
for (int i = 1; i <= 5; i++)
|
||||
{
|
||||
chart1.Series[string.Format("Flow {0}", i)].Points.Clear();
|
||||
}
|
||||
|
||||
IList<TestRslt> results = MidCtrl.UpdateRequest(Id);
|
||||
|
||||
if (results != null)
|
||||
{
|
||||
foreach (var r in results)
|
||||
{
|
||||
if (r.ErrorMaster != 0)
|
||||
{
|
||||
for (int i = 1; i <= 5; i++)
|
||||
{
|
||||
if (MidCtrl.IsFlowEnabled(i) && (MidCtrl.FlowFrom(i) <= r.FlowMean) && (r.FlowMean <= MidCtrl.FlowTo(i)))
|
||||
{
|
||||
chart1.Series[string.Format("Flow {0}", i)].Points.AddXY(r.StartTime, r.ErrorMaster);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void exportButton_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user