Files
DP44/DataPRO/Modules/PreviousDBVersions/Version57/DatabaseExport/ISO/MMEFineLocations2.cs
2026-04-17 14:55:32 -04:00

207 lines
11 KiB
C#

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Data.OleDb;
namespace DatabaseExport
{
public class MMEFineLocations2 : AbstractOLEDbWrapper
{
public string S_GUID { get; }
public string FINE_LOC_2 { 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 MMEFineLocations2(string sGuid, string fineLoc2, 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;
FINE_LOC_2 = fineLoc2;
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 MMEFineLocations2[] GetFineLocations2()
{
var fineLocations2 = new List<MMEFineLocations2>();
try
{
using (var cmd = DbOperations.GetISOCommand())
{
cmd.CommandText = "SELECT * FROM MMEFineLocations2";
cmd.CommandType = CommandType.Text;
try
{
using (var ISOReader = cmd.ExecuteReader())
{
while (ISOReader.Read())
{
try
{
string sGuid = ISOReader["s_GUID"].ToString();
string sFineLoc2 = ISOReader["FINE_LOC_2"].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();
fineLocations2.Add(new MMEFineLocations2(sGuid, sFineLoc2, 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.MMEFineLocations2Table);
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.MMEFineLocations2Fields))
.Cast<DbOperations.MMETables.MMEFineLocations2Fields>().ToArray();
foreach (System.Data.DataRow dr in ds.Tables[0].Rows)
{
var version = 0;
var text2 = "";
var text1 = "";
var sortkey = "";
var sGuid = "";
var remarks = "";
var lastChangeText = "";
var lastChange = DateTime.Now;
var history = "";
var fineLoc2 = "??";
var expired = false;
var date = DateTime.Now;
foreach (var field in fields)
{
try
{
if (DBNull.Value.Equals(dr[field.ToString()]))
{
continue;
}
switch (field)
{
case DbOperations.MMETables.MMEFineLocations2Fields.DATE:
date = Convert.ToDateTime(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.EXPIRED:
expired = Convert.ToBoolean(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.FINE_LOC_2:
fineLoc2 = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.HISTORY:
history = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.LAST_CHANGE:
lastChange = Convert.ToDateTime(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.LAST_CHANGE_TEXT:
lastChangeText = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.REMARKS:
remarks = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.s_GUID:
sGuid = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.SORTKEY:
sortkey = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.TEXT_L1:
text1 = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.TEXT_L2:
text2 = Convert.ToString(dr[field.ToString()]);
break;
case DbOperations.MMETables.MMEFineLocations2Fields.VERSION:
version = Convert.ToInt32(dr[field.ToString()]);
break;
}
}
catch (Exception)
{
//ignore
}
}
fineLocations2.Add(new MMEFineLocations2(sGuid.ToString(), fineLoc2, 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 fineLocations2.ToArray();
}
}
}