init
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
/* Copyright 2017 Diversified Technical Systems
|
||||
*/
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace DatabaseImport
|
||||
{
|
||||
/// <summary>
|
||||
/// this class will probably become an abstract base class in the future but for now since we only have
|
||||
/// summed realtime channels, we can be a little less formal
|
||||
/// </summary>
|
||||
public class CalculatedValueClass
|
||||
{
|
||||
public CalculatedValueClass(System.Data.DataRow dr)
|
||||
{
|
||||
var fields = Enum.GetValues(typeof(DbOperations.CalculatedChannels.Fields))
|
||||
.Cast<DbOperations.CalculatedChannels.Fields>().ToArray();
|
||||
|
||||
foreach (var field in fields)
|
||||
{
|
||||
var o = dr[field.ToString()];
|
||||
if (DBNull.Value.Equals(o)) { continue; }
|
||||
switch (field)
|
||||
{
|
||||
case DbOperations.CalculatedChannels.Fields.TestSetupName:
|
||||
TestSetupName = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.Operation:
|
||||
Operation = (Operations)Convert.ToInt32(o);
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.InputChannelIds:
|
||||
InputChannelIdsBlob = (byte[])o;
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.Id:
|
||||
Id = Convert.ToInt32(o);
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.CFCForOutput:
|
||||
ChannelFilterClassForOutput = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.CFCForInputChannels:
|
||||
CFCForInputChannels = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.CCName:
|
||||
Name = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.CalculatedChannels.Fields.CalculatedChannelValueCode:
|
||||
CalculatedValueCode = Convert.ToString(o);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int Id { get; set; } = -1;
|
||||
|
||||
public enum Operations
|
||||
{
|
||||
SUM = 1,
|
||||
AVERAGE = 2,
|
||||
IRTRACC3D = 3,
|
||||
IRTRACC3D_ABDOMEN = 4,
|
||||
IRTRACC3D_LOWERTHORAX = 5
|
||||
}
|
||||
|
||||
public Operations Operation { get; set; } = Operations.SUM;
|
||||
|
||||
public string CalculatedValueCode { get; set; } = "???????????????X";
|
||||
|
||||
private List<string> _inputChannelIds = new List<string>();
|
||||
public string[] InputChannelIds
|
||||
{
|
||||
get => _inputChannelIds.ToArray();
|
||||
set => _inputChannelIds = new List<string>(value);
|
||||
}
|
||||
public byte[] InputChannelIdsBlob
|
||||
{
|
||||
get
|
||||
{
|
||||
var text = string.Join(System.Globalization.CultureInfo.InvariantCulture.TextInfo.ListSeparator, InputChannelIds);
|
||||
return System.Text.Encoding.UTF8.GetBytes(text);
|
||||
}
|
||||
set
|
||||
{
|
||||
_inputChannelIds.Clear();
|
||||
var text = System.Text.Encoding.UTF8.GetString(value);
|
||||
InputChannelIds = text.Split(new[] { System.Globalization.CultureInfo.InvariantCulture.TextInfo.ListSeparator }, StringSplitOptions.None);
|
||||
}
|
||||
}
|
||||
|
||||
public string CFCForInputChannels { get; set; } = "";
|
||||
|
||||
public string ChannelFilterClassForOutput { get; set; } = "";
|
||||
|
||||
public string TestSetupName { get; set; }
|
||||
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user