2015-12-29 09:56:42 +00:00
|
|
|
|
///
|
2016-06-28 16:04:52 +00:00
|
|
|
|
/// Copyright (c) 2015-2016 Sensus Metering Systems
|
2015-12-29 09:56:42 +00:00
|
|
|
|
///
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
|
|
namespace Results.Entities
|
|
|
|
|
|
{
|
|
|
|
|
|
public class Batch
|
|
|
|
|
|
{
|
|
|
|
|
|
public virtual int Id { get; protected set; }
|
|
|
|
|
|
public virtual int BatchNr { get; set; }
|
2016-01-02 16:53:57 +00:00
|
|
|
|
public virtual int TestBenchId { get; set; }
|
2015-12-31 23:00:03 +00:00
|
|
|
|
public virtual string ProgramVersion { get; set; }
|
|
|
|
|
|
public virtual string UserName { get; set; }
|
2016-03-18 04:44:25 +00:00
|
|
|
|
public virtual int UserNumber { get; set; }
|
2015-12-29 09:56:42 +00:00
|
|
|
|
public virtual string ProcedureName { get; set; }
|
2016-02-23 14:16:43 +00:00
|
|
|
|
public virtual string ProcedureDescription { get; set; } /// CEVAK, not mapped to DB
|
2015-12-29 09:56:42 +00:00
|
|
|
|
public virtual int ProcedureRevision { get; set; }
|
2016-02-23 14:16:43 +00:00
|
|
|
|
public virtual string WatermetersStr { get; set; } /// CEVAK, not mapped to DB
|
2016-01-06 20:39:52 +00:00
|
|
|
|
public virtual string ProtocolTitle { get; set; }
|
2016-06-17 13:59:32 +00:00
|
|
|
|
public virtual string Remark { get; set; }
|
2017-06-29 10:48:14 +00:00
|
|
|
|
public virtual float DensityCorr { get; set; } /// Density correction in [kg/m3]
|
2015-12-31 23:00:03 +00:00
|
|
|
|
public virtual float Custom2 { get; set; }
|
|
|
|
|
|
public virtual float Custom3 { get; set; }
|
2015-12-29 09:56:42 +00:00
|
|
|
|
public virtual DateTime StartTime { get; set; }
|
|
|
|
|
|
public virtual DateTime EndTime { get; set; }
|
2017-05-03 20:19:26 +00:00
|
|
|
|
public virtual bool Dirty { get; set; }
|
|
|
|
|
|
public virtual bool RsltsSent { get; set; }
|
2015-12-31 23:00:03 +00:00
|
|
|
|
public virtual bool RsltsPrinted { get; set; }
|
2015-12-29 09:56:42 +00:00
|
|
|
|
public virtual IList<TestData> Tests { get; set; }
|
|
|
|
|
|
public virtual IList<WaterMeter> WaterMeters { get; set; }
|
|
|
|
|
|
public virtual IList<TestRslt> TestRslts { get; set; }
|
2016-02-23 14:16:43 +00:00
|
|
|
|
public virtual bool Compound { get; set; } /// Not mapped to DB now
|
2016-10-05 11:35:29 +00:00
|
|
|
|
public virtual bool HeatMeter { get; set; } /// Not mapped to DB now
|
2015-12-29 09:56:42 +00:00
|
|
|
|
|
2016-06-28 16:04:52 +00:00
|
|
|
|
public Batch()
|
2015-12-29 09:56:42 +00:00
|
|
|
|
{
|
|
|
|
|
|
Tests = new List<TestData>();
|
|
|
|
|
|
WaterMeters = new List<WaterMeter>();
|
|
|
|
|
|
TestRslts = new List<TestRslt>();
|
|
|
|
|
|
}
|
2016-01-06 20:39:52 +00:00
|
|
|
|
|
2017-06-02 12:47:37 +00:00
|
|
|
|
public virtual double AmbTempMean()
|
2016-01-06 20:39:52 +00:00
|
|
|
|
{
|
2017-06-02 12:47:37 +00:00
|
|
|
|
double timeSum = 0;
|
|
|
|
|
|
double sum = 0;
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var tr in TestRslts)
|
|
|
|
|
|
{
|
|
|
|
|
|
double time = (tr.EndTime - tr.StartTime).TotalSeconds;
|
|
|
|
|
|
timeSum += time;
|
|
|
|
|
|
sum += (tr.AmbTempMean * time);
|
|
|
|
|
|
}
|
2016-01-06 20:39:52 +00:00
|
|
|
|
|
2017-06-02 12:47:37 +00:00
|
|
|
|
return (timeSum == 0) ? 0 : (sum / timeSum);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public virtual double AmbPressMean()
|
2016-01-06 20:39:52 +00:00
|
|
|
|
{
|
2017-06-02 12:47:37 +00:00
|
|
|
|
double timeSum = 0;
|
|
|
|
|
|
double sum = 0;
|
2016-01-06 20:39:52 +00:00
|
|
|
|
|
2017-06-02 12:47:37 +00:00
|
|
|
|
foreach (var tr in TestRslts)
|
|
|
|
|
|
{
|
|
|
|
|
|
double time = (tr.EndTime - tr.StartTime).TotalSeconds;
|
|
|
|
|
|
timeSum += time;
|
|
|
|
|
|
sum += (tr.AmbPressMean * time);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return (timeSum == 0) ? 0 : (sum / timeSum);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public virtual double AmbHumiMean()
|
2016-01-06 20:39:52 +00:00
|
|
|
|
{
|
2017-06-02 12:47:37 +00:00
|
|
|
|
double timeSum = 0;
|
|
|
|
|
|
double sum = 0;
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var tr in TestRslts)
|
|
|
|
|
|
{
|
|
|
|
|
|
double time = (tr.EndTime - tr.StartTime).TotalSeconds;
|
|
|
|
|
|
timeSum += time;
|
|
|
|
|
|
sum += (tr.AmbHumiMean * time);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2017-07-03 10:41:37 +00:00
|
|
|
|
return (timeSum == 0) ? 0 : (sum / timeSum);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public virtual double Buoyancy()
|
|
|
|
|
|
{
|
|
|
|
|
|
double timeSum = 0;
|
|
|
|
|
|
double sum = 0;
|
|
|
|
|
|
|
|
|
|
|
|
foreach (var tr in TestRslts)
|
|
|
|
|
|
{
|
|
|
|
|
|
double time = (tr.EndTime - tr.StartTime).TotalSeconds;
|
|
|
|
|
|
timeSum += time;
|
|
|
|
|
|
sum += (tr.Buoyancy * time);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2017-06-02 12:47:37 +00:00
|
|
|
|
return (timeSum == 0) ? 0 : (sum / timeSum);
|
|
|
|
|
|
}
|
2016-01-06 20:39:52 +00:00
|
|
|
|
|
|
|
|
|
|
public virtual TestRslt GetTestRslt(string name, int part)
|
|
|
|
|
|
{
|
|
|
|
|
|
foreach (var tr in TestRslts)
|
|
|
|
|
|
{
|
|
|
|
|
|
if (part == tr.Part && name.Equals(tr.Name())) return tr;
|
|
|
|
|
|
}
|
|
|
|
|
|
return null;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2016-01-13 04:21:36 +00:00
|
|
|
|
public override string ToString()
|
|
|
|
|
|
{
|
|
|
|
|
|
return string.Format("Batch #{0}, Start:{1}, End:{2}, Procedure:{3}", BatchNr, StartTime, EndTime, ProcedureName);
|
|
|
|
|
|
}
|
2015-12-29 09:56:42 +00:00
|
|
|
|
}
|
|
|
|
|
|
}
|