General tidy.

This commit is contained in:
Andy Howard
2024-06-13 14:32:44 +01:00
parent 0c44e9ddd3
commit bf6bb966bc
159 changed files with 1166 additions and 972 deletions
@@ -68,7 +68,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
catch (Exception exc)
{
SetErrorState("Database query exception");
SaLogger.Warn(GetType().Name + ".GetVehicle\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}");
}
}
return vehicle;
@@ -103,7 +103,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Insert Vehicle.
public override bool InsertVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
{
String fn = GetType().Name + ".InsertVehicle";
ClearErrorState();
if (!IsValidVehicle(vehicle)) return false;
if (SysId.IsValid(vehicle.Id)) return SetErrorState(ErrorMessage.ValiditemId);
@@ -123,7 +122,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
dbVehicle.ExecuteInsertCommand(dbCommand);
vehicle.Id = new SysId(dbVehicle._Id);
vehicle.Changed = false;
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}");
}
catch (Exception exc) { SetErrorState(exc.Message); }
}
@@ -134,13 +133,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Update Vehicle.
public override bool UpdateVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
{
String fn = GetType().Name + ".UpdateVehicle";
ClearErrorState();
if (!IsValidVehicle(vehicle)) return false;
if (!SysId.IsValid(vehicle.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
if (!vehicle.Changed)
{
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Data not changed.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}");
return true;
}
using (var dbConnection = db.CreateConnection())
@@ -151,14 +149,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Retrieve Vehicle.
dbConnection.Open();
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, "Id=" + SysId.ToString(vehicle.Id));
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, $"Id={SysId.ToString(vehicle.Id)}");
SbmUpdateLogItemMonitor_Vehicle updateLogMonitor = new SbmUpdateLogItemMonitor_Vehicle(Internals, CreateVehicle(dbVehicle));
// Update properties.
PopulateTo(dbVehicle, vehicle, dbUpdateInfo);
dbVehicle.ExecuteUpdateCommand(dbCommand);
vehicle.Changed = false;
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Updated.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}");
// Record updates.
updateLogMonitor.RecordUpdatedValues(vehicle);
@@ -179,7 +177,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
public override bool DeleteVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
{
String fn = GetType().Name + ".DeleteVehicle";
ClearErrorState();
if (!VehicleCanBeDeleted(vehicle)) return false;
using (var dbConnection = db.CreateConnection())
@@ -190,13 +187,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Retrieve prm.
dbConnection.Open();
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, "Id=" + vehicle.Id.ToString());
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, $"Id={vehicle.Id.ToString()}");
// Delete prm.
dbCommand.CommandType = System.Data.CommandType.Text;
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle) + " WHERE Id=" + SysId.ToString(vehicle.Id) + ";";
dbCommand.CommandText = $"DELETE FROM {SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle)} WHERE Id={SysId.ToString(vehicle.Id)};";
dbCommand.ExecuteNonQuery();
vehicle.Changed = false;
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Deleted.{GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t")}");
}
catch (Exception exc) { SetErrorState(exc.Message); }
}
@@ -502,15 +499,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
String includedIds = prm.IncludedIds.Concat(",");
String colVehicle_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle);
if (!StringUtil.IsEmpty(includedIds))
filter.Add(colVehicle_Id + " IN (" + includedIds + ")");
filter.Add($"{colVehicle_Id} IN ({includedIds})");
String excludedIds = prm.ExcludedIds.Concat(",");
if (!StringUtil.IsEmpty(excludedIds))
filter.Add(colVehicle_Id + " NOT IN (" + excludedIds + ")");
filter.Add($"{colVehicle_Id} NOT IN ({excludedIds})");
//---------------------------------------------------------------
// Vehicle Class.
String colVehicle_VehicleClassId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle);
if (SysId.IsValid(prm.VehicleClassId))
filter.Add(colVehicle_VehicleClassId + "=" + prm.VehicleClassId.ToString());
filter.Add($"{colVehicle_VehicleClassId}={prm.VehicleClassId.ToString()}");
String classDesc = DbQuery.FormatForCondition(prm.ClassDescPartial);
if (!StringUtil.IsEmpty(prm.MakeCode) || !classDesc.IsEmpty())
{
@@ -518,21 +515,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
qryVehicleClass.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass);
qryVehicleClass.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass));
if (!StringUtil.IsEmpty(prm.MakeCode))
qryVehicleClass.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicle_VehicleClass) + "='" + prm.MakeCode + "'");
qryVehicleClass.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicle_VehicleClass)}='{prm.MakeCode}'");
if (!StringUtil.IsEmpty(classDesc))
qryVehicleClass.Filters.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass), prm.ClassDescPartial.Length) + "='" + classDesc + "'");
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle) + " IN (" + qryVehicleClass.BuildQuery() + ")");
qryVehicleClass.Filters.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass), prm.ClassDescPartial.Length)}='{classDesc}'");
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)} IN ({qryVehicleClass.BuildQuery()})");
}
//---------------------------------------------------------------
// Partial Registration.
String regNumber = DbQuery.FormatForCondition(prm.RegNumberPartial);
if (!StringUtil.IsEmpty(regNumber))
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle), prm.RegNumberPartial.Length) + " ='" + regNumber + "'");
filter.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle), prm.RegNumberPartial.Length)}='{regNumber}'");
// Partial VIN:
String vin = DbQuery.FormatForCondition(prm.VinPartial);
if (!StringUtil.IsEmpty(vin))
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle), prm.VinPartial.Length) + " ='" + vin + "'");
filter.Add($"{DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle), prm.VinPartial.Length)}='{vin}'");
//---------------------------------------------------------------
// Associated Assets.
@@ -542,29 +539,29 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
DbQuery qryAsset = new DbQuery(db.DbmsType);
qryAsset.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset), aliasVehicle_Asset);
qryAsset.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasVehicle_Asset));
qryAsset.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasVehicle_Asset) + "=" + ((int)Sbm.ItemType.Vehicle).ToString());
qryAsset.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasVehicle_Asset) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
qryAsset.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasVehicle_Asset)}={(int)Sbm.ItemType.Vehicle}");
qryAsset.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasVehicle_Asset)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}");
String colAsset_AssetCategoryId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasVehicle_Asset);
String colAsset_ProcessIdNext = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasVehicle_Asset);
if (SysId.IsValid(prm.AssetCatIdInclude) || SysId.IsValid(prm.AssetProcessIdNext))
{
if (SysId.IsValid(prm.AssetCatIdInclude))
qryAsset.Filters.Add(colAsset_AssetCategoryId + "=" + prm.AssetCatIdInclude.ToString());
qryAsset.Filters.Add($"{colAsset_AssetCategoryId}={prm.AssetCatIdInclude.ToString()}");
if (SysId.IsValid(prm.AssetProcessIdNext))
qryAsset.Filters.Add(colAsset_ProcessIdNext + "=" + prm.AssetProcessIdNext.ToString());
filter.Add(" EXISTS(" + qryAsset.BuildQuery() + ")");
qryAsset.Filters.Add($"{colAsset_ProcessIdNext}={prm.AssetProcessIdNext.ToString()}");
filter.Add($" EXISTS({qryAsset.BuildQuery()})");
}
if (SysId.IsValid(prm.AssetCatIdExclude))
{
qryAsset.Filters.Add(colAsset_AssetCategoryId + "=" + prm.AssetCatIdExclude.ToString());
filter.Add(" NOT EXISTS(" + qryAsset.BuildQuery() + ")");
qryAsset.Filters.Add($"{colAsset_AssetCategoryId}={prm.AssetCatIdExclude.ToString()}");
filter.Add($" NOT EXISTS({qryAsset.BuildQuery()})");
}
}
//---------------------------------------------------------------
// Restrict to active:
String colVehicle_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Status, aliasVehicle);
if (!StringUtil.IsEmpty(prm.RestrictToActive))
filter.Add(colVehicle_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Active) + "'");
filter.Add($"{colVehicle_Status}='{StatusActive}'");
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
return filter;
@@ -609,7 +606,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
private long GetVehicleCount(String filter)
{
ClearErrorState();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle) + " As " + aliasVehicle, filter);
return db.GetRowCount($"{SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle)} As {aliasVehicle}", filter);
}
public override long GetVehicleCount(SbmVehicle.Params prm)
{
@@ -621,7 +618,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Vehicle list.
public override List<SbmVehicle> GetVehicleList(SbmVehicle.Params prm)
{
List<SbmVehicle> Vehiclees = new List<SbmVehicle>();
ClearErrorState();
List<SbmVehicle> vehicles = new List<SbmVehicle>();
DbQuery qry = new DbQuery(db.DbmsType);
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle), aliasVehicle);
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
@@ -642,16 +640,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
dbVehicle = new SaVehicle_Db(DbInfo);
dbVehicle.PopulateFrom(dbDataReader);
Vehiclees.Add(CreateVehicle(dbVehicle));
vehicles.Add(CreateVehicle(dbVehicle));
}
}
}
catch (Exception exc)
{
SaLogger.Warn(GetType().Name + ".GetVehicleList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
SetErrorState("Database query exception");
SaLogger.Warn($"{SysUtil.Fn}\n\tQuery: {dbCommand.CommandText}\n\t{ExceptionUtil.GetErrorStateMessage(exc)}");
}
}
return Vehiclees;
return vehicles;
}
//-------------------------------------------------------------------
@@ -697,7 +696,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
DbQueryJoin joinVehCat = new DbQueryJoin(DbJoinType.LeftOuter);
joinVehCat.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass);
joinVehCat.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle));
joinVehCat.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)}");
query.Joins.Add(joinVehCat);
// Add the Vehicle Category columns:
List<SbmDbDfn.ColumnIdx> dbColumns = new List<SbmDbDfn.ColumnIdx>();
@@ -726,9 +725,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
String aliasVehicle_VehicleEvent = "aVehVehEvt";
DbQuery qryEvent = new DbQuery(db.DbmsType);
qryEvent.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent), aliasVehicle_VehicleEvent);
qryEvent.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Id, aliasVehicle_VehicleEvent) + ")");
qryEvent.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId, aliasVehicle_VehicleEvent) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
query.Columns.Add("(" + qryEvent.BuildQuery() + ")", dataNameVehEventCount);
qryEvent.Columns.Add($"Count({SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Id, aliasVehicle_VehicleEvent)})");
qryEvent.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId, aliasVehicle_VehicleEvent)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}");
query.Columns.Add($"({qryEvent.BuildQuery()})", dataNameVehEventCount);
}
}
//---------------------------------------------------------------
@@ -742,9 +741,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
String aliasVehicle_VehicleFeature = "aVehVehFtr";
DbQuery qryFeature = new DbQuery(db.DbmsType);
qryFeature.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature), aliasVehicle_VehicleFeature);
qryFeature.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature) + ")");
qryFeature.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
query.Columns.Add("(" + qryFeature.BuildQuery() + ")", dataNameVehFeatureCount);
qryFeature.Columns.Add($"Count({SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature)})");
qryFeature.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}");
query.Columns.Add($"({qryFeature.BuildQuery()})", dataNameVehFeatureCount);
}
}
@@ -760,12 +759,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
String aliasVehicle_ItemData = "aVehItmDat";
DbQuery qryItemData = new DbQuery(db.DbmsType);
qryItemData.Tables.Add(SaItemDataDbDfn.GetTableName(SaItemDataDbDfn.TableIdx.SaItemData), aliasVehicle_ItemData);
qryItemData.Columns.Add("Count(" + SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_Id, aliasVehicle_ItemData) + ")");
qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemType, aliasVehicle_ItemData) + "=" + ((int)Sbm.ItemType.Vehicle).ToString());
qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemId, aliasVehicle_ItemData) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
qryItemData.Columns.Add($"Count({SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_Id, aliasVehicle_ItemData)})");
qryItemData.Filters.Add($"{SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemType, aliasVehicle_ItemData)}={(int)Sbm.ItemType.Vehicle}");
qryItemData.Filters.Add($"{SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemId, aliasVehicle_ItemData)}={SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle)}");
List<TypeCodeDesc> itemDataTypes = new List<TypeCodeDesc>();
qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_DataType, aliasVehicle_ItemData) + "='" + itemDataTypes.GetCodeForType(Sbm.ItemDataType.Vehicle_HpiResponse) + "'");
query.Columns.Add("(" + qryItemData.BuildQuery() + ")", dataNameHpiCheckCount);
qryItemData.Filters.Add($"{SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_DataType, aliasVehicle_ItemData)}='{itemDataTypes.GetCodeForType(Sbm.ItemDataType.Vehicle_HpiResponse)}'");
query.Columns.Add($"({qryItemData.BuildQuery()})", dataNameHpiCheckCount);
}
}
// Common Properties