init
This commit is contained in:
@@ -0,0 +1,243 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.OleDb;
|
||||
using System.Data.SqlClient;
|
||||
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 MMEDirections : AbstractOLEDbWrapper
|
||||
{
|
||||
public string S_GUID { get; }
|
||||
|
||||
public string Direction { get; }
|
||||
|
||||
public string Text_L1 { get; }
|
||||
|
||||
public string Text_L2 { get; }
|
||||
|
||||
public DateTime Date { get; }
|
||||
|
||||
public long Version { get; }
|
||||
|
||||
public bool Expired { get; }
|
||||
|
||||
public string Remarks { get; }
|
||||
|
||||
public DateTime Last_Change { get; }
|
||||
|
||||
public string Last_Change_Text { get; }
|
||||
|
||||
public string History { get; }
|
||||
|
||||
public string SortKey { get; }
|
||||
|
||||
public MMEPossibleChannels.MMEChannelTypes RecordType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// imports a singular custom direction
|
||||
/// </summary>
|
||||
/// <param name="node"></param>
|
||||
/// <param name="setStatus"></param>
|
||||
public static MMEDirections ReadXML(XmlElement node)
|
||||
{
|
||||
var fields = Enum.GetValues(typeof(CustomDirectionFields)).Cast<CustomDirectionFields>().ToArray();
|
||||
|
||||
string sGuid = "", direction = "", textL1 = "", textL2 = "", remarks = "", lastChangeText = "", history = "", sortkey = "";
|
||||
var date = DateTime.Now;
|
||||
long version = 0;
|
||||
var bExpired = false;
|
||||
var lastChange = DateTime.Now;
|
||||
|
||||
foreach (var field in fields)
|
||||
{
|
||||
switch (field)
|
||||
{
|
||||
case CustomDirectionFields.Direction:
|
||||
direction = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.Expired:
|
||||
bExpired = Convert.ToBoolean(node.GetAttribute(field.ToString()));
|
||||
break;
|
||||
case CustomDirectionFields.GUID:
|
||||
sGuid = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.History:
|
||||
history = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.Last_Change:
|
||||
lastChange = DateTime.Parse(node.GetAttribute(field.ToString()), System.Globalization.CultureInfo.InvariantCulture);
|
||||
break;
|
||||
case CustomDirectionFields.Last_Change_Text:
|
||||
lastChangeText = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.Remarks:
|
||||
remarks = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.SortKey:
|
||||
sortkey = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.Text_L1:
|
||||
textL1 = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.Text_L2:
|
||||
textL2 = node.GetAttribute(field.ToString());
|
||||
break;
|
||||
case CustomDirectionFields.Version:
|
||||
version = long.Parse(node.GetAttribute(field.ToString()), System.Globalization.CultureInfo.InvariantCulture);
|
||||
break;
|
||||
default:
|
||||
throw new NotSupportedException("ImportTestSetup::ImportCustomDirection unsupported field: " + field.ToString());
|
||||
}
|
||||
}
|
||||
|
||||
return new MMEDirections(sGuid, direction, textL1, textL2, date, version, bExpired, remarks, lastChange, lastChangeText, history, sortkey, MMEPossibleChannels.MMEChannelTypes.SQL);
|
||||
}
|
||||
|
||||
public MMEDirections(string sGuid, string direction, string textL1, string textL2, DateTime date, long version,
|
||||
bool bExpired, string remarks, DateTime lastChange, string lastChangeText, string history, string sortkey,
|
||||
MMEPossibleChannels.MMEChannelTypes type)
|
||||
{
|
||||
RecordType = type;
|
||||
S_GUID = sGuid;
|
||||
Direction = direction;
|
||||
Text_L1 = textL1;
|
||||
Text_L2 = textL2;
|
||||
Date = date;
|
||||
Version = version;
|
||||
Expired = bExpired;
|
||||
Remarks = remarks;
|
||||
Last_Change = lastChange;
|
||||
Last_Change_Text = lastChangeText;
|
||||
History = history;
|
||||
SortKey = sortkey;
|
||||
}
|
||||
|
||||
public static MMEDirections[] GetDirections()
|
||||
{
|
||||
var directions = new List<MMEDirections>();
|
||||
|
||||
using (var cmd = DbOperations.GetISOCommand())
|
||||
{
|
||||
cmd.CommandText = "SELECT * FROM MMEDirections";
|
||||
cmd.CommandType = CommandType.Text;
|
||||
try
|
||||
{
|
||||
using (var ISOReader = cmd.ExecuteReader())
|
||||
{
|
||||
while (ISOReader.Read())
|
||||
{
|
||||
try
|
||||
{
|
||||
var version =
|
||||
Convert.ToInt32(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.VERSION.ToString()]);
|
||||
var text2 = Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.TEXT_L2.ToString()]);
|
||||
var text1 = Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.TEXT_L1.ToString()]);
|
||||
var sortKey =
|
||||
Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.SORTKEY.ToString()]);
|
||||
var sGuid = Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.s_GUID.ToString()]);
|
||||
var remarks =
|
||||
Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.REMARKS.ToString()]);
|
||||
var lastChangeText =
|
||||
Convert.ToString(
|
||||
ISOReader[
|
||||
DbOperations.MMETables.MMEDirectionsFields.LAST_CHANGE_TEXT.ToString()]);
|
||||
var lastChange = GetDate(ISOReader,
|
||||
DbOperations.MMETables.MMEDirectionsFields.LAST_CHANGE.ToString());
|
||||
var history =
|
||||
Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.HISTORY.ToString()]);
|
||||
var expired =
|
||||
Convert.ToBoolean(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.EXPIRED.ToString()]);
|
||||
var direction =
|
||||
Convert.ToString(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.DIRECTION.ToString()]);
|
||||
var date = Convert.ToDateTime(
|
||||
ISOReader[DbOperations.MMETables.MMEDirectionsFields.DATE.ToString()]);
|
||||
var mmedirection = new MMEDirections(sGuid, direction, text1, text2, date,
|
||||
Convert.ToInt64(version), expired, remarks, lastChange, lastChangeText,
|
||||
history, sortKey, MMEPossibleChannels.MMEChannelTypes.ISO13499_106);
|
||||
directions.Add(mmedirection);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
APILogger.Log("failed to load direction", ex);
|
||||
}
|
||||
}
|
||||
|
||||
ISOReader.Close();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
return directions.ToArray();
|
||||
}
|
||||
|
||||
public void Commit()
|
||||
{
|
||||
using (var cmd = DbOperations.GetSQLCommand(true))
|
||||
{
|
||||
try
|
||||
{
|
||||
cmd.CommandType = CommandType.StoredProcedure;
|
||||
cmd.CommandText = DbOperationsEnum.StoredProcedure.sp_MMEDirectionsUpdateInsert.ToString();
|
||||
|
||||
#region params
|
||||
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@s_GUID", SqlDbType.UniqueIdentifier) { Value = Guid.Parse(S_GUID) });
|
||||
cmd.Parameters.Add(new SqlParameter("@DIRECTION", SqlDbType.NVarChar, 50) { Value = Direction });
|
||||
cmd.Parameters.Add(new SqlParameter("@TEXT_L1", SqlDbType.NVarChar, 255) { Value = Text_L1 });
|
||||
cmd.Parameters.Add(new SqlParameter("@TEXT_L2", SqlDbType.NVarChar, 255) { Value = Text_L2 });
|
||||
cmd.Parameters.Add(new SqlParameter("@DATE", SqlDbType.DateTime) { Value = Date });
|
||||
cmd.Parameters.Add(new SqlParameter("@VERSION", SqlDbType.Int) { Value = Version });
|
||||
cmd.Parameters.Add(new SqlParameter("@EXPIRED", SqlDbType.Bit) { Value = Expired });
|
||||
cmd.Parameters.Add(new SqlParameter("@REMARKS", SqlDbType.NVarChar) { Value = Remarks });
|
||||
cmd.Parameters.Add(new SqlParameter("@LAST_CHANGE", SqlDbType.DateTime) { Value = Last_Change });
|
||||
cmd.Parameters.Add(
|
||||
new SqlParameter("@LAST_CHANGE_TEXT", SqlDbType.NVarChar, 255) { Value = Last_Change_Text });
|
||||
cmd.Parameters.Add(new SqlParameter("@HISTORY", SqlDbType.NVarChar) { Value = History });
|
||||
cmd.Parameters.Add(new SqlParameter("@SORTKEY", SqlDbType.NVarChar, 50) { Value = SortKey });
|
||||
var newIdParam = new SqlParameter("@new_id", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(newIdParam);
|
||||
var errorNumberParam =
|
||||
new SqlParameter("@errorNumber", SqlDbType.Int) { Direction = ParameterDirection.Output };
|
||||
cmd.Parameters.Add(errorNumberParam);
|
||||
var errorMessageParam =
|
||||
new SqlParameter("@errorMessage", SqlDbType.NVarChar, 250)
|
||||
{
|
||||
Direction = ParameterDirection.Output
|
||||
};
|
||||
cmd.Parameters.Add(errorMessageParam);
|
||||
|
||||
#endregion params
|
||||
|
||||
cmd.ExecuteNonQuery();
|
||||
if (int.Parse(errorNumberParam.Value.ToString()) != 0)
|
||||
{
|
||||
//errorMessageParam.Value
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
cmd.Connection.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user