Vehicles - interim

This commit is contained in:
Andy Howard
2026-07-03 14:55:40 +01:00
parent 166fa3a352
commit c277e06eea
24 changed files with 2042 additions and 444 deletions
@@ -36,7 +36,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//-------------------------------------------------------------------
// Odometer Reading.
public override bool SetVehicleOdometerReading(SbmVehicle vehicle, decimal odometer, DbUpdateInfo dbUpdateInfo)
public override bool SetVehicleOdometerReading(SbmVehicle vehicle, Int32 odometer, DbUpdateInfo dbUpdateInfo)
{
if (vehicle == null || !SysId.IsValid(vehicle.Id) || odometer < 1) return false;
DateTime todayDate = DateTime.MinValue;
@@ -180,7 +180,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
List<TypeCodeDesc> itemDataTypes = SbmSystem.GetSystemCodes(Sbm.SystemCode.ItemDataType);
prmData.lDataType.Add(itemDataTypes.GetCodeForType(Sbm.ItemData.Vehicle_HpiResponse));
prmData.lDataType.RemoveEmpty();
if (!StringUtil.IsEmpty(prmData.lDataType))
if (!StringUtil.IsBlank(prmData.lDataType))
itemDataConsole.GetItemDataCount(prmData);
}*/
return false;
@@ -680,31 +680,81 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (prm.IdsExcluded.HasValidIds())
filter.Add($"{colVehicle_Id} NOT IN ({prm.IdsExcluded.Concat(",")})");
//---------------------------------------------------------------
// Generic search.
String colName_RegNumber = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle);
String colName_Vin = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle);
String colName_CapCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CapCode, aliasVehicle);
String colName_EngineNumber = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_EngineNumber, aliasVehicle);
if (!StringUtil.IsBlank(prm.Search))
{
if (StringUtil.IsBlank(prm.TableAlias_VehicleClasss))
SaLogger.Warn("Vehicle search term specified without linked VehicleClass table.");
List<String> searchFilter = new List<string>();
foreach (String rawSearchValue in prm.Search.Split(new char[] { ' ', ',', ';' }))
{
String searchValue = DbQuery.FormatForLike(StringUtil.TrimAll(rawSearchValue));
if (StringUtil.IsBlank(searchValue)) continue;
List<String> searchValueFilter = new List<string>();
searchFilter.Add($"{colName_RegNumber} Like '%{searchValue}%'");
searchFilter.Add($"{colName_Vin} Like '%{searchValue}%'");
searchFilter.Add($"{colName_CapCode} Like '%{searchValue}%'");
searchFilter.Add($"{colName_EngineNumber} Like '%{searchValue}%'");
if (!StringUtil.IsBlank(prm.TableAlias_VehicleClasss))
{
searchFilter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, prm.TableAlias_VehicleClasss)} Like '%{searchValue}%'");
searchFilter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative, prm.TableAlias_VehicleClasss)} Like '%{searchValue}%'");
}
else
{
DbQuery qryVehicleClass = new DbQuery(Database.DbmsType);
qryVehicleClass.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass);
qryVehicleClass.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass));
qryVehicleClass.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass)} Like '%{searchValue}%'");
qryVehicleClass.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative, aliasVehicle_VehicleClass)} Like '%{searchValue}%'");
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)} IN ({qryVehicleClass.BuildQuery()})");
}
searchFilter.Add(searchValueFilter.Concat(" OR ", "(", ")"));
}
filter.AddRange(searchFilter);
}
//---------------------------------------------------------------
// Vehicle Class.
String colVehicle_VehicleClassId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle);
if (SysId.IsValid(prm.VehicleClassId))
filter.Add($"{colVehicle_VehicleClassId}={prm.VehicleClassId.ToString()}");
String classDesc = DbQuery.FormatForCondition(prm.ClassDescPartial);
if (!StringUtil.IsEmpty(prm.MakeCode) || !classDesc.IsEmpty())
if (!StringUtil.IsBlank(prm.MakeCode) || !StringUtil.IsBlank(classDesc))
{
DbQuery qryVehicleClass = new DbQuery(Database.DbmsType);
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}'");
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()})");
if (StringUtil.IsBlank(prm.TableAlias_VehicleClasss))
{
DbQuery qryVehicleClass = new DbQuery(Database.DbmsType);
qryVehicleClass.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass);
qryVehicleClass.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass));
if (!StringUtil.IsBlank(prm.MakeCode))
qryVehicleClass.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicle_VehicleClass)}='{prm.MakeCode}'");
if (!StringUtil.IsBlank(classDesc))
qryVehicleClass.Filters.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass)} Like '%{classDesc}%'");
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle)} IN ({qryVehicleClass.BuildQuery()})");
}
else
{
if (!StringUtil.IsBlank(prm.MakeCode))
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, prm.TableAlias_VehicleClasss)}='{prm.MakeCode}'");
if (!StringUtil.IsBlank(classDesc))
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, prm.TableAlias_VehicleClasss)} Like '%{classDesc}%'");
}
}
//---------------------------------------------------------------
// Partial Registration.
if (!StringUtil.IsBlank(prm.RegNumberPartial))
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle)} Like '%{DbQuery.FormatForLike(prm.RegNumberPartial)}%'");
filter.Add($"{colName_RegNumber} Like '%{DbQuery.FormatForLike(prm.RegNumberPartial)}%'");
// Partial VIN:
if (!StringUtil.IsBlank(prm.VinPartial))
filter.Add($"{SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle)} Like '%{DbQuery.FormatForLike(prm.VinPartial)}%'");
filter.Add($"{colName_Vin} Like '%{DbQuery.FormatForLike(prm.VinPartial)}%'");
//---------------------------------------------------------------
// Associated Assets.
@@ -765,10 +815,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
else
{
sortCol = columnDfn.DataName;
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
if (!StringUtil.IsBlank(columnDfn.SortDataName))
sortCol = columnDfn.SortDataName;
}
if (!sortCol.IsEmpty())
if (!StringUtil.IsBlank(sortCol))
{
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
@@ -859,8 +909,20 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (columns.HasId(SbmVehicle.Column.KeyLocation))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_KeyLocation, aliasVehicle));
// Common Properties
if (columns.HasId(SbmVehicle.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Notes, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Flags, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.Status) || columns.HasId(SbmVehicle.Column.Status_Desc) || columns.HasId(SbmVehicle.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Status, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CreateOn, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_UpdateOn, aliasVehicle));
//---------------------------------------------------------------
// Vehicle Category.
// Vehicle Class.
bool hasVehicleClassCols = false;
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_MakeCode);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_MakeDesc);
@@ -876,6 +938,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_Notes);
if (hasVehicleClassCols)
{
prm.TableAlias_VehicleClasss = aliasVehicle_VehicleClass;
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)}");
@@ -912,6 +975,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add($"({qryEvent.BuildQuery()})", dataNameVehEventCount);
}
}
//---------------------------------------------------------------
// Feature count.
bool bCountFeatures = columns.HasId(SbmVehicle.Column.FeatureCount);
@@ -949,17 +1013,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add($"({qryItemData.BuildQuery()})", dataNameHpiCheckCount);
}
}
// Common Properties
if (columns.HasId(SbmVehicle.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Notes, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Flags, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.Status) || columns.HasId(SbmVehicle.Column.Status_Desc) || columns.HasId(SbmVehicle.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Status, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CreateOn, aliasVehicle));
if (columns.HasId(SbmVehicle.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_UpdateOn, aliasVehicle));
//---------------------------------------------------------------
// Populate filter.
@@ -66,7 +66,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
public override bool VehicleDatabaseIsValid()
{
if (!AssetDatabaseIsValid()) return false;
ClearErrorState();
if (Database == null) return SetErrorState("Database not specified");
if (!Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass))) return SetErrorState("Vehicle Class table does not exist");
@@ -340,7 +340,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Commodity identity column.
String commodityIdCol = prm.commodityIdCol;
if (StringUtil.IsEmpty(commodityIdCol)) commodityIdCol = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, prm.tableAliasCommodity);
if (StringUtil.IsBlank(commodityIdCol)) commodityIdCol = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, prm.tableAliasCommodity);
// Stock locations.
SysId locStockId = prm.prmCmd.LocationIdStock;
@@ -480,7 +480,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// If the movement date is requested, union the commodity and container movement queries to return a single list of dates.
if (prm.moveCol == PlannedStockMovements_Params.PlanStockMoveCol.MovementDate)
{
if (!StringUtil.IsEmpty(qryMov2a) && !StringUtil.IsEmpty(qryMov2b))
if (!StringUtil.IsBlank(qryMov2a) && !StringUtil.IsBlank(qryMov2b))
return "(" + qryMov1b + ") UNION (" + qryMov2b + ")";
else
return qryMov1b;
@@ -2320,9 +2320,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Code.
if (!StringUtil.IsEmpty(prm.CodeFull))
if (!StringUtil.IsBlank(prm.CodeFull))
filter.Add(colCommodity_Code + "='" + DbQuery.FormatForCondition(prm.CodeFull) + "'");
else if (!StringUtil.IsEmpty(prm.CodePartial))
else if (!StringUtil.IsBlank(prm.CodePartial))
{
if (SessionConsole != null && AllowConfigOption(Sbm.ConfigOption.CommodityPartialCodeFilter))
filter.Add(colCommodity_Code + " LIKE '%" + DbQuery.FormatForLike(prm.CodePartial) + "%'");
@@ -2333,9 +2333,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Brief Desc.
bool allowEmbeddedTextSearch = true;
bool allowFullTextSearch = true;
if (!StringUtil.IsEmpty(prm.DescBriefFull))
if (!StringUtil.IsBlank(prm.DescBriefFull))
filter.Add(colCommodity_DescBrief + "='" + DbQuery.FormatForCondition(prm.DescBriefFull) + "'");
else if (!StringUtil.IsEmpty(prm.DescBriefPartial))
else if (!StringUtil.IsBlank(prm.DescBriefPartial))
{
List<String> filterDesc = new List<String>();
filterDesc.Add(DbQuery.FormatFn_Left(colCommodity_DescBrief, prm.DescBriefPartial.Length) + "='" + DbQuery.FormatForLike(prm.DescBriefPartial) + "'");
@@ -2352,30 +2352,30 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// DrawingNumber.
if (!StringUtil.IsEmpty(prm.DrawingNoFull))
if (!StringUtil.IsBlank(prm.DrawingNoFull))
{
filter.Add(colCommodity_DrawingNo + "='" + DbQuery.FormatForCondition(prm.DrawingNoFull) + "'");
}
else if (!StringUtil.IsEmpty(prm.DrawingNoPartial))
else if (!StringUtil.IsBlank(prm.DrawingNoPartial))
{
filter.Add(DbQuery.FormatFn_Left(colCommodity_DrawingNo, prm.DrawingNoPartial.Length) + "='" + DbQuery.FormatForCondition(prm.DrawingNoPartial) + "'");
}
// DrawingIssue.
if (!StringUtil.IsEmpty(prm.DrawingIssueFull))
if (!StringUtil.IsBlank(prm.DrawingIssueFull))
filter.Add(colCommodity_DrawingIssue + "='" + DbQuery.FormatForCondition(prm.DrawingIssueFull) + "'");
else if (!StringUtil.IsEmpty(prm.DrawingIssuePartial))
else if (!StringUtil.IsBlank(prm.DrawingIssuePartial))
filter.Add(DbQuery.FormatFn_Left(colCommodity_DrawingIssue, prm.DrawingIssuePartial.Length) + "='" + DbQuery.FormatForCondition(prm.DrawingIssuePartial) + "'");
//---------------------------------------------------------------
// Generic search.
if (!StringUtil.IsEmpty(prm.Search))
if (!StringUtil.IsBlank(prm.Search))
{
List<String> searchFilter = new List<string>();
foreach (String rawSearchValue in prm.Search.Split(new char[] { ' ', ',', ';' }))
{
String searchValue = DbQuery.FormatForLike(StringUtil.TrimAll(rawSearchValue));
if (StringUtil.IsEmpty(searchValue)) continue;
if (StringUtil.IsBlank(searchValue)) continue;
List<String> searchValueFilter = new List<string>();
searchValueFilter.Add(colCommodity_Code + " LIKE '%" + searchValue + "%'");
searchValueFilter.Add(colCommodity_DescBrief + " LIKE '%" + searchValue + "%'");
@@ -2390,13 +2390,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Catalog.
String colCommodity_CatalogRef = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_CatalogRef, aliasCommodity);
if (!StringUtil.IsEmpty(prm.CatalogRefPartial))
if (!StringUtil.IsBlank(prm.CatalogRefPartial))
filter.Add(DbQuery.FormatFn_Left(colCommodity_CatalogRef, prm.CatalogRefPartial.Length) + "='" + DbQuery.FormatForCondition(prm.CatalogRefPartial) + "'");
//---------------------------------------------------------------
// Category.
String categoryList = prm.Categories.Concat(",", "'", "'", true, true);
if (!StringUtil.IsEmpty(categoryList))
if (!StringUtil.IsBlank(categoryList))
{
List<String> filterCategory = new List<String>();
filterCategory.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Category, aliasCommodity) + " IN(" + categoryList + ")");
@@ -2410,31 +2410,31 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Coding.
String Commodity_RangeCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_RangeCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.RangeCode))
if (!StringUtil.IsBlank(prm.RangeCode))
filter.Add(Commodity_RangeCode + "='" + DbQuery.FormatForCondition(prm.RangeCode) + "'");
String colCommodity_ColourCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_ColourCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.ColourCode))
if (!StringUtil.IsBlank(prm.ColourCode))
filter.Add(colCommodity_ColourCode + "='" + DbQuery.FormatForCondition(prm.ColourCode) + "'");
String colCommodity_SourceCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_SourceCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.SourceCode))
if (!StringUtil.IsBlank(prm.SourceCode))
filter.Add(colCommodity_SourceCode + "='" + DbQuery.FormatForCondition(prm.SourceCode) + "'");
String colCommodity_SupplyMethodCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_SupplyMethodCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.SupplyMethodCode))
if (!StringUtil.IsBlank(prm.SupplyMethodCode))
filter.Add(colCommodity_SupplyMethodCode + "='" + DbQuery.FormatForCondition(prm.SupplyMethodCode) + "'");
String colCommodity_HandlingCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_HandlingCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.HandlingCode))
if (!StringUtil.IsBlank(prm.HandlingCode))
filter.Add(colCommodity_HandlingCode + "='" + DbQuery.FormatForCondition(prm.HandlingCode) + "'");
String colCommodity_DeliveryCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DeliveryCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.DeliveryCode))
if (!StringUtil.IsBlank(prm.DeliveryCode))
filter.Add(colCommodity_DeliveryCode + "='" + DbQuery.FormatForCondition(prm.DeliveryCode) + "'");
String colCommodity_MaterialCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_MaterialCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.MaterialCode))
if (!StringUtil.IsBlank(prm.MaterialCode))
filter.Add(colCommodity_MaterialCode + "='" + DbQuery.FormatForCondition(prm.MaterialCode) + "'");
String colCommodity_FinishCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_FinishCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.FinishCode))
if (!StringUtil.IsBlank(prm.FinishCode))
filter.Add(colCommodity_FinishCode + "='" + DbQuery.FormatForCondition(prm.FinishCode) + "'");
String colCommodity_PromotionCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_PromotionCode, aliasCommodity);
if (!StringUtil.IsEmpty(prm.PromotionCode))
if (!StringUtil.IsBlank(prm.PromotionCode))
filter.Add(colCommodity_PromotionCode + "='" + DbQuery.FormatForCondition(prm.PromotionCode) + "'");
//---------------------------------------------------------------
@@ -2502,7 +2502,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
filterCustId.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_AssIdCustomer, aliasCommodity) + "=" + prm.AssociationIdCustomer.ToString());
filter.Add(filterCustId.Concat(" OR "));
}
else if (!StringUtil.IsEmpty(prm.CustomerName))
else if (!StringUtil.IsBlank(prm.CustomerName))
{
// Partial or complete match on customer name:
String filterAffiliate_CustomerName = "FltCustNameAff";
@@ -2525,7 +2525,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Supplier.
if (!StringUtil.IsEmpty(prm.SupplierName))
if (!StringUtil.IsBlank(prm.SupplierName))
{
// Partial or complete match on Supplier name.
String filterAffiliate_SupplierName = "FltSuppNameAff";
@@ -2549,7 +2549,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Transaction.
bool linkRequirement = false;
bool linkTransaction = !StringUtil.IsEmpty(prm.OrderRef);
bool linkTransaction = !StringUtil.IsBlank(prm.OrderRef);
if (linkRequirement || linkTransaction)
{
String aliasCommodity_Transaction = "aCmdTrn";
@@ -2564,7 +2564,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
qryReqnt.Tables.Add(new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), aliasCommodity_Transaction));
qryReqnt.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_TransId, aliasCommodity_Requirement) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Id, aliasCommodity_Transaction));
qryReqnt.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Type, aliasCommodity_Transaction) + "=" + Sbm.TransactionType.SalesOrder.ToString());
if (!StringUtil.IsEmpty(prm.OrderRef))
if (!StringUtil.IsBlank(prm.OrderRef))
qryReqnt.Filters.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Ref, aliasCommodity_Transaction), prm.OrderRef.Length) + "='" + DbQuery.FormatForCondition(prm.OrderRef) + "'");
}
filter.Add("EXISTS(" + qryReqnt.BuildQuery() + ")");
@@ -2572,7 +2572,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Commodities defined by Customer.
if (SysId.IsValid(prm.AssociationIdCommodityCustomer) || !StringUtil.IsEmpty(prm.AccountCodeCommodityCustomer))
if (SysId.IsValid(prm.AssociationIdCommodityCustomer) || !StringUtil.IsBlank(prm.AccountCodeCommodityCustomer))
{
if (CanManageCommodityCustomers())
{
@@ -2583,7 +2583,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
qryCmdCust.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommodityCustomer_AssocIdCustomer, aliasCommodity_CmdCustomer) + "=" + prm.AssociationIdCommodityCustomer.ToString());
}
if (!StringUtil.IsEmpty(prm.AccountCodeCommodityCustomer))
if (!StringUtil.IsBlank(prm.AccountCodeCommodityCustomer))
{
// To match the customer account code, must also join to the association table:
String aliasCommodity_CmdCustAssoc = "aCmdCmdCustAss";
@@ -2627,7 +2627,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
else
{
sortCol = columnDfn.DataName;
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
if (!StringUtil.IsBlank(columnDfn.SortDataName))
sortCol = columnDfn.SortDataName;
}
if (!sortCol.IsEmpty())
@@ -2917,7 +2917,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (!hasCmdCustField) hasCmdCustField = columns.HasId(SbmCommodity.Column.Cust_CurrencyIdRetail_Symbol);
if (!hasCmdCustField) hasCmdCustField = columns.HasId(SbmCommodity.Column.Cust_PromotionCode);
if (!hasCmdCustField) hasCmdCustField = columns.HasId(SbmCommodity.Column.Cust_PromotionDesc);
if (hasCmdCustField && (SysId.IsValid(prm.AssociationIdCommodityCustomer) || !StringUtil.IsEmpty(prm.AccountCodeCommodityCustomer)))
if (hasCmdCustField && (SysId.IsValid(prm.AssociationIdCommodityCustomer) || !StringUtil.IsBlank(prm.AccountCodeCommodityCustomer)))
{
// Join to the commodity customer.
DbQueryJoin joinCmdCust = new DbQueryJoin(DbJoinType.LeftOuter);
@@ -2929,7 +2929,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
joinCmdCust.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommodityCustomer_AssocIdCustomer, aliasCommodity_CmdCustomer) + "=" + prm.AssociationIdCommodityCustomer.ToString());
}
query.Joins.Add(joinCmdCust);
if (!StringUtil.IsEmpty(prm.AccountCodeCommodityCustomer))
if (!StringUtil.IsBlank(prm.AccountCodeCommodityCustomer))
{
// Join to the Association to filter by the Customer's account code.
}
@@ -3368,7 +3368,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Stock movements
if (SysId.IsValid(locationStockId) || !StringUtil.IsEmpty(stringLocactionStockId))
if (SysId.IsValid(locationStockId) || !StringUtil.IsBlank(stringLocactionStockId))
{
// Stock due in by future weeks.
if (columns.HasId(SbmCommodity.Column.Stock_DueIn_Week1))