Many fixes, Results.Entities.Components added, builds OK, creates the results DB.

This commit is contained in:
Milan Hanajik 2016-01-01 00:00:03 +01:00
parent bb260426c9
commit 98f74fa971
32 changed files with 1329 additions and 181 deletions

View File

@ -63,12 +63,6 @@
<ItemGroup>
<Compile Include="Data.cs" />
<Compile Include="DatabaseSettings.cs" />
<Compile Include="DatabaseSettingsDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="DatabaseSettingsDlg.designer.cs">
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</Compile>
<Compile Include="DBSettings.cs" />
<Compile Include="Entities\BenchPath.cs" />
<Compile Include="Entities\Component.cs" />
@ -121,9 +115,6 @@
<Compile Include="ResultItemSpec.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="DatabaseSettingsDlg.resx">
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Strings.resx">
<SubType>Designer</SubType>
</EmbeddedResource>

View File

@ -37,6 +37,14 @@ namespace Config.Entities
Combined,
}
public enum CompoundMeterId : byte
{
Single,
CompoundMain,
CompoundAux,
Compound,
}
public enum Medium
{
ColdWater,

View File

@ -138,7 +138,7 @@ namespace Results
/// <param name="dbType">DBType.SQLite or DBType.MySql</param>
/// <param name="connectionString">Connection string</param>
/// <returns>true=success, false=error</returns>
public static bool CreateEmptyResultsDB(Config.Entities.DBType dbType)
public static bool CreateEmptyDB()
{
ISessionFactory sessionFactory = CreateSessionFactory(true);
if (sessionFactory == null) return false;

View File

@ -11,10 +11,17 @@ namespace Results.Entities
public virtual int Id { get; protected set; }
public virtual int BenchId { get; set; }
public virtual int BatchNr { get; set; }
public virtual string ProgramVersion { get; set; }
public virtual string UserName { get; set; }
public virtual string ProcedureName { get; set; }
public virtual int ProcedureRevision { get; set; }
public virtual float Custom1 { get; set; }
public virtual float Custom2 { get; set; }
public virtual float Custom3 { get; set; }
public virtual DateTime StartTime { get; set; }
public virtual DateTime EndTime { get; set; }
public virtual bool RsltsSent { get; set; }
public virtual bool RsltsPrinted { get; set; }
public virtual IList<TestData> Tests { get; set; }
public virtual IList<WaterMeter> WaterMeters { get; set; }
public virtual IList<TestRslt> TestRslts { get; set; }

View File

@ -0,0 +1,68 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
namespace Results.Entities
{
public class Components
{
public virtual int Id { get; protected set; }
public virtual int BenchId { get; set; }
public virtual string BenchName { get; set; }
public virtual string Pump { get; set; }
public virtual string RegValve { get; set; }
public virtual string Flowmeter { get; set; }
public virtual string Diverter { get; set; }
public virtual string Scale { get; set; }
public virtual string Custom1 { get; set; }
public virtual string Custom2 { get; set; }
public virtual string Custom3 { get; set; }
protected Components()
{
BenchId = 0;
BenchName = string.Empty;
Pump = string.Empty;
RegValve = string.Empty;
Flowmeter = string.Empty;
Diverter = string.Empty;
Scale = string.Empty;
Custom1 = string.Empty;
Custom2 = string.Empty;
Custom3 = string.Empty;
}
public Components(int benchId, string benchName, string pump, string flowmeter,
string scale, string regValve, string diverter)
{
BenchId = benchId;
BenchName = benchName;
Pump = pump;
RegValve = regValve;
Flowmeter = flowmeter;
Diverter = diverter;
Scale = scale;
Custom1 = string.Empty;
Custom2 = string.Empty;
Custom3 = string.Empty;
}
public virtual bool Equals(Components bc)
{
if (BenchId != bc.BenchId) return false;
if (!BenchName.Equals(bc.BenchName)) return false;
if (!Pump.Equals(bc.Pump)) return false;
if (!RegValve.Equals(bc.RegValve)) return false;
if (!Flowmeter.Equals(bc.Flowmeter)) return false;
if (!Diverter.Equals(bc.Diverter)) return false;
if (!Scale.Equals(bc.Scale)) return false;
if (!Custom1.Equals(bc.Custom1)) return false;
if (!Custom2.Equals(bc.Custom2)) return false;
if (!Custom3.Equals(bc.Custom3)) return false;
return true;
}
}
}

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
/// Copyright (c) 2013-2016 Sensus Metering Systems
///
using System;
@ -9,47 +9,46 @@ namespace Results.Entities
{
public virtual int Id { get; protected set; }
public virtual double PulsesMeter { get; set; } /// # of pulses
public virtual double PulsesMaster { get; set; }
public virtual double VolumeStart { get; set; } /// liter
public virtual double VolumeEnd { get; set; } /// liter
public virtual double VolumeMeter { get; set; } /// liter
public virtual double VolumeRef { get; set; } /// liter
public virtual double TimestampStart { get; set; } /// sec.
public virtual double TimestampEnd { get; set; } /// sec.
public virtual double TestTime { get; set; } /// sec.
public virtual double Error { get; set; } /// %
public virtual bool Passed { get; set; } /// true=test passed - Not mapped to DB !!!
public virtual byte CompoundMeterId { get; set; } /// 0=single, 1=compound/main, 2=compound/aux., 3=compound/overal
public virtual double PulsesMeter { get; set; } /// # of pulses
public virtual double PulsesMaster { get; set; }
public virtual double VolumeStart { get; set; } /// liter
public virtual double VolumeEnd { get; set; } /// liter
public virtual double VolumeMeter { get; set; } /// liter
public virtual double VolumeRef { get; set; } /// liter
public virtual double TimestampStart { get; set; } /// sec.
public virtual double TimestampEnd { get; set; } /// sec.
public virtual double TestTime { get; set; } /// sec.
public virtual double Error { get; set; } /// %
public virtual bool Passed { get; set; } /// true=test passed - Not mapped to DB !!!
public virtual WaterMeter WaterMeter { get; set; } /// reference to the TestData entity
public virtual TestRslt TestRslt { get; set; } /// reference to the TestData entity
public virtual WaterMeter WaterMeter { get; set; } /// reference to the TestData entity
public virtual TestRslt TestRslt { get; set; } /// reference to the TestData entity
/// Wrappers
public string Name() { return TestRslt.Name(); }
public DateTime StartTime() { return TestRslt.StartTime; }
public DateTime EndTime() { return TestRslt.EndTime; }
public double FlowSetTime() { return TestRslt.FlowSetTime; }
public double FlowMass() { return TestRslt.FlowMass; }
public double FlowCTV() { return TestRslt.FlowCTV; }
public double FlowMin() { return TestRslt.FlowMin; }
public double FlowMax() { return TestRslt.FlowMax; }
public double ErrorMaster() { return TestRslt.ErrorMaster; }
public virtual string Name() { return TestRslt.Name(); }
public virtual DateTime StartTime() { return TestRslt.StartTime; }
public virtual DateTime EndTime() { return TestRslt.EndTime; }
public virtual double FlowSetTime() { return TestRslt.FlowSetTime; }
public virtual double FlowMass() { return TestRslt.FlowMass; }
public virtual double FlowCTV() { return TestRslt.FlowCTV; }
public virtual double ErrorMaster() { return TestRslt.ErrorMaster; }
public virtual Components Components(){ return TestRslt.Components; }
///
private TestData TestData() { return TestRslt.TestData; }
protected virtual TestData TestData() { return TestRslt.TestData; }
///
public double Qfrom() { return TestData().Qfrom; }
public double Qto() { return TestData().Qto; }
public double TargetVolume() { return TestData().TargetVolume; }
public double TargetTime() { return TestData().TargetTime; }
public int Repeats() { return TestData().Repeats; }
public string Method() { return TestData().Method; }
public double ErrLimLo() { return TestData().ErrLimLo; }
public double ErrLimHi() { return TestData().ErrLimHi; }
public double Uncertainty() { return TestData().Uncertainty; }
public string Components() { return TestData().Components; }
public virtual int Repeats() { return TestData().Repeats; }
public virtual double Qfrom() { return TestData().Qfrom; }
public virtual double Qto() { return TestData().Qto; }
public virtual double TargetVolume() { return TestData().TargetVolume; }
public virtual double TargetTime() { return TestData().TargetTime; }
public virtual string Method() { return TestData().Method; }
public virtual double ErrLimLo() { return TestData().ErrLimLo; }
public virtual double ErrLimHi() { return TestData().ErrLimHi; }
public virtual double Uncertainty() { return TestData().Uncertainty; }
private MeterTestRslt()
protected MeterTestRslt()
{
}

View File

@ -13,38 +13,55 @@ namespace Results.Entities
{
public virtual int Id { get; protected set; }
public virtual string Name { get; set; }
public virtual double Qfrom { get; set; } /// [m3/h] flow range low limit
public virtual int Repeats { get; set; }
public virtual double Qfrom { get; set; } /// [m3/h] flow range low limit
public virtual double Qto { get; set; } /// [m3/h] flow range high limit
public virtual double TargetVolume { get; set; } /// [l] target test volume
public virtual double TargetTime { get; set; } /// [s] target test time
public virtual int Repeats { get; set; }
public virtual string Method { get; set; }
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 string Components { get; set; } /// TODO: Representation of components
public virtual bool Evaluate { get; set; }
private TestData()
protected TestData()
{
Name = string.Empty;
Method = string.Empty;
}
public TestData(Config.Entities.Test test, string components)
public TestData(Config.Entities.Test test, bool evaluate)
: this()
{
Name = test.Name;
Qfrom = (double)test.Qfrom;
Qto = (double)test.Qto;
TargetVolume = test.Volume;
TargetTime = (double)test.TstTime;
Repeats = test.Repeats;
Method = test.Method;
ErrLimLo = (double)test.ErrLimLo;
ErrLimHi = (double)test.ErrLimHi;
Uncertainty = (double)test.Uncertainty;
Name = test.Name;
Repeats = test.Repeats;
Qfrom = (double)test.Qfrom;
Qto = (double)test.Qto;
TargetVolume = (double)test.Volume;
TargetTime = (double)test.TstTime;
Method = test.Method;
ErrLimLo = (double)test.ErrLimLo;
ErrLimHi = (double)test.ErrLimHi;
Uncertainty = (double)test.Uncertainty;
Evaluate = evaluate;
}
/// TODO:
Components = components;
public virtual bool Equals(TestData td)
{
if (!Name.Equals(td.Name)) return false;
if (Repeats != td.Repeats) return false;
if (Qfrom != td.Qfrom) return false;
if (Qto != td.Qto) return false;
if (TargetVolume != td.TargetVolume) return false;
if (TargetTime != td.TargetTime) return false;
if (!Method.Equals(td.Method)) return false;
if (ErrLimLo != td.ErrLimLo) return false;
if (ErrLimHi != td.ErrLimHi) return false;
if (Uncertainty != td.Uncertainty) return false;
if (Evaluate != td.Evaluate) return false;
return true;
}
}
}

View File

@ -1,5 +1,5 @@
///
/// Copyright (c) 2015 Sensus Metering Systems
/// Copyright (c) 2015-2016 Sensus Metering Systems
///
using System;
using System.Collections.Generic;
@ -12,14 +12,33 @@ namespace Results.Entities
public virtual int Id { get; protected set; }
public virtual Batch Batch { get; set; }
public virtual TestData TestData { get; set; }
public virtual Components Components { get; set; }
public virtual int Part { get; set; }
public virtual int RepetitionNr { get; set; } /// Repetition number from the set of repeated tests (1...)
/// Results
/// Main results
public virtual DateTime StartTime { get; set; } /// Date and time of the test start
public virtual DateTime EndTime { get; set; } /// Date and time of the test end
public virtual double 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; }
public virtual double ConstMaster { get; set; } /// [pls/l] Pulses per liter master flow meter
public virtual double MassStartRaw { get; set; } /// [kg]
public virtual double MassStart { get; set; } /// [kg]
public virtual double MassEndRaw { get; set; } /// [kg]
public virtual double MassEnd { get; set; } /// [kg]
public virtual double MassDiff { get; set; } /// [kg]
public virtual double DensityIn { get; set; } /// [kg/m3]
public virtual double DensityOut { get; set; } /// [kg/m3]
public virtual double DensityDiv { get; set; } /// [kg/m3]
public virtual double Buoyancy { get; set; }
public virtual double FlowMass { get; set; } /// [kg/h] calculated from conventional true value
public virtual double FlowCTV { get; set; } ///![m3/h] calculated from conventional true value
public virtual double VolumeCTV { get; set; } /// [l] Volume conventional true value
public virtual double VolumeMaster { get; set; } /// [l] Volume from the master flow meter
public virtual double ErrorMaster { get; set; } /// [%]
/// Auxiliary results
public virtual float AmbientTempAve { get; set; } /// [deg.C] Average ambient air temperature
public virtual float AmbientPressAve { get; set; } /// Average ambient air pressure
public virtual float AmbientHumiAve { get; set; } /// [%] Average ambient air relative humidity
@ -48,45 +67,36 @@ namespace Results.Entities
public virtual float TempDivEnd { get; set; } /// [deg.C]
public virtual float TempDivMin { get; set; } /// [deg.C]
public virtual float TempDivMax { get; set; } /// [deg.C]
public virtual double MassStartRaw { get; set; } /// [kg]
public virtual double MassStart { get; set; } /// [kg]
public virtual double MassEndRaw { get; set; } /// [kg]
public virtual double MassEnd { get; set; } /// [kg]
public virtual double MassDiff { get; set; } /// [kg]
public virtual double DensityIn { get; set; } /// [kg/m3]
public virtual double DensityOut { get; set; } /// [kg/m3]
public virtual double DensityDiv { get; set; } /// [kg/m3]
public virtual double Buoyancy { get; set; }
public virtual double FlowMass { get; set; } /// [kg/h] calculated from conventional true value
public virtual double FlowCTV { get; set; } /// [l/h] calculated from conventional true value
public virtual double FlowMin { get; set; } /// [l/h] minimum flow
public virtual double FlowMax { get; set; } /// [l/h] maximum flow
public virtual double VolumeCTV { get; set; } /// [l] Volume conventional true value
public virtual double VolumeMaster { get; set; } /// [l] Volume from the master flow meter
public virtual double ErrorMaster { get; set; } /// [%]
public virtual double PulsesMaster { get; set; }
public virtual double ConstMaster { get; set; } /// [pls/l] Pulses per liter master flow meter
public virtual float FlowMin { get; set; } /// [kg/m3] minimum flow
public virtual float FlowMax { get; set; } /// [kg/m3] maximum flow
public virtual float Custom1 { get; set; }
public virtual float Custom2 { get; set; }
public virtual float Custom3 { get; set; }
public virtual float Custom4 { get; set; }
public virtual float Custom5 { get; set; }
public virtual float Custom6 { get; set; }
public virtual float Custom7 { get; set; }
public virtual float Custom8 { get; set; }
/// Wrappers
public string Name()
public virtual string Name()
{
if (TestData.Repeats == 1) { return TestData.Name; }
else { return string.Format("{0} ({1}/{2})", TestData.Name, RepetitionNr, TestData.Repeats); }
}
public double Qfrom() { return TestData.Qfrom; }
public double Qto() { return TestData.Qto; }
public double TargetVolume() { return TestData.TargetVolume; }
public double TargetTime() { return TestData.TargetTime; }
public int Repeats() { return TestData.Repeats; }
public string Method() { return TestData.Method; }
public double ErrLimLo() { return TestData.ErrLimLo; }
public double ErrLimHi() { return TestData.ErrLimHi; }
public double Uncertainty() { return TestData.Uncertainty; }
public string Components() { return TestData.Components; }
public virtual int Repeats() { return TestData.Repeats; }
public virtual double Qfrom() { return TestData.Qfrom; }
public virtual double Qto() { return TestData.Qto; }
public virtual double TargetVolume() { return TestData.TargetVolume; }
public virtual double TargetTime() { return TestData.TargetTime; }
public virtual string Method() { return TestData.Method; }
public virtual double ErrLimLo() { return TestData.ErrLimLo; }
public virtual double ErrLimHi() { return TestData.ErrLimHi; }
public virtual double Uncertainty() { return TestData.Uncertainty; }
public TestRslt()
protected TestRslt()
{
}

View File

@ -8,18 +8,20 @@ namespace Results.Entities
{
public class WaterMeter
{
public virtual int Id { get; protected set; }
public virtual string SerialNr { get; set; } /// PCB Number for iPerl water meter
public virtual string PurchaseOrder { get; set; }
public virtual string EndState { get; set; }
public virtual double QRise { get; set; } /// [l/h] detected Q_rise of a composed meter
public virtual double QFall { get; set; } /// [l/h] detected Q_fall of a composed meter
public virtual int YearOfProduction { get; set; }
public virtual bool Passed { get; set; }
public virtual int Id { get; protected set; }
public virtual string SerialNr { get; set; } /// PCB Number for iPerl water meter
public virtual string PurchaseOrder { get; set; }
public virtual int WMPosition { get; set; }
public virtual string EndState { get; set; }
public virtual double QRise { get; set; } ///![m3/h] detected Q_rise of a composed meter
public virtual double QFall { get; set; } ///![m3/h] detected Q_fall of a composed meter
public virtual int YearOfProduction { get; set; }
public virtual bool Passed { get; set; }
#if IPERLST
public virtual int SerialNrEx { get; set; } /// iPerl : This is the serial number assigned later
public virtual double CalibFactor { get; set; } /// iPerl calibration factor used during the test - Not mapped to DB !!!
public virtual double Q2Correction { get; set; } /// iPerl Q2 correction used during the test - Not mapped to DB !!!
public virtual int SerialNrEx { get; set; } /// iPerl : This is the serial number assigned later
public virtual double OrigCalibFactor { get; set; } /// iPerl calibration factor used during the test - Not mapped to DB !!!
public virtual double CalibFactor { get; set; } /// iPerl calibration factor used during the test - Not mapped to DB !!!
public virtual double Q2Correction { get; set; } /// iPerl Q2 correction used during the test - Not mapped to DB !!!
#endif
public virtual WaterMeterData WaterMeterData { get; set; }
@ -29,25 +31,25 @@ namespace Results.Entities
///
/// Wrappers
///
public string ProductName() { return WaterMeterData.ProductName; }
public string Producer() { return WaterMeterData.Producer; }
public string MetrologicalClass() { return WaterMeterData.MetrologicalClass; }
public string ApprovalInfo() { return WaterMeterData.ApprovalInfo; }
public double Q4_Qmax() { return WaterMeterData.Q4_Qmax; }
public double Qn() { return WaterMeterData.Qn; }
public double Q3() { return WaterMeterData.Q3; }
public double Q2_Qt() { return WaterMeterData.Q2_Qt; }
public double Q1_Qmin() { return WaterMeterData.Q1_Qmin; }
public bool Compound() { return WaterMeterData.Compound; }
public virtual string ProductName() { return WaterMeterData.ProductName; }
public virtual string Producer() { return WaterMeterData.Producer; }
public virtual string MetrologicalClass() { return WaterMeterData.MetrologicalClass; }
public virtual string ApprovalInfo() { return WaterMeterData.ApprovalInfo; }
public virtual double Q4_Qmax() { return WaterMeterData.Q4_Qmax; }
public virtual double Qn() { return WaterMeterData.Qn; }
public virtual double Q3() { return WaterMeterData.Q3; }
public virtual double Q2_Qt() { return WaterMeterData.Q2_Qt; }
public virtual double Q1_Qmin() { return WaterMeterData.Q1_Qmin; }
public virtual bool Compound() { return WaterMeterData.Compound; }
public int BatchNr() { return Batch.BatchNr; }
public int BenchId() { return Batch.BenchId; }
public string ProcedureName() { return Batch.ProcedureName; }
public int ProcedureRevision() { return Batch.ProcedureRevision; }
public DateTime StartTime() { return Batch.StartTime; }
public DateTime EndTime() { return Batch.EndTime; }
public virtual int BatchNr() { return Batch.BatchNr; }
public virtual int BenchId() { return Batch.BenchId; }
public virtual string ProcedureName() { return Batch.ProcedureName; }
public virtual int ProcedureRevision() { return Batch.ProcedureRevision; }
public virtual DateTime StartTime() { return Batch.StartTime; }
public virtual DateTime EndTime() { return Batch.EndTime; }
public MeterTestRslt MeterTestRslt(string testName)
public virtual MeterTestRslt MeterTestRslt(string testName)
{
foreach (var tr in MeterTestRslts)
{
@ -56,7 +58,7 @@ namespace Results.Entities
return null;
}
public TestRslt TestRslt(string testName)
public virtual TestRslt TestRslt(string testName)
{
MeterTestRslt mtr = MeterTestRslt(testName);
if (mtr != null) return mtr.TestRslt;
@ -67,7 +69,7 @@ namespace Results.Entities
/// <summary>
/// Private constructor, initializes a list, used as a base
/// </summary>
private WaterMeter()
protected WaterMeter()
{
MeterTestRslts = new List<MeterTestRslt>();
}
@ -84,7 +86,7 @@ namespace Results.Entities
/// <summary>
/// Function to append result to a list of results and update start/end dates
/// </summary>
public void Append(MeterTestResult meterTestResult)
public virtual void Append(MeterTestResult meterTestResult)
{
/// TODO
}

View File

@ -18,7 +18,11 @@ namespace Results.Entities
public virtual double Q3 { get; set; } /// [m3/h]
public virtual double Q2_Qt { get; set; } /// [m3/h]
public virtual double Q1_Qmin { get; set; } /// [m3/h]
public bool Compound { get; set; }
public virtual bool Compound { get; set; }
#if IPERLST
public virtual int WMTypeId { get; set; }
public virtual int WMTypeRev { get; set; }
#endif
public WaterMeterData()
{

View File

@ -13,10 +13,17 @@ namespace Results.Mappings
Id(x => x.Id);
Map(x => x.BenchId);
Map(x => x.BatchNr);
Map(x => x.ProgramVersion);
Map(x => x.UserName);
Map(x => x.ProcedureName);
Map(x => x.ProcedureRevision);
Map(x => x.Custom1);
Map(x => x.Custom2);
Map(x => x.Custom3);
Map(x => x.StartTime);
Map(x => x.EndTime);
Map(x => x.RsltsSent);
Map(x => x.RsltsPrinted);
HasMany(x => x.Tests)
.Cascade.All();
HasMany(x => x.WaterMeters)

View File

@ -0,0 +1,26 @@
///
/// Copyright (c) 2016 Sensus Metering Systems
///
using FluentNHibernate.Mapping;
using Results.Entities;
namespace Results.Mappings
{
class ComponentsMap : ClassMap<Components>
{
public ComponentsMap()
{
Id(x => x.Id);
Map(x => x.BenchId);
Map(x => x.BenchName);
Map(x => x.Pump);
Map(x => x.RegValve);
Map(x => x.Flowmeter);
Map(x => x.Diverter);
Map(x => x.Scale);
Map(x => x.Custom1);
Map(x => x.Custom2);
Map(x => x.Custom3);
}
}
}

View File

@ -11,6 +11,7 @@ namespace Results.Mappings
public MeterTestRsltMap()
{
Id(x => x.Id);
Map(x => x.CompoundMeterId);
Map(x => x.PulsesMeter);
Map(x => x.PulsesMaster);
Map(x => x.VolumeStart);

View File

@ -21,7 +21,6 @@ namespace Results.Mappings
Map(x => x.ErrLimLo);
Map(x => x.ErrLimHi);
Map(x => x.Uncertainty);
Map(x => x.Components);
}
}
}

View File

@ -13,12 +13,31 @@ namespace Results.Mappings
Id(x => x.Id);
References<Batch>(x => x.Batch);
References<TestData>(x => x.TestData);
References<Components>(x => x.Components);
Map(x => x.Part);
Map(x => x.RepetitionNr);
Map(x => x.StartTime);
Map(x => x.EndTime);
Map(x => x.FlowSetTime);
Map(x => x.TestTime);
Map(x => x.PulsesMaster);
Map(x => x.ConstMaster);
Map(x => x.MassStartRaw);
Map(x => x.MassStart);
Map(x => x.MassEndRaw);
Map(x => x.MassEnd);
Map(x => x.MassDiff);
Map(x => x.DensityIn);
Map(x => x.DensityOut);
Map(x => x.DensityDiv);
Map(x => x.Buoyancy);
Map(x => x.FlowMass);
Map(x => x.FlowCTV);
Map(x => x.VolumeCTV);
Map(x => x.VolumeMaster);
Map(x => x.ErrorMaster);
Map(x => x.AmbientTempAve);
Map(x => x.AmbientPressAve);
Map(x => x.AmbientHumiAve);
@ -47,24 +66,17 @@ namespace Results.Mappings
Map(x => x.TempDivEnd);
Map(x => x.TempDivMin);
Map(x => x.TempDivMax);
Map(x => x.MassStartRaw);
Map(x => x.MassStart);
Map(x => x.MassEndRaw);
Map(x => x.MassEnd);
Map(x => x.MassDiff);
Map(x => x.DensityIn);
Map(x => x.DensityOut);
Map(x => x.DensityDiv);
Map(x => x.Buoyancy);
Map(x => x.FlowMass);
Map(x => x.FlowCTV);
Map(x => x.FlowMin);
Map(x => x.FlowMax);
Map(x => x.VolumeCTV);
Map(x => x.VolumeMaster);
Map(x => x.ErrorMaster);
Map(x => x.PulsesMaster);
Map(x => x.ConstMaster);
Map(x => x.Custom1);
Map(x => x.Custom2);
Map(x => x.Custom3);
Map(x => x.Custom4);
Map(x => x.Custom5);
Map(x => x.Custom6);
Map(x => x.Custom7);
Map(x => x.Custom8);
}
}
}

View File

@ -21,6 +21,10 @@ namespace Results.Mappings
Map(x => x.Q2_Qt);
Map(x => x.Q1_Qmin);
Map(x => x.Compound);
#if IPERLST
Map(x => x.WMTypeId);
Map(x => x.WMTypeRev);
#endif
}
}
}

View File

@ -13,12 +13,15 @@ namespace Results.Mappings
Id(x => x.Id);
Map(x => x.SerialNr);
Map(x => x.PurchaseOrder);
Map(x => x.WMPosition);
Map(x => x.EndState);
Map(x => x.QRise);
Map(x => x.QFall);
Map(x => x.YearOfProduction);
Map(x => x.Passed);
#if IPERLST
Map(x => x.SerialNrEx);
Map(x => x.OrigCalibFactor);
Map(x => x.CalibFactor);
Map(x => x.Q2Correction);
#endif

View File

@ -55,6 +55,7 @@
<ItemGroup>
<Compile Include="DataDeposit.cs" />
<Compile Include="Entities\Batch.cs" />
<Compile Include="Entities\Components.cs" />
<Compile Include="Entities\MeterTestRslt.cs" />
<Compile Include="Entities\TestData.cs" />
<Compile Include="Entities\TestRslt.cs" />
@ -62,6 +63,7 @@
<Compile Include="Entities\WaterMeter.cs" />
<Compile Include="DB.cs" />
<Compile Include="Mappings\BatchMap.cs" />
<Compile Include="Mappings\ComponentsMap.cs" />
<Compile Include="Mappings\MeterTestRsltMap.cs" />
<Compile Include="Mappings\TestDataMap.cs" />
<Compile Include="Mappings\TestRsltMap.cs" />

View File

@ -51,7 +51,7 @@ namespace ResultsBrowser
private void addButton_Click(object sender, EventArgs e)
{
Config.DatabaseSettings bench = new Config.DatabaseSettings();
Config.DatabaseSettingsDlg dlg = new Config.DatabaseSettingsDlg(bench);
Forms.DatabaseSettingsDlg dlg = new Forms.DatabaseSettingsDlg(bench);
DialogResult dr = dlg.ShowDialog();
if (dr == DialogResult.OK)
{
@ -91,7 +91,7 @@ namespace ResultsBrowser
Config.DatabaseSettings ori = localSettings.TestBenches[testBenchesListBox.SelectedIndex];
Config.DatabaseSettings bench = (Config.DatabaseSettings)ori.Clone();
Config.DatabaseSettingsDlg dlg = new Config.DatabaseSettingsDlg(bench);
Forms.DatabaseSettingsDlg dlg = new Forms.DatabaseSettingsDlg(bench);
DialogResult dr = dlg.ShowDialog();
if (dr == DialogResult.OK)
{
@ -120,7 +120,7 @@ namespace ResultsBrowser
{
if (testBenchesListBox.SelectedIndex >= 0)
{
Config.DatabaseSettingsDlg dlg = new Config.DatabaseSettingsDlg(localSettings.TestBenches[testBenchesListBox.SelectedIndex]);
Forms.DatabaseSettingsDlg dlg = new Forms.DatabaseSettingsDlg(localSettings.TestBenches[testBenchesListBox.SelectedIndex]);
DialogResult dr = dlg.ShowDialog();
if (dr == DialogResult.OK)
{

View File

@ -1,7 +1,7 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace Config
namespace ResultsBrowser.Forms
{
partial class DatabaseSettingsDlg
{

View File

@ -3,9 +3,9 @@
///
using System;
using System.Windows.Forms;
using Config.Resources;
using ResultsBrowser.Resources;
namespace Config
namespace ResultsBrowser.Forms
{
/// <summary>
/// Dialog to process test bench name and database settings (BenchSettings)
@ -13,13 +13,13 @@ namespace Config
public partial class DatabaseSettingsDlg : Form
{
// Reference to bench DB settins (not a local copy)
DatabaseSettings bench;
Config.DatabaseSettings bench;
/// <summary>
/// Constructor
/// </summary>
/// <param name="bench">Test bench database settings</param>
public DatabaseSettingsDlg(DatabaseSettings bench)
public DatabaseSettingsDlg(Config.DatabaseSettings bench)
{
this.bench = bench;
@ -53,9 +53,9 @@ namespace Config
realBenchCheckBox.Checked = bench.IsRealBench;
/// Initialize 'Database type' combo-boxes
for (int i = 0; i < (int)Entities.DBType.DbTypesCount; i++)
for (int i = 0; i < (int)Config.Entities.DBType.DbTypesCount; i++)
{
Entities.DBType dbType = (Entities.DBType)i;
Config.Entities.DBType dbType = (Config.Entities.DBType)i;
configDbTypeComboBox.Items.Add(dbType);
resultsDbTypeComboBox.Items.Add(dbType);
}
@ -86,8 +86,8 @@ namespace Config
bench.ProceduresDBSettings.ConnectionString = configDbConnectionStringTextBox.Text;
bench.WaterMetersDBSettings.ConnectionString = resultsDbConnectionStringTextBox.Text;
bench.ProceduresDBSettings.DbType = (Entities.DBType)configDbTypeComboBox.SelectedIndex;
bench.WaterMetersDBSettings.DbType = (Entities.DBType)resultsDbTypeComboBox.SelectedIndex;
bench.ProceduresDBSettings.DbType = (Config.Entities.DBType)configDbTypeComboBox.SelectedIndex;
bench.WaterMetersDBSettings.DbType = (Config.Entities.DBType)resultsDbTypeComboBox.SelectedIndex;
return true;
}
@ -130,7 +130,7 @@ namespace Config
try
{
Cursor.Current = Cursors.WaitCursor;
FluentCommon.CreateEmptyConfigDB(bench.ProceduresDBSettings);
Config.FluentCommon.CreateEmptyConfigDB(bench.ProceduresDBSettings);
MessageBox.Show(Strings.DB_was_successfully_created, Strings.Notification);
Cursor.Current = Cursors.Default;
DialogResult = DialogResult.None;
@ -152,7 +152,9 @@ namespace Config
try
{
Cursor.Current = Cursors.WaitCursor;
FluentCommon.CreateEmptyResultsDB(bench.WaterMetersDBSettings);
Results.DB.DbType = bench.WaterMetersDBSettings.DbType;
Results.DB.ConnectionString = bench.WaterMetersDBSettings.ConnectionString;
Results.DB.CreateEmptyDB();
MessageBox.Show(Strings.DB_was_successfully_created, Strings.Notification);
Cursor.Current = Cursors.Default;
DialogResult = DialogResult.None;

View File

@ -122,7 +122,7 @@
<value>614, 15</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>217, 28</value>
<value>225, 28</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
@ -147,7 +147,7 @@
<value>614, 49</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>217, 28</value>
<value>225, 28</value>
</data>
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
@ -493,10 +493,10 @@
<value>NoControl</value>
</data>
<data name="createConfigDbBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>711, 104</value>
<value>715, 104</value>
</data>
<data name="createConfigDbBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
<value>124, 23</value>
</data>
<data name="createConfigDbBtn.TabIndex" type="System.Int32, mscorlib">
<value>66</value>
@ -520,10 +520,10 @@
<value>NoControl</value>
</data>
<data name="createResultsDbBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>711, 134</value>
<value>715, 134</value>
</data>
<data name="createResultsDbBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 23</value>
<value>124, 23</value>
</data>
<data name="createResultsDbBtn.TabIndex" type="System.Int32, mscorlib">
<value>68</value>
@ -550,7 +550,7 @@
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>840, 172</value>
<value>853, 172</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>

View File

@ -209,6 +209,9 @@ namespace ResultsBrowser
LocalSettings.LastBenchName = Config.Data.CurrentBench.BenchName;
LocalSettings.Save();
Results.DB.DbType = Config.Data.CurrentBench.WaterMetersDBSettings.DbType;
Results.DB.ConnectionString = Config.Data.CurrentBench.WaterMetersDBSettings.ConnectionString;
retryLogin = false;
break;
}

View File

@ -86,6 +86,12 @@
<Compile Include="Forms\AdditionalDataDlg.Designer.cs">
<DependentUpon>AdditionalDataDlg.cs</DependentUpon>
</Compile>
<Compile Include="Forms\DatabaseSettingsDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\DatabaseSettingsDlg.designer.cs">
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</Compile>
<Compile Include="Forms\LoginDlg.cs">
<SubType>Form</SubType>
</Compile>
@ -126,6 +132,9 @@
<EmbeddedResource Include="Forms\AdditionalDataDlg.resx">
<DependentUpon>AdditionalDataDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\DatabaseSettingsDlg.resx">
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\LoginDlg.resx">
<DependentUpon>LoginDlg.cs</DependentUpon>
</EmbeddedResource>

View File

@ -58,12 +58,10 @@ namespace TBF
/// <summary>
/// Create a new test bench DB specification and append it to the list
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void addButton_Click(object sender, EventArgs e)
{
Config.DatabaseSettings bench = new Config.DatabaseSettings();
Config.DatabaseSettingsDlg dlg = new Config.DatabaseSettingsDlg(bench);
Forms.DatabaseSettingsDlg dlg = new Forms.DatabaseSettingsDlg(bench);
DialogResult dr = dlg.ShowDialog();
if (dr == DialogResult.OK)
{
@ -94,8 +92,6 @@ namespace TBF
/// Create a new test bench DB specification,which is a copy of the
/// selected bench, and append it to the list
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void copyButton_Click(object sender, EventArgs e)
{
if (testBenchesListBox.SelectedIndex >= 0)
@ -103,7 +99,7 @@ namespace TBF
Config.DatabaseSettings ori = localSettings.TestBenches[testBenchesListBox.SelectedIndex];
Config.DatabaseSettings bench = (Config.DatabaseSettings)ori.Clone();
Config.DatabaseSettingsDlg dlg = new Config.DatabaseSettingsDlg(bench);
Forms.DatabaseSettingsDlg dlg = new Forms.DatabaseSettingsDlg(bench);
DialogResult dr = dlg.ShowDialog();
if (dr == DialogResult.OK)
{
@ -126,13 +122,11 @@ namespace TBF
/// <summary>
/// Edit selected test bench DB specification
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void editButton_Click(object sender, EventArgs e)
{
if (testBenchesListBox.SelectedIndex >= 0)
{
Config.DatabaseSettingsDlg dlg = new Config.DatabaseSettingsDlg(localSettings.TestBenches[testBenchesListBox.SelectedIndex]);
Forms.DatabaseSettingsDlg dlg = new Forms.DatabaseSettingsDlg(localSettings.TestBenches[testBenchesListBox.SelectedIndex]);
DialogResult dr = dlg.ShowDialog();
if (dr == DialogResult.OK)
{
@ -146,8 +140,6 @@ namespace TBF
/// <summary>
/// Remove selected test bench DB specification from the list
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void removeButton_Click(object sender, EventArgs e)
{
int selectedIx = testBenchesListBox.SelectedIndex;
@ -181,8 +173,6 @@ namespace TBF
/// <summary>
/// Update setting, return 'OK'
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void okButton_Click(object sender, EventArgs e)
{
localSettings.Save();
@ -195,8 +185,6 @@ namespace TBF
/// <summary>
/// Throw away changes, return 'Cancel'
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void cancelButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
@ -207,8 +195,6 @@ namespace TBF
/// <summary>
/// Double click on an item = edit item
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void testBenchesListBox_DoubleClick(object sender, EventArgs e)
{
editButton_Click(sender, e);

View File

@ -0,0 +1,211 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
namespace TBF.Forms
{
partial class DatabaseSettingsDlg
{
/// <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()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DatabaseSettingsDlg));
this.okButton = new System.Windows.Forms.Button();
this.cancelButton = new System.Windows.Forms.Button();
this.label1 = new System.Windows.Forms.Label();
this.benchNameTextBox = new System.Windows.Forms.TextBox();
this.connectionStringLabel = new System.Windows.Forms.Label();
this.configDbConnectionStringTextBox = new System.Windows.Forms.TextBox();
this.resultsDbConnectionStringTextBox = new System.Windows.Forms.TextBox();
this.configLabel = new System.Windows.Forms.Label();
this.resultsLabel = new System.Windows.Forms.Label();
this.realBenchCheckBox = new System.Windows.Forms.CheckBox();
this.dbTypeLabel = new System.Windows.Forms.Label();
this.configDbTypeComboBox = new System.Windows.Forms.ComboBox();
this.resultsDbTypeComboBox = new System.Windows.Forms.ComboBox();
this.testConnConfigDbBtn = new System.Windows.Forms.Button();
this.testConnResultsDbBtn = new System.Windows.Forms.Button();
this.createConfigDbBtn = new System.Windows.Forms.Button();
this.createResultsDbBtn = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// okButton
//
this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
resources.ApplyResources(this.okButton, "okButton");
this.okButton.Name = "okButton";
this.okButton.UseVisualStyleBackColor = true;
this.okButton.Click += new System.EventHandler(this.okButton_Click);
//
// cancelButton
//
this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.cancelButton, "cancelButton");
this.cancelButton.Name = "cancelButton";
this.cancelButton.UseVisualStyleBackColor = true;
this.cancelButton.Click += new System.EventHandler(this.cancelButton_Click);
//
// label1
//
resources.ApplyResources(this.label1, "label1");
this.label1.Name = "label1";
//
// benchNameTextBox
//
resources.ApplyResources(this.benchNameTextBox, "benchNameTextBox");
this.benchNameTextBox.Name = "benchNameTextBox";
//
// connectionStringLabel
//
resources.ApplyResources(this.connectionStringLabel, "connectionStringLabel");
this.connectionStringLabel.Name = "connectionStringLabel";
//
// configDbConnectionStringTextBox
//
resources.ApplyResources(this.configDbConnectionStringTextBox, "configDbConnectionStringTextBox");
this.configDbConnectionStringTextBox.Name = "configDbConnectionStringTextBox";
//
// resultsDbConnectionStringTextBox
//
resources.ApplyResources(this.resultsDbConnectionStringTextBox, "resultsDbConnectionStringTextBox");
this.resultsDbConnectionStringTextBox.Name = "resultsDbConnectionStringTextBox";
//
// label4
//
resources.ApplyResources(this.configLabel, "label4");
this.configLabel.Name = "label4";
//
// label6
//
resources.ApplyResources(this.resultsLabel, "label6");
this.resultsLabel.Name = "label6";
//
// realBenchCheckBox
//
resources.ApplyResources(this.realBenchCheckBox, "realBenchCheckBox");
this.realBenchCheckBox.Name = "realBenchCheckBox";
this.realBenchCheckBox.UseVisualStyleBackColor = true;
//
// dbTypeLabel
//
resources.ApplyResources(this.dbTypeLabel, "dbTypeLabel");
this.dbTypeLabel.Name = "dbTypeLabel";
//
// configDbTypeComboBox
//
this.configDbTypeComboBox.FormattingEnabled = true;
resources.ApplyResources(this.configDbTypeComboBox, "configDbTypeComboBox");
this.configDbTypeComboBox.Name = "configDbTypeComboBox";
//
// resultsDbTypeComboBox
//
this.resultsDbTypeComboBox.FormattingEnabled = true;
resources.ApplyResources(this.resultsDbTypeComboBox, "resultsDbTypeComboBox");
this.resultsDbTypeComboBox.Name = "resultsDbTypeComboBox";
//
// testConnConfigDbBtn
//
this.testConnConfigDbBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.testConnConfigDbBtn, "testConnConfigDbBtn");
this.testConnConfigDbBtn.Name = "testConnConfigDbBtn";
this.testConnConfigDbBtn.UseVisualStyleBackColor = true;
this.testConnConfigDbBtn.Click += new System.EventHandler(this.testConnConfigDbBtn_Click);
//
// testConnResultsDbBtn
//
this.testConnResultsDbBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.testConnResultsDbBtn, "testConnResultsDbBtn");
this.testConnResultsDbBtn.Name = "testConnResultsDbBtn";
this.testConnResultsDbBtn.UseVisualStyleBackColor = true;
this.testConnResultsDbBtn.Click += new System.EventHandler(this.testConnResultsDbBtn_Click);
//
// createConfigDbBtn
//
this.createConfigDbBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.createConfigDbBtn, "createConfigDbBtn");
this.createConfigDbBtn.Name = "createConfigDbBtn";
this.createConfigDbBtn.UseVisualStyleBackColor = true;
this.createConfigDbBtn.Click += new System.EventHandler(this.createConfigDbBtn_Click);
//
// createResultsDbBtn
//
this.createResultsDbBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
resources.ApplyResources(this.createResultsDbBtn, "createResultsDbBtn");
this.createResultsDbBtn.Name = "createResultsDbBtn";
this.createResultsDbBtn.UseVisualStyleBackColor = true;
this.createResultsDbBtn.Click += new System.EventHandler(this.createResultsDbBtn_Click);
//
// DatabaseSettingsDlg
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.createResultsDbBtn);
this.Controls.Add(this.createConfigDbBtn);
this.Controls.Add(this.testConnResultsDbBtn);
this.Controls.Add(this.testConnConfigDbBtn);
this.Controls.Add(this.resultsDbTypeComboBox);
this.Controls.Add(this.configDbTypeComboBox);
this.Controls.Add(this.dbTypeLabel);
this.Controls.Add(this.realBenchCheckBox);
this.Controls.Add(this.resultsLabel);
this.Controls.Add(this.configLabel);
this.Controls.Add(this.resultsDbConnectionStringTextBox);
this.Controls.Add(this.configDbConnectionStringTextBox);
this.Controls.Add(this.connectionStringLabel);
this.Controls.Add(this.benchNameTextBox);
this.Controls.Add(this.label1);
this.Controls.Add(this.okButton);
this.Controls.Add(this.cancelButton);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MinimizeBox = false;
this.Name = "DatabaseSettingsDlg";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.BenchSettingsDlg_Load);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button okButton;
private System.Windows.Forms.Button cancelButton;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.TextBox benchNameTextBox;
private System.Windows.Forms.Label connectionStringLabel;
private System.Windows.Forms.TextBox configDbConnectionStringTextBox;
private System.Windows.Forms.TextBox resultsDbConnectionStringTextBox;
private System.Windows.Forms.Label configLabel;
private System.Windows.Forms.Label resultsLabel;
private System.Windows.Forms.CheckBox realBenchCheckBox;
private System.Windows.Forms.Label dbTypeLabel;
private System.Windows.Forms.ComboBox configDbTypeComboBox;
private System.Windows.Forms.ComboBox resultsDbTypeComboBox;
private System.Windows.Forms.Button testConnConfigDbBtn;
private System.Windows.Forms.Button testConnResultsDbBtn;
private System.Windows.Forms.Button createConfigDbBtn;
private System.Windows.Forms.Button createResultsDbBtn;
}
}

View File

@ -0,0 +1,182 @@
///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System;
using System.Windows.Forms;
using TBF.Resources;
namespace TBF.Forms
{
/// <summary>
/// Dialog to process test bench name and database settings (BenchSettings)
/// </summary>
public partial class DatabaseSettingsDlg : Form
{
// Reference to bench DB settins (not a local copy)
Config.DatabaseSettings bench;
/// <summary>
/// Constructor
/// </summary>
/// <param name="bench">Test bench database settings</param>
public DatabaseSettingsDlg(Config.DatabaseSettings bench)
{
this.bench = bench;
InitializeComponent();
}
void Localize()
{
Text = Strings.Test_Bench_Databases_Specification;
label1.Text = Strings.Test_bench_name;
realBenchCheckBox.Text = Strings.Test_bench_is_controlled_by_this_computer;
dbTypeLabel.Text = Strings.Database_type;
connectionStringLabel.Text = Strings.Connection_string;
configLabel.Text = Strings.Configuration;
resultsLabel.Text = Strings.Results;
okButton.Text = Strings.OkBtnText;
cancelButton.Text = Strings.CancelBtnText;
testConnConfigDbBtn.Text = Strings.Test_connection;
testConnResultsDbBtn.Text = Strings.Test_connection;
createConfigDbBtn.Text = Strings.Create_DB;
createResultsDbBtn.Text = Strings.Create_DB;
}
private void BenchSettingsDlg_Load(object sender, EventArgs e)
{
Localize();
benchNameTextBox.Text = bench.BenchName;
realBenchCheckBox.Checked = bench.IsRealBench;
/// Initialize 'Database type' combo-boxes
for (int i = 0; i < (int)Config.Entities.DBType.DbTypesCount; i++)
{
Config.Entities.DBType dbType = (Config.Entities.DBType)i;
configDbTypeComboBox.Items.Add(dbType);
resultsDbTypeComboBox.Items.Add(dbType);
}
configDbTypeComboBox.SelectedIndex = (int)bench.ProceduresDBSettings.DbType;
resultsDbTypeComboBox.SelectedIndex = (int)bench.WaterMetersDBSettings.DbType;
/// Initialize connection strings
configDbConnectionStringTextBox.Text = bench.ProceduresDBSettings.ConnectionString;
resultsDbConnectionStringTextBox.Text = bench.WaterMetersDBSettings.ConnectionString;
}
bool UpdateBenchFromUIControls()
{
/// TODO: The following code doesnot work as expected - error message shown!
//for (int i = 0; i < Program.LocalSettings.BenchesCount; i++)
//{
// if (bench != Program.LocalSettings.TestBenches[i] &&
// benchNameTextBox.Text == Program.LocalSettings.TestBenches[i].BenchName)
// {
// MessageBox.Show(Strings.Bench_name_conflict_Use_another_name_pls, Strings.Error, MessageBoxButtons.OK);
// return false;
// }
//}
bench.BenchName = benchNameTextBox.Text;
bench.IsRealBench = realBenchCheckBox.Checked;
bench.ProceduresDBSettings.ConnectionString = configDbConnectionStringTextBox.Text;
bench.WaterMetersDBSettings.ConnectionString = resultsDbConnectionStringTextBox.Text;
bench.ProceduresDBSettings.DbType = (Config.Entities.DBType)configDbTypeComboBox.SelectedIndex;
bench.WaterMetersDBSettings.DbType = (Config.Entities.DBType)resultsDbTypeComboBox.SelectedIndex;
return true;
}
/// <summary>
/// Update bench DB setting, return 'OK'
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void okButton_Click(object sender, EventArgs e)
{
if (UpdateBenchFromUIControls())
{
DialogResult = DialogResult.OK;
Close();
return;
}
DialogResult = DialogResult.None;
}
/// <summary>
/// Throw away changes, return 'Cancel'
/// </summary>
/// <param name="sender">Not used</param>
/// <param name="e">Not used</param>
private void cancelButton_Click(object sender, EventArgs e)
{
DialogResult = DialogResult.Cancel;
Close();
}
private void createConfigDbBtn_Click(object sender, EventArgs e)
{
if (!UpdateBenchFromUIControls()) return;
if (DialogResult.OK == MessageBox.Show(Strings.DB_will_be_overwritten + Environment.NewLine +
Strings.Do_you_want_to_proceed, Strings.Warning,
MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
try
{
Cursor.Current = Cursors.WaitCursor;
Config.FluentCommon.CreateEmptyConfigDB(bench.ProceduresDBSettings);
MessageBox.Show(Strings.DB_was_successfully_created, Strings.Notification);
Cursor.Current = Cursors.Default;
DialogResult = DialogResult.None;
}
catch (Exception exception)
{
Cursor.Current = Cursors.Default;
MessageBox.Show(Strings.Error_while_creating_DB_Reason + exception.Message, Strings.Error);
}
}
private void createResultsDbBtn_Click(object sender, EventArgs e)
{
if (!UpdateBenchFromUIControls()) return;
if (DialogResult.OK == MessageBox.Show(Strings.DB_will_be_overwritten + Environment.NewLine +
Strings.Do_you_want_to_proceed, Strings.Warning,
MessageBoxButtons.OKCancel, MessageBoxIcon.Exclamation))
try
{
Cursor.Current = Cursors.WaitCursor;
Results.DB.DbType = bench.WaterMetersDBSettings.DbType;
Results.DB.ConnectionString = bench.WaterMetersDBSettings.ConnectionString;
Results.DB.CreateEmptyDB();
MessageBox.Show(Strings.DB_was_successfully_created, Strings.Notification);
Cursor.Current = Cursors.Default;
DialogResult = DialogResult.None;
}
catch (Exception exception)
{
Cursor.Current = Cursors.Default;
string msg = Strings.Error_while_creating_DB_Reason + Environment.NewLine + exception.Message;
if (exception.InnerException != null)
{
msg += Environment.NewLine + exception.InnerException.Message;
}
MessageBox.Show(msg, Strings.Error, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void testConnConfigDbBtn_Click(object sender, EventArgs e)
{
}
private void testConnResultsDbBtn_Click(object sender, EventArgs e)
{
}
}
}

View File

@ -0,0 +1,567 @@
<?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>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="okButton.Location" type="System.Drawing.Point, System.Drawing">
<value>614, 15</value>
</data>
<data name="okButton.Size" type="System.Drawing.Size, System.Drawing">
<value>225, 28</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="okButton.TabIndex" type="System.Int32, mscorlib">
<value>14</value>
</data>
<data name="okButton.Text" xml:space="preserve">
<value>OK</value>
</data>
<data name="&gt;&gt;okButton.Name" xml:space="preserve">
<value>okButton</value>
</data>
<data name="&gt;&gt;okButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;okButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;okButton.ZOrder" xml:space="preserve">
<value>15</value>
</data>
<data name="cancelButton.Location" type="System.Drawing.Point, System.Drawing">
<value>614, 49</value>
</data>
<data name="cancelButton.Size" type="System.Drawing.Size, System.Drawing">
<value>225, 28</value>
</data>
<data name="cancelButton.TabIndex" type="System.Int32, mscorlib">
<value>13</value>
</data>
<data name="cancelButton.Text" xml:space="preserve">
<value>Cancel</value>
</data>
<data name="&gt;&gt;cancelButton.Name" xml:space="preserve">
<value>cancelButton</value>
</data>
<data name="&gt;&gt;cancelButton.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;cancelButton.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;cancelButton.ZOrder" xml:space="preserve">
<value>16</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label1.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 18</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>93, 13</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>15</value>
</data>
<data name="label1.Text" xml:space="preserve">
<value>Test Bench Name</value>
</data>
<data name="&gt;&gt;label1.Name" xml:space="preserve">
<value>label1</value>
</data>
<data name="&gt;&gt;label1.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>14</value>
</data>
<data name="benchNameTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 15</value>
</data>
<data name="benchNameTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>315, 20</value>
</data>
<data name="benchNameTextBox.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="&gt;&gt;benchNameTextBox.Name" xml:space="preserve">
<value>benchNameTextBox</value>
</data>
<data name="&gt;&gt;benchNameTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;benchNameTextBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;benchNameTextBox.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<data name="connectionStringLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="connectionStringLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>199, 82</value>
</data>
<data name="connectionStringLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>89, 13</value>
</data>
<data name="connectionStringLabel.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
<data name="connectionStringLabel.Text" xml:space="preserve">
<value>Connection string</value>
</data>
<data name="&gt;&gt;connectionStringLabel.Name" xml:space="preserve">
<value>connectionStringLabel</value>
</data>
<data name="&gt;&gt;connectionStringLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;connectionStringLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;connectionStringLabel.ZOrder" xml:space="preserve">
<value>12</value>
</data>
<data name="configDbConnectionStringTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>202, 107</value>
</data>
<data name="configDbConnectionStringTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>406, 20</value>
</data>
<data name="configDbConnectionStringTextBox.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="&gt;&gt;configDbConnectionStringTextBox.Name" xml:space="preserve">
<value>configDbConnectionStringTextBox</value>
</data>
<data name="&gt;&gt;configDbConnectionStringTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;configDbConnectionStringTextBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;configDbConnectionStringTextBox.ZOrder" xml:space="preserve">
<value>11</value>
</data>
<data name="resultsDbConnectionStringTextBox.Location" type="System.Drawing.Point, System.Drawing">
<value>202, 137</value>
</data>
<data name="resultsDbConnectionStringTextBox.Size" type="System.Drawing.Size, System.Drawing">
<value>406, 20</value>
</data>
<data name="resultsDbConnectionStringTextBox.TabIndex" type="System.Int32, mscorlib">
<value>22</value>
</data>
<data name="&gt;&gt;resultsDbConnectionStringTextBox.Name" xml:space="preserve">
<value>resultsDbConnectionStringTextBox</value>
</data>
<data name="&gt;&gt;resultsDbConnectionStringTextBox.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;resultsDbConnectionStringTextBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;resultsDbConnectionStringTextBox.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="label4.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label4.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 110</value>
</data>
<data name="label4.Size" type="System.Drawing.Size, System.Drawing">
<value>69, 13</value>
</data>
<data name="label4.TabIndex" type="System.Int32, mscorlib">
<value>49</value>
</data>
<data name="label4.Text" xml:space="preserve">
<value>Configuration</value>
</data>
<data name="&gt;&gt;label4.Name" xml:space="preserve">
<value>label4</value>
</data>
<data name="&gt;&gt;label4.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label4.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label4.ZOrder" xml:space="preserve">
<value>9</value>
</data>
<data name="label6.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="label6.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 140</value>
</data>
<data name="label6.Size" type="System.Drawing.Size, System.Drawing">
<value>42, 13</value>
</data>
<data name="label6.TabIndex" type="System.Int32, mscorlib">
<value>51</value>
</data>
<data name="label6.Text" xml:space="preserve">
<value>Results</value>
</data>
<data name="&gt;&gt;label6.Name" xml:space="preserve">
<value>label6</value>
</data>
<data name="&gt;&gt;label6.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label6.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;label6.ZOrder" xml:space="preserve">
<value>8</value>
</data>
<data name="realBenchCheckBox.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="realBenchCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 47</value>
</data>
<data name="realBenchCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 17</value>
</data>
<data name="realBenchCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>54</value>
</data>
<data name="realBenchCheckBox.Text" xml:space="preserve">
<value>Test bench is controlled by this computer</value>
</data>
<data name="&gt;&gt;realBenchCheckBox.Name" xml:space="preserve">
<value>realBenchCheckBox</value>
</data>
<data name="&gt;&gt;realBenchCheckBox.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;realBenchCheckBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;realBenchCheckBox.ZOrder" xml:space="preserve">
<value>7</value>
</data>
<data name="dbTypeLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="dbTypeLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>113, 82</value>
</data>
<data name="dbTypeLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>76, 13</value>
</data>
<data name="dbTypeLabel.TabIndex" type="System.Int32, mscorlib">
<value>55</value>
</data>
<data name="dbTypeLabel.Text" xml:space="preserve">
<value>Database type</value>
</data>
<data name="&gt;&gt;dbTypeLabel.Name" xml:space="preserve">
<value>dbTypeLabel</value>
</data>
<data name="&gt;&gt;dbTypeLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;dbTypeLabel.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;dbTypeLabel.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="configDbTypeComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 107</value>
</data>
<data name="configDbTypeComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 21</value>
</data>
<data name="configDbTypeComboBox.TabIndex" type="System.Int32, mscorlib">
<value>58</value>
</data>
<data name="&gt;&gt;configDbTypeComboBox.Name" xml:space="preserve">
<value>configDbTypeComboBox</value>
</data>
<data name="&gt;&gt;configDbTypeComboBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;configDbTypeComboBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;configDbTypeComboBox.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="resultsDbTypeComboBox.Location" type="System.Drawing.Point, System.Drawing">
<value>116, 137</value>
</data>
<data name="resultsDbTypeComboBox.Size" type="System.Drawing.Size, System.Drawing">
<value>80, 21</value>
</data>
<data name="resultsDbTypeComboBox.TabIndex" type="System.Int32, mscorlib">
<value>60</value>
</data>
<data name="&gt;&gt;resultsDbTypeComboBox.Name" xml:space="preserve">
<value>resultsDbTypeComboBox</value>
</data>
<data name="&gt;&gt;resultsDbTypeComboBox.Type" xml:space="preserve">
<value>System.Windows.Forms.ComboBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;resultsDbTypeComboBox.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;resultsDbTypeComboBox.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="testConnConfigDbBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="testConnConfigDbBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>614, 105</value>
</data>
<data name="testConnConfigDbBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
</data>
<data name="testConnConfigDbBtn.TabIndex" type="System.Int32, mscorlib">
<value>62</value>
</data>
<data name="testConnConfigDbBtn.Text" xml:space="preserve">
<value>Test Connection</value>
</data>
<data name="&gt;&gt;testConnConfigDbBtn.Name" xml:space="preserve">
<value>testConnConfigDbBtn</value>
</data>
<data name="&gt;&gt;testConnConfigDbBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;testConnConfigDbBtn.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;testConnConfigDbBtn.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="testConnResultsDbBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="testConnResultsDbBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>614, 135</value>
</data>
<data name="testConnResultsDbBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>95, 23</value>
</data>
<data name="testConnResultsDbBtn.TabIndex" type="System.Int32, mscorlib">
<value>64</value>
</data>
<data name="testConnResultsDbBtn.Text" xml:space="preserve">
<value>Test Connection</value>
</data>
<data name="&gt;&gt;testConnResultsDbBtn.Name" xml:space="preserve">
<value>testConnResultsDbBtn</value>
</data>
<data name="&gt;&gt;testConnResultsDbBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;testConnResultsDbBtn.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;testConnResultsDbBtn.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="createConfigDbBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="createConfigDbBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>715, 104</value>
</data>
<data name="createConfigDbBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 23</value>
</data>
<data name="createConfigDbBtn.TabIndex" type="System.Int32, mscorlib">
<value>66</value>
</data>
<data name="createConfigDbBtn.Text" xml:space="preserve">
<value>Create DB</value>
</data>
<data name="&gt;&gt;createConfigDbBtn.Name" xml:space="preserve">
<value>createConfigDbBtn</value>
</data>
<data name="&gt;&gt;createConfigDbBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;createConfigDbBtn.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;createConfigDbBtn.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="createResultsDbBtn.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="createResultsDbBtn.Location" type="System.Drawing.Point, System.Drawing">
<value>715, 134</value>
</data>
<data name="createResultsDbBtn.Size" type="System.Drawing.Size, System.Drawing">
<value>124, 23</value>
</data>
<data name="createResultsDbBtn.TabIndex" type="System.Int32, mscorlib">
<value>68</value>
</data>
<data name="createResultsDbBtn.Text" xml:space="preserve">
<value>Create DB</value>
</data>
<data name="&gt;&gt;createResultsDbBtn.Name" xml:space="preserve">
<value>createResultsDbBtn</value>
</data>
<data name="&gt;&gt;createResultsDbBtn.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;createResultsDbBtn.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;createResultsDbBtn.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
<value>853, 172</value>
</data>
<data name="$this.StartPosition" type="System.Windows.Forms.FormStartPosition, System.Windows.Forms">
<value>CenterParent</value>
</data>
<data name="$this.Text" xml:space="preserve">
<value>Test Bench Databases Specification</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>DatabaseSettingsDlg</value>
</data>
<data name="&gt;&gt;$this.Type" xml:space="preserve">
<value>System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

View File

@ -225,6 +225,9 @@ namespace TBF
/// Save the selection to local settings
LocalSettings.LastBenchName = Config.Data.CurrentBench.BenchName;
Results.DB.DbType = Config.Data.CurrentBench.WaterMetersDBSettings.DbType;
Results.DB.ConnectionString = Config.Data.CurrentBench.WaterMetersDBSettings.ConnectionString;
retryLogin = false;
break;
}

View File

@ -2247,6 +2247,15 @@ namespace TBF.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Results.
/// </summary>
internal static string Results {
get {
return ResourceManager.GetString("Results", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Retry.
/// </summary>

View File

@ -1162,4 +1162,7 @@
<data name="Revision" xml:space="preserve">
<value>Revision</value>
</data>
<data name="Results" xml:space="preserve">
<value>Results</value>
</data>
</root>

View File

@ -492,6 +492,12 @@
<DependentUpon>WaterMeterCfgCtrl.cs</DependentUpon>
</Compile>
<Compile Include="BenchControl\WaterMeters\WaterMeter\WaterMeterFactory.cs" />
<Compile Include="Forms\DatabaseSettingsDlg.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Forms\DatabaseSettingsDlg.designer.cs">
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</Compile>
<Compile Include="PrintOrderDocument.cs">
<SubType>Component</SubType>
</Compile>
@ -1640,6 +1646,9 @@
<EmbeddedResource Include="Forms\ClosingProgram.resx">
<DependentUpon>ClosingProgram.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\DatabaseSettingsDlg.resx">
<DependentUpon>DatabaseSettingsDlg.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Forms\EmergencyStopForm.resx">
<DependentUpon>EmergencyStopForm.cs</DependentUpon>
</EmbeddedResource>
@ -1907,6 +1916,10 @@
<Project>{743DF7DB-C7B6-42EB-986D-0F485E5588E4}</Project>
<Name>Config</Name>
</ProjectReference>
<ProjectReference Include="..\Results\Results.csproj">
<Project>{9D0DCC88-DC81-47EB-9FDD-4C3907871BFB}</Project>
<Name>Results</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />