95 lines
2.7 KiB
C#
95 lines
2.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using Newtonsoft.Json;
|
|
using Results.Entities;
|
|
|
|
namespace TBF.Rig.Network.RestAPI.facade
|
|
{
|
|
/// <summary>
|
|
/// Results information transfer - Representing results output based on Water Meter to Server side.
|
|
/// </summary>
|
|
public class TestResults
|
|
{
|
|
public float? Temp_LN_ME { get; set; } // Calculated
|
|
|
|
public double? Mass { get; set; } // Calculated
|
|
|
|
// in Sec
|
|
public double? TestTime { get; set; }
|
|
public double? Q_v_r { get; set; }
|
|
|
|
public double? Vol_Rm { get; set; }
|
|
|
|
public float? Press_UP_ME { get; set; }
|
|
|
|
public DateTime? TimestampEnd { get; set; }
|
|
|
|
public DateTime? TimestampStart { get; set; }
|
|
public double? Start_volume { get; set; }
|
|
public double? End_volume { get; set; }
|
|
|
|
public double? ErrorRel { get; set; }
|
|
|
|
public string TestName { get; set; } // Collapsed 3 parameters
|
|
|
|
public TestResults()
|
|
{
|
|
}
|
|
|
|
public TestResults(MeterTestRslt meterTestRslt)
|
|
{
|
|
if (meterTestRslt == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
Results.Entities.TestData testData = meterTestRslt.TestData();
|
|
Results.Entities.TestRslt testRslt = meterTestRslt.TestRslt;
|
|
|
|
if (testRslt != null)
|
|
{
|
|
SetTemp_LN_ME_DB(testRslt.TempUpMean, testRslt.TempDownMean);
|
|
SetMass_DB(testRslt.MassEnd, testRslt.MassStart);
|
|
TestTime = testRslt.TestTime;
|
|
SetQ_v_r_DB(testRslt.Flow); // in m3/hr => l/hr
|
|
Press_UP_ME = testRslt.PressUpMean;
|
|
|
|
if (testData != null)
|
|
{
|
|
TestName = Results.Utils.GetTestName(testData.Name, testData.Repeats, testRslt.RepetitionNr);
|
|
}
|
|
}
|
|
|
|
Vol_Rm = meterTestRslt.VolumeRef;
|
|
Start_volume = meterTestRslt.VolumeStart;
|
|
End_volume = meterTestRslt.VolumeEnd;
|
|
ErrorRel = meterTestRslt.Error;
|
|
|
|
|
|
if (meterTestRslt.Batch() != null)
|
|
{
|
|
TimestampEnd = meterTestRslt.Batch().EndTime;
|
|
TimestampStart = meterTestRslt.Batch().StartTime;
|
|
}
|
|
}
|
|
|
|
|
|
public void SetTemp_LN_ME_DB(float tempUpMean, float tempDownMean)
|
|
{
|
|
Temp_LN_ME = (tempUpMean + tempDownMean) / 2;
|
|
}
|
|
|
|
|
|
public void SetMass_DB(double massEnd, double massStart)
|
|
{
|
|
Mass = massEnd - massStart;
|
|
}
|
|
|
|
|
|
public void SetQ_v_r_DB(double q_v_r)
|
|
{
|
|
Q_v_r = q_v_r * 1000; // m3/hr => l/hr
|
|
}
|
|
|
|
}
|
|
} |