init
This commit is contained in:
@@ -0,0 +1,341 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Data.OleDb;
|
||||
|
||||
namespace DatabaseExport
|
||||
{
|
||||
/// <summary>
|
||||
/// a test object is a top level object in the ISO database
|
||||
/// given a test object, it is possible to find all possible channels as defined in ISO
|
||||
/// note there is a ? test object ...
|
||||
/// I'll use these to build templates
|
||||
/// </summary>
|
||||
public class MMETestObjects : AbstractOLEDbWrapper
|
||||
{
|
||||
public string S_GUID { get; }
|
||||
|
||||
public string Test_Object { 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 MMETestObjects(string sGuid, string testObject, string textL1, string textL2, long version,
|
||||
DateTime date, string remarks, bool expired, string sortkey, DateTime lastChange, string lastChangeText,
|
||||
string history, MMEPossibleChannels.MMEChannelTypes type)
|
||||
{
|
||||
RecordType = type;
|
||||
S_GUID = sGuid;
|
||||
Test_Object = testObject;
|
||||
Text_L1 = textL1;
|
||||
Text_L2 = textL2;
|
||||
Version = version;
|
||||
Date = date;
|
||||
Remarks = remarks;
|
||||
Expired = expired;
|
||||
SortKey = sortkey;
|
||||
Last_Change = lastChange;
|
||||
Last_Change_Text = lastChangeText;
|
||||
History = history;
|
||||
}
|
||||
public static MMETestObjects GetTestObject(OleDbConnection connection, string sGUID)
|
||||
{
|
||||
var testObjects = new List<MMETestObjects>();
|
||||
try
|
||||
{
|
||||
using (var command = new OleDbCommand())
|
||||
{
|
||||
command.Connection = connection;
|
||||
var param = new OleDbParameter("@SGuid", sGUID);
|
||||
command.Parameters.Add(param);
|
||||
command.CommandText = "SELECT * from [MME_TEST_OBJECTS] WHERE [s_GUID]=@SGuid";
|
||||
|
||||
using (var reader = command.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
var sGuid = reader["s_GUID"].ToString();
|
||||
var testObject = reader["TEST_OBJECT"].ToString();
|
||||
var textL1 = reader["TEXT_L1"].ToString();
|
||||
var textL2 = reader["TEXT_L2"].ToString();
|
||||
var version = AbstractOLEDbWrapper.GetLong(reader, "VERSION");
|
||||
var date = (DateTime)reader["DATE"];
|
||||
var remarks = reader["REMARKS"].ToString();
|
||||
var expired = (bool)reader["EXPIRED"];
|
||||
var sortkey = reader["SORTKEY"].ToString();
|
||||
var lastChange = AbstractOLEDbWrapper.GetDate(reader, "LAST_CHANGE");
|
||||
var lastChangeText = reader["LAST_CHANGE_TEXT"].ToString();
|
||||
var history = reader["HISTORY"].ToString();
|
||||
testObjects.Add(new MMETestObjects(sGuid, testObject, textL1, textL2, version, date, remarks, expired,
|
||||
sortkey, lastChange, lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.ISO13499_106));
|
||||
}
|
||||
}
|
||||
}
|
||||
long l;
|
||||
if (long.TryParse(sGUID, out l))
|
||||
{
|
||||
using (var cmd = DbOperations.GetCommand())
|
||||
{
|
||||
cmd.CommandText = string.Format("SELECT * from {0} where {1}=@{1}", DbOperations.MMETables.MMETestObjectsTable,
|
||||
DbOperations.MMETables.MMETestObjectsFields.s_GUID.ToString());
|
||||
DbOperations.CreateParam(cmd, string.Format("@{0}", DbOperations.MMETables.MMETestObjectsFields.s_GUID.ToString()),
|
||||
System.Data.SqlDbType.BigInt, l);
|
||||
using (var ds = DbOperations.Connection.QueryDataSet(cmd))
|
||||
{
|
||||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
var fields = Enum.GetValues(typeof(DbOperations.MMETables.MMETestObjectsFields))
|
||||
.Cast<DbOperations.MMETables.MMETestObjectsFields>().ToArray();
|
||||
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
|
||||
{
|
||||
var version = 0;
|
||||
var text2 = "";
|
||||
var text1 = "";
|
||||
var testObject = "?";
|
||||
var sortkey = "";
|
||||
var remarks = "";
|
||||
var lastChangeText = "";
|
||||
var lastChange = DateTime.Now;
|
||||
var history = "";
|
||||
var expired = false;
|
||||
var date = DateTime.Now;
|
||||
foreach (var field in fields)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (DBNull.Value.Equals(dr[field.ToString()])) { continue; }
|
||||
|
||||
var o = dr[field.ToString()];
|
||||
switch (field)
|
||||
{
|
||||
case DbOperations.MMETables.MMETestObjectsFields.DATE:
|
||||
date = Convert.ToDateTime(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.EXPIRED:
|
||||
expired = Convert.ToBoolean(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.HISTORY:
|
||||
history = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.LAST_CHANGE:
|
||||
lastChange = Convert.ToDateTime(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.LAST_CHANGE_TEXT:
|
||||
lastChangeText = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.REMARKS:
|
||||
remarks = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.s_GUID:
|
||||
//this was part of the where ... we don't need it
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.SORTKEY:
|
||||
sortkey = Convert.ToString(sortkey);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.TEST_OBJECT:
|
||||
testObject = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.TEXT_L1:
|
||||
text1 = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.TEXT_L2:
|
||||
text2 = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.VERSION:
|
||||
version = Convert.ToInt32(o);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
}
|
||||
testObjects.Add(new MMETestObjects(sGUID, testObject, text1, text2, Convert.ToInt64(version), date, remarks, expired, sortkey,
|
||||
lastChange, lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.SQL));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
if (testObjects.Count > 0) { return testObjects[0]; }
|
||||
else { return null; }
|
||||
}
|
||||
public static MMETestObjects[] GetTestObjects()
|
||||
{
|
||||
var testObjects = new List<MMETestObjects>();
|
||||
try
|
||||
{
|
||||
using (var cmd = DbOperations.GetISOCommand())
|
||||
{
|
||||
cmd.CommandText = "SELECT * FROM MMETestObjects";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
try
|
||||
{
|
||||
using (var ISOReader = cmd.ExecuteReader())
|
||||
{
|
||||
while (ISOReader.Read())
|
||||
{
|
||||
try
|
||||
{
|
||||
string sGuid = ISOReader["s_GUID"].ToString();
|
||||
string testObject = ISOReader["TEST_OBJECT"].ToString();
|
||||
string textL1 = ISOReader["TEXT_L1"].ToString();
|
||||
string textL2 = ISOReader["TEXT_L2"].ToString();
|
||||
long version = GetLong(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();
|
||||
testObjects.Add(new MMETestObjects(sGuid, testObject, textL1, textL2, version, date, remarks, expired,
|
||||
sortkey, lastChange, lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.ISO13499_106));
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
try
|
||||
{
|
||||
using (var cmd = DbOperations.GetCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandText = string.Format("SELECT * FROM {0}", DbOperations.MMETables.MMETestObjectsTable);
|
||||
using (var ds = DbOperations.Connection.QueryDataSet(cmd))
|
||||
{
|
||||
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
|
||||
{
|
||||
var fields = Enum.GetValues(typeof(DbOperations.MMETables.MMETestObjectsFields))
|
||||
.Cast<DbOperations.MMETables.MMETestObjectsFields>().ToArray();
|
||||
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
|
||||
{
|
||||
var version = 0;
|
||||
var text2 = "";
|
||||
var text1 = "";
|
||||
var textObject = "?";
|
||||
var sortKey = "";
|
||||
var sGuid = "";
|
||||
var remarks = "";
|
||||
var lastChangeText = "";
|
||||
var lastChange = DateTime.Now;
|
||||
var history = "";
|
||||
var expired = false;
|
||||
var date = DateTime.Now;
|
||||
|
||||
foreach (var field in fields)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (DBNull.Value.Equals(dr[field.ToString()]))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var o = dr[field.ToString()];
|
||||
|
||||
switch (field)
|
||||
{
|
||||
case DbOperations.MMETables.MMETestObjectsFields.DATE:
|
||||
date = Convert.ToDateTime(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.EXPIRED:
|
||||
expired = Convert.ToBoolean(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.HISTORY:
|
||||
history = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.LAST_CHANGE:
|
||||
lastChange = Convert.ToDateTime(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.LAST_CHANGE_TEXT:
|
||||
lastChangeText = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.REMARKS:
|
||||
remarks = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.s_GUID:
|
||||
sGuid = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.SORTKEY:
|
||||
sortKey = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.TEST_OBJECT:
|
||||
textObject = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.TEXT_L1:
|
||||
text1 = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.TEXT_L2:
|
||||
text2 = Convert.ToString(o);
|
||||
break;
|
||||
case DbOperations.MMETables.MMETestObjectsFields.VERSION:
|
||||
version = Convert.ToInt32(o);
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
}
|
||||
testObjects.Add(new MMETestObjects(sGuid.ToString(), textObject, text1, text2, Convert.ToInt64(version), date, remarks, expired, sortKey,
|
||||
lastChange, lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.SQL));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//ignore
|
||||
}
|
||||
return testObjects.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user