init
This commit is contained in:
@@ -0,0 +1,170 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.OleDb;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using DTS.Common.Enums.DBExport;
|
||||
using DTS.Common.Storage;
|
||||
using DTS.Common.Utilities.Logging;
|
||||
|
||||
namespace DTS.Common.ISO
|
||||
{
|
||||
public class MMEFilterClasses : AbstractOLEDbWrapper
|
||||
{
|
||||
public string S_GUID { get; }
|
||||
|
||||
public string Filter_Class { get; }
|
||||
|
||||
public string Text_L1 { get; }
|
||||
|
||||
public string Text_L2 { get; }
|
||||
|
||||
public long Version { get; }
|
||||
|
||||
public DateTime Date { get; }
|
||||
|
||||
public string Remarks { get; }
|
||||
|
||||
public bool Expired { get; }
|
||||
|
||||
public string SortKey { get; }
|
||||
|
||||
public DateTime Last_Change { get; }
|
||||
|
||||
public string Last_Change_Text { get; }
|
||||
|
||||
public string History { get; }
|
||||
|
||||
public MMEPossibleChannels.MMEChannelTypes RecordType { get; } = MMEPossibleChannels.MMEChannelTypes.ISO13499_106;
|
||||
|
||||
public static MMEFilterClasses ReadXML(XmlElement node)
|
||||
{
|
||||
string sGuid = "", filterClass = "", textL1 = "", textL2 = "", remarks = "", sortKey = "", lastChangeText = "", history = "";
|
||||
long version = 0;
|
||||
DateTime date = DateTime.Now, lastChange = DateTime.Now;
|
||||
var bExpired = false;
|
||||
|
||||
var fields = Enum.GetValues(typeof(CustomFilterFields)).Cast<CustomFilterFields>().ToArray();
|
||||
foreach (var field in fields)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case CustomFilterFields.Date:
|
||||
date = DateTime.Parse(node.GetAttribute(field.ToString()), System.Globalization.CultureInfo.InvariantCulture);
|
||||
break;
|
||||
case CustomFilterFields.Expired:
|
||||
bExpired = Convert.ToBoolean(node.GetAttribute(field.ToString()));
|
||||
break;
|
||||
case CustomFilterFields.Filter_Class:
|
||||
filterClass = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.History:
|
||||
history = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.Last_Change:
|
||||
lastChange = DateTime.Parse(node.GetAttribute(field.ToString()), System.Globalization.CultureInfo.InvariantCulture);
|
||||
break;
|
||||
case CustomFilterFields.Last_Change_Text:
|
||||
lastChangeText = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.Remarks:
|
||||
remarks = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.S_GUID:
|
||||
sGuid = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.SortKey:
|
||||
sortKey = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.Text_L1:
|
||||
textL1 = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.Text_L2:
|
||||
textL2 = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomFilterFields.Version:
|
||||
version = long.Parse(node.GetAttribute(field.ToString()), System.Globalization.CultureInfo.InvariantCulture);
|
||||
break;
|
||||
default:
|
||||
throw new NotSupportedException("ImportTestSetup::ImportCustomFilterClasses unknown field: " + field);
|
||||
}
|
||||
}
|
||||
return new MMEFilterClasses(sGuid, filterClass, textL1, textL2, version, date, remarks, bExpired, sortKey,
|
||||
lastChange, lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.SQL);
|
||||
}
|
||||
|
||||
public MMEFilterClasses(string sGuid, string filterClass, string textL1, string textL2, long version,
|
||||
DateTime date, string remarks, bool bExpired, string sortKey, DateTime lastChange, string lastChangeText, string history,
|
||||
MMEPossibleChannels.MMEChannelTypes type)
|
||||
{
|
||||
RecordType = type;
|
||||
S_GUID = sGuid;
|
||||
Filter_Class = filterClass;
|
||||
Text_L1 = textL1;
|
||||
Text_L2 = textL2;
|
||||
Version = version;
|
||||
Date = date;
|
||||
Remarks = remarks;
|
||||
Expired = bExpired;
|
||||
SortKey = sortKey;
|
||||
Last_Change = lastChange;
|
||||
Last_Change_Text = lastChangeText;
|
||||
History = history;
|
||||
}
|
||||
|
||||
public static MMEFilterClasses[] GetFilterClasses()
|
||||
{
|
||||
var filterClasses = new List<MMEFilterClasses>();
|
||||
|
||||
using (var cmd = DbOperations.GetISOCommand())
|
||||
{
|
||||
cmd.CommandType = CommandType.Text;
|
||||
cmd.CommandText = "SELECT * FROM MMEFilterClasses";
|
||||
|
||||
try
|
||||
{
|
||||
using (var ISOReader = cmd.ExecuteReader())
|
||||
{
|
||||
while (ISOReader.Read())
|
||||
{
|
||||
try
|
||||
{
|
||||
string sGuid = ISOReader["s_GUID"].ToString();
|
||||
string filterClass = ISOReader["FILTER_CLASS"].ToString();
|
||||
string textL1 = ISOReader["TEXT_L1"].ToString();
|
||||
string textL2 = ISOReader["TEXT_L2"].ToString();
|
||||
long version = Convert.ToInt64(ISOReader["VERSION"]);
|
||||
DateTime date = (DateTime)ISOReader["DATE"];
|
||||
string remarks = ISOReader["REMARKS"].ToString();
|
||||
bool expired = (bool)ISOReader["EXPIRED"];
|
||||
string sortkey = ISOReader["SORTKEY"].ToString();
|
||||
DateTime lastChange = GetDate(ISOReader, "LAST_CHANGE");
|
||||
string lastChangeText = ISOReader["LAST_CHANGE_TEXT"].ToString();
|
||||
string history = ISOReader["HISTORY"].ToString();
|
||||
filterClasses.Add(new MMEFilterClasses(sGuid, filterClass, textL1, textL2, version,
|
||||
date, remarks, expired,
|
||||
sortkey, lastChange, lastChangeText, history,
|
||||
MMEPossibleChannels.MMEChannelTypes.ISO13499_106));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
APILogger.Log("Failed to process filter classes ", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
return filterClasses.ToArray();
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return Text_L1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user