Files
DP44/DataPRO/Modules/DatabaseImporter/DatabaseImport/ISO/MMEFineLocations2.cs

216 lines
12 KiB
C#
Raw Normal View History

2026-04-17 14:55:32 -04:00
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Data.SqlClient;
namespace DatabaseImport
{
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 void DeleteFineLocations2()
{
try
{
using (var cmd = DbOperations.GetSQLCommand(true))
{
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = DbOperationsEnum.StoredProcedure.sp_MMEFineLocations2Delete.ToString();
cmd.Parameters.Add(new SqlParameter("@s_GUID", SqlDbType.UniqueIdentifier) { Value = null });
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);
cmd.ExecuteNonQuery();
if (int.Parse(errorNumberParam.Value.ToString()) != 0)
{
//errorMessageParam.Value
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
catch (Exception) {/* APILogger.Log("failed to delete fine locations2, ", ex); */}
}
public static MMEFineLocations2[] GetFineLocations2()
{
var fineLocations2 = new List<MMEFineLocations2>();
try
{
using (var cmd = DbOperations.GetSQLCommand(true))
{
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = DbOperationsEnum.StoredProcedure.sp_MMEFineLocations2Get.ToString();
cmd.Parameters.Add(new SqlParameter("@s_GUID", SqlDbType.NVarChar) { Value = null });
using (var ds = DbOperations.Connection.QueryDataSet(cmd))
{
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
try
{
fineLocations2.AddRange(from DataRow dr in ds.Tables[0].Rows
let date = Convert.ToDateTime(
dr[DbOperations.MMETables.MMEFineLocations2Fields.DATE.ToString()])
let expired = Convert.ToBoolean(
dr[DbOperations.MMETables.MMEFineLocations2Fields.EXPIRED.ToString()])
let fineLoc2 = Convert.ToString(dr[
DbOperations.MMETables.MMEFineLocations2Fields.FINE_LOC_2.ToString()])
let history = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.HISTORY.ToString()])
let lastChange = Convert.ToDateTime(dr[
DbOperations.MMETables.MMEFineLocations2Fields.LAST_CHANGE.ToString()])
let lastChangeText = Convert.ToString(dr[
DbOperations.MMETables.MMEFineLocations2Fields.LAST_CHANGE_TEXT.ToString()])
let remarks = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.REMARKS.ToString()])
let sGuid = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.s_GUID.ToString()])
let sortKey = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.SORTKEY.ToString()])
let text1 = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.TEXT_L1.ToString()])
let text2 = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.TEXT_L2.ToString()])
let version = Convert.ToInt32(
dr[DbOperations.MMETables.MMEFineLocations2Fields.VERSION.ToString()])
select new MMEFineLocations2(sGuid, fineLoc2, text1, text2,
Convert.ToInt64(version), date, remarks, expired, sortKey, lastChange,
lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.ISO13499_106));
}
catch (Exception)
{
//APILogger.Log("Failed to parse fine locations2:", ex);
}
}
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
catch (Exception) { /*APILogger.Log("failed to retrieve fine locations2, ", ex); */}
try
{
using (var cmd = DbOperations.GetSQLCommand(true))
{
try
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = DbOperationsEnum.StoredProcedure.sp_MMEFineLocations2GetCustom.ToString();
cmd.Parameters.Add(new SqlParameter("@s_GUID", SqlDbType.NVarChar) { Value = null });
using (var ds = DbOperations.Connection.QueryDataSet(cmd))
{
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
try
{
fineLocations2.AddRange(from DataRow dr in ds.Tables[0].Rows
let date = Convert.ToDateTime(
dr[DbOperations.MMETables.MMEFineLocations2Fields.DATE.ToString()])
let expired = Convert.ToBoolean(
dr[DbOperations.MMETables.MMEFineLocations2Fields.EXPIRED.ToString()])
let fineLoc2 = Convert.ToString(dr[
DbOperations.MMETables.MMEFineLocations2Fields.FINE_LOC_2.ToString()])
let history = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.HISTORY.ToString()])
let lastChange = Convert.ToDateTime(dr[
DbOperations.MMETables.MMEFineLocations2Fields.LAST_CHANGE.ToString()])
let lastChangeText = Convert.ToString(dr[
DbOperations.MMETables.MMEFineLocations2Fields.LAST_CHANGE_TEXT.ToString()])
let remarks = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.REMARKS.ToString()])
let sGuid = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.s_GUID.ToString()])
let sortKey = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.SORTKEY.ToString()])
let text1 = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.TEXT_L1.ToString()])
let text2 = Convert.ToString(
dr[DbOperations.MMETables.MMEFineLocations2Fields.TEXT_L2.ToString()])
let version = Convert.ToInt32(
dr[DbOperations.MMETables.MMEFineLocations2Fields.VERSION.ToString()])
select new MMEFineLocations2(sGuid, fineLoc2, text1, text2,
Convert.ToInt64(version), date, remarks, expired, sortKey, lastChange,
lastChangeText, history, MMEPossibleChannels.MMEChannelTypes.SQL));
}
catch (Exception)
{
//APILogger.Log("Failed to parse custom fine locations2:", ex);
}
}
}
}
finally
{
cmd.Connection.Dispose();
}
}
}
catch (Exception) { /*APILogger.Log("failed to retrieve custom fine locations2, ", ex);*/ }
return fineLocations2.ToArray();
}
}
}