Rationalise business objects.

This commit is contained in:
Andy Howard
2025-02-01 17:53:13 +00:00
parent a3ac029d55
commit 7930ef5604
245 changed files with 6394 additions and 4806 deletions
@@ -1,4 +1,5 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
@@ -73,8 +74,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
List<SaItemOption> ownerOptions = new List<SaItemOption>();
if (!SysId.IsValid(userContext.OrganisationAffiliateId) || !SysId.IsValid(userContext.OrganisationAssociationId))
return ownerOptions;
ItemId affiliateItemId_Owner = new ItemId((short)Sbm.ItemType.Affiliate, userContext.OrganisationAffiliateId);
ItemId associationItemId_Internal = new ItemId((short)Sbm.ItemType.Association, userContext.OrganisationAssociationId);
SbmItemId affiliateItemId_Owner = new SbmItemId(Sbm.ItemType.Affiliate, userContext.OrganisationAffiliateId);
SbmItemId associationItemId_Internal = new SbmItemId(Sbm.ItemType.Association, userContext.OrganisationAssociationId);
lock (itemOptionCaches)
{
@@ -12,72 +12,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmAddress_Dbas(SbmInternals internals, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.AddressType addressType, ushort flags) :
base(internals.UserContext, id, itemType, itemId, addressType)
public SbmAddress_Dbas(SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.AddressType addressType, ushort flags) :
base(id, itemType, itemId, addressType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override bool HasInterfaceDataItems()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole != null) return false;
bool has = interfaceConsole.ItemHasDataItems(new ItemId((short)Sbm.ItemType.Address, Id));
return has;
}
public override bool ClearDependentData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
if (SbmGlobals.System == null) return SetErrorState("System is not available");
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null) return SetErrorState("Database is not available");
// Delete interface data items.
if (!HasErrorState())
{
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Association, Id), internals.DbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorStateMessage);
}
else SetErrorState("failed to initialise interface console");
interfaceConsole = null; // Do not delete this global object.
}
// Remove data item references.
if (!HasErrorState())
{
SbmDataItemMgr dataItemMgr = internals.DataItemMgr;
if (dataItemMgr != null)
{
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Address, Id))
SetErrorState(dataItemMgr.ErrorStateMessage);
}
else SetErrorState("Data item manager is not available");
}
return !HasErrorState();
}
//-------------------------------------------------------------------
}
@@ -14,121 +14,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmAffiliate_Dbas(SbmInternals internals, SysId id, Sbm.AffiliateType affiliateType, ushort flags) :
base(internals.UserContext, id, affiliateType)
public SbmAffiliate_Dbas(SysId id, Sbm.AffiliateType affiliateType, ushort flags) :
base(id, affiliateType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override long GetChildAffiliates()
{
if (!SysId.IsValid(Id)) return 0;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_AffIdParent) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate), filter);
}
return 0;
}
public override bool HasChildAffiliates()
{
return GetChildAffiliates() > 0;
}
public override long OwnerOfAssociationsCount(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
{
return internals.AccountMgr.OwnerAssociationCount(Id, associationType, currentOnly);
}
public override bool OwnerOfAssociations(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
{
return internals.AccountMgr.OwnerHasAssociations(Id, associationType, currentOnly);
}
public override long TargetOfAssociationsCount(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
{
return internals.AccountMgr.TargetAssociationCount(Id, associationType, currentOnly);
}
public override bool TargetOfAssociations(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
{
return internals.AccountMgr.TargetHasAssociations(Id, associationType, currentOnly);
}
public override bool HasSystemUsers()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId) + "=" + Id.ToString();
return (db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), filter) > 0);
}
return false;
}
public override bool HasDiaryLinks()
{
/*if (!GetId().IsValid()) return false;
bool bHas = false;
SapphireDiary * pDiary = SapphireGlobal::GetDiary();
if (pDiary)
{
bHas = pDiary->DataItemHasLinks(eSapItemTypeAffiliate,GetId());
}
return bHas;
*/
return false;
}
// Dependent data should only be cleared when removing an affiliate.
public override bool ClearDependentData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
if (SbmGlobals.System == null) return SetErrorState("System is not available");
ISacsDatabase db = SbmGlobals.Application.GetBusMgrDatabase(internals.SessionContext);
if (db != null) return SetErrorState("Database is not available");
// Delete interface data items.
if (!HasErrorState())
{
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Association, Id), internals.DbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorStateMessage);
}
else SetErrorState("failed to initialise interface console");
interfaceConsole = null; // Do not delete this global object.
}
// Remove data item references.
if (!HasErrorState())
{
SbmDataItemMgr dataItemMgr = internals.DataItemMgr;
if (dataItemMgr != null)
{
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Affiliate, Id))
SetErrorState(dataItemMgr.ErrorStateMessage);
}
else SetErrorState("Data item manager is not available");
}
return !HasErrorState();
}
//-------------------------------------------------------------------
}
@@ -16,142 +16,16 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
private List<SbmItemProcess> itemProcesses = new List<SbmItemProcess>();
//-------------------------------------------------------------------
// Construction.
public SbmAssetCategory_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, Sbm.AssetType assetType, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, assetType)
public SbmAssetCategory_Dbas(SysId id, SysId affiliateIdOwner, Sbm.AssetType assetType, ushort flags) :
base(id, affiliateIdOwner, assetType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override bool HasProcesses()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return SetErrorState("invalid item");
return internals.ProcessMgr.HasItemProcesses(Sbm.ItemType.Asset, Id);
}
public override bool HasAssets()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableAsset = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset);
if (db.TableExists(tableAsset))
{
String columnSaAsset_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_Id);
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId) + "=" + Id.ToString());
if (db.GetRowCount(tableAsset, filter.Concat(" AND ", "(", ")")) > 0) return false;
}
}
return false;
}
public override bool ClearDependentData()
{
ClearErrorState();
if (this == null || !SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null && !HasErrorState())
{
if (!HasErrorState())
{
/* ToDo SaItemDocConsole for Remove document references:
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(SessionContext);
if (itemDocConsole != null)
{
if (!itemDocConsole.ClearItemDocs(Sbm.ItemType.AssetCategory, Id))
SetErrorState(itemDocConsole.Exception());
}
else SetErrorState("Failed to retrieve item document console");
itemDocConsole = null;*/ // Do not delete this global object.
}
if (!HasErrorState())
{
/* ToDo SaItemDataConsole for Remove Item Data:
SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(SessionContext);
if (itemDataConsole != null)
{
if (!itemDataConsole.ClearItemData(Sbm.ItemType.AssetCategory, Id, ""))
SetErrorState(itemDataConsole.Exception());
}
else SetErrorState("Failed to retrieve item Dataument console");
itemDataConsole = null;*/ // Do not delete this global object.
}
if (!HasErrorState())
{
// Remove interface data items:
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
//DbUpdateInfo dbUpdateInfo = userContext.DbUpdateInfo;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), internals.DbUpdateInfo))
SetErrorState(interfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
interfaceConsole = null; // Do not delete this global object.
}
}
else SetErrorState("database is unavailable");
return !HasErrorState();
}
// AssetCategory processes.
public override List<SbmItemProcess> GetProcesses(bool activeOnly)
{
ClearErrorState();
List<SbmItemProcess> itemProcesesCopy = null;
if (activeOnly)
{
// Retrieve the list of 'active' processes for this item.
internals.ProcessMgr.GetProcessesForItem(Sbm.ItemType.AssetCategory, Id, true);
}
else
{
// Full list required - check whether the internal list has been populated yet.
if (itemProcesses == null && SysId.IsValid(Id))
{
// Get the list of processes:
internals.ProcessMgr.GetProcessesForItem(Sbm.ItemType.AssetCategory, Id, false);
}
// Clone the list.
itemProcesesCopy = itemProcesses.Clone();
}
if (itemProcesesCopy != null) itemProcesesCopy.Sort();
return itemProcesesCopy;
}
public override bool SetProcesses(List<SbmItemProcess> itemProcessesNew)
{
ClearErrorState();// Clear the existing list.
if (itemProcesses != null) itemProcesses.Clear();
// Copy all items from the specified list.
itemProcesses = itemProcessesNew.Clone();
return !HasErrorState();
}
public override bool CommitProcesses()
{
ClearErrorState();
/*if (!processMgr.UpdateProcessesForItem(Sbm.ItemType.AssetCategory, Id, itemProcesses))
SetErrorState(processMgr.ErrorStateMessage.ToString());*/
return !HasErrorState();
}
}
//=======================================================================
}
@@ -9,31 +9,16 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmAssetProcess_Dbas(SbmInternals internals, SysId id, SysId assetId, SysId processId, ushort flags) :
base(internals.UserContext, id, assetId, processId)
public SbmAssetProcess_Dbas(SysId id, SysId assetId, SysId processId, ushort flags) :
base(id, assetId, processId)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
}
//=======================================================================
}
+2 -276
View File
@@ -16,292 +16,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
private List<SbmItemProcess> itemProcesses = new List<SbmItemProcess>();
private List<SbmItemPrice> itemPrices = new List<SbmItemPrice>();
//-------------------------------------------------------------------
// Construction.
public SbmAsset_Dbas(SbmInternals internals, SysId id, SysId assetCatId, ushort flags) :
base(internals.UserContext, id, assetCatId)
public SbmAsset_Dbas(SysId id, SysId assetCatId, ushort flags) :
base(id, assetCatId)
{
this.internals = internals;
Id = id;
AssetCategoryId = assetCatId;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override bool HasProcesses()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
//processMgr.ItemHasProcesses(Sbm.ItemType.Asset, Id);ISacsDatabase db = SbmGlobals.Application.GetDatabase(SessionContext);
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableAssetProcess = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess);
if (db.TableExists(tableAssetProcess))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId) + "=" + Id.ToString());
return db.GetRowCount(tableAssetProcess, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
public override bool HasRequirements()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_Id) + "=" + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_AssetId);
return internals.BusMgrDatabase.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), filter + "=" + Id.ToString()) > 0;
}
public override bool HasInterfaceDataItems()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole == null) return false;
return interfaceConsole.ItemHasDataItems(new ItemId((short)Sbm.ItemType.Asset, Id));
}
public override bool HasAssociatedDetails()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
return internals.DataItemMgr.HasItemLinks(Sbm.ItemType.Asset, Id);
}
public override bool ClearDependentData()
{
ClearErrorState();
if (this == null || !SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null && !HasErrorState())
{
if (!HasErrorState())
{
/* ToDo SaItemDocConsole for Remove document references:
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(SessionContext);
if (itemDocConsole != null)
{
if (!itemDocConsole.ClearItemDocs(Sbm.ItemType.AssetCategory, Id))
SetErrorState(itemDocConsole.Exception());
}
else SetErrorState("Failed to retrieve item document console");
itemDocConsole = null;*/ // Do not delete this global object.
}
if (!HasErrorState())
{
/* ToDo SaItemDataConsole for Remove Item Data:
SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(SessionContext);
if (itemDataConsole != null)
{
if (!itemDataConsole.ClearItemData(Sbm.ItemType.AssetCategory, Id, ""))
SetErrorState(itemDataConsole.Exception());
}
else SetErrorState("Failed to retrieve item Data Document console");
itemDataConsole = null;*/ // Do not delete this global object.
}
// Remove items data.
if (!HasErrorState())
{
if (internals.DataItemMgr != null)
{
if (!internals.DataItemMgr.ClearDataItem(Sbm.ItemType.Asset, Id))
SetErrorState(internals.DataItemMgr.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve Data Item manager");
}
if (!HasErrorState())
{
// Remove interface data items.
if (internals.InterfaceConsole != null)
{
if (!internals.InterfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), internals.DbUpdateInfo))
SetErrorState(internals.InterfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
}
}
else SetErrorState("database is unavailable");
return !HasErrorState();
}
// Asset processes.
public override List<SbmItemProcess> GetProcesses(bool activeOnly)
{
ClearErrorState();
List<SbmItemProcess> itemProcesesCopy = null;
if (activeOnly)
{
// Retrieve the list of 'active' processes for this item.
internals.ProcessMgr.GetProcessesForItem(Sbm.ItemType.Asset, Id, true);
}
else
{
// Full list required - check whether the internal list has been populated yet.
if (itemProcesses == null && SysId.IsValid(Id))
{
// Get the list of processes:
itemProcesses = internals.ProcessMgr.GetProcessesForItem(Sbm.ItemType.Asset, Id, false);
}
// Copy the list.
itemProcesesCopy = new List<SbmItemProcess>(itemProcesses);
}
if (itemProcesesCopy != null) itemProcesesCopy.Sort();
return itemProcesesCopy;
}
public override bool SetProcesses(List<SbmItemProcess> itemProcessesNew)
{
ClearErrorState();// Clear the existing list.
if (itemProcesses != null) itemProcesses.Clear();
// Copy all items from the specified list.
itemProcesses = itemProcessesNew.Clone();
return !HasErrorState();
}
public override bool CommitProcesses()
{
ClearErrorState();
SbmAsset asset = null;
if (!internals.ProcessMgr.StoreItemProcesses(Sbm.ItemType.Asset, Id, itemProcesses, internals.DbUpdateInfo))
{
// Make a note of the 'Next' process.
SbmItemProcess itemProcessNext = itemProcesses.GetNextProcessInSequence(SaStatus.Awaiting);
SysId itemProcessIdNext = itemProcessNext != null ? itemProcessNext.ProcessId : new SysId();
if (ProcessIdNext != itemProcessIdNext)
{
ProcessIdNext = itemProcessIdNext;
if (!internals.AssetMgr.UpdateAsset(asset, internals.DbUpdateInfo))
SetErrorState("Failed to update next process id - " + internals.AssetMgr.ErrorStateMessage);
}
}
SetErrorState(internals.ProcessMgr.ErrorStateMessage);
return !HasErrorState();
}
public override bool PopulateDefaultProcesses()
{
// As defined by Asset Category (for assets created by processes, eg. vehicle import).
ClearErrorState();
// Retrieve processes defined against Asset Category.
List<SbmItemProcess> itemProcessesCat = null;// processMgr.GetProcessesForItem(Sbm.ItemType.AssetCategory, AssetCatId, true);
if (itemProcessesCat != null)
{
for (int i = 1; i <= itemProcessesCat.Count; i++)
{
SbmItemProcess itemProcess = itemProcessesCat[i];
itemProcess.ClearItemId(Sbm.ItemType.Asset, true);
}
}
// Store this list of processes against this asset:
if (!HasErrorState()) SetProcesses(itemProcessesCat);
if (!HasErrorState()) CommitProcesses();
// Clean-up:
if (itemProcessesCat != null) itemProcessesCat.Clear();
return !HasErrorState();
}
// Asset Payment for transaction.
public override bool HasPrices()
{
if (itemPrices != null) return true;
else if (SysId.IsValid(Id))
{
List<SbmItemLink> itemLinks = new List<SbmItemLink>();
SbmItemLink.Params prm = new SbmItemLink.Params();
prm.ItemLinkType = Sbm.ItemLinkType.ItemPrice;
prm.ItemTypeFrom = Sbm.ItemType.Asset;
prm.ItemIdFrom = Id;
foreach (SbmItemLink itemLink in internals.DataItemMgr.GetItemLinkList(prm))
if (itemLink != null) return true;
}
return false;
}
public override List<SbmItemPrice> GetPrices()
{
List<SbmItemPrice> itemPricesCopy = null;
if (itemPrices == null && SysId.IsValid(Id))
{
SbmItemLink.Params prm = new SbmItemLink.Params();
prm.ItemLinkType = Sbm.ItemLinkType.ItemPrice;
prm.ItemTypeFrom = Sbm.ItemType.Asset;
prm.ItemIdFrom = Id;
List<SbmItemLink> itemLinks = internals.DataItemMgr.GetItemLinkList(prm);
if (itemLinks != null)
{
foreach (SbmItemLink itemLink in itemLinks)
{
if (itemLink == null) continue;
SbmItemPrice itemPrice = new SbmItemPrice(UserContext, itemLink.DataContent);
itemPrice.Notes = itemLink.Notes;
itemPrice.Changed = false;
if (itemPrices == null) itemPrices = new List<SbmItemPrice>();
itemPrices.Add(itemPrice);
}
// Clean-up.
itemLinks.Clear();
}
}
// Clone the list.
itemPricesCopy = itemPrices.Clone();
itemPricesCopy.Sort();
return itemPricesCopy;
}
public override bool SetPrices(List<SbmItemPrice> itemPricesNew)
{
// Clear the existing list.
if (itemPrices != null) itemPrices.Clear();
// Copy all items from the specified list.
itemPrices = itemPricesNew.Clone();
return true;
}
public override bool CommitPrices()
{
ClearErrorState();
// Do not attempt any updates unless the list has been populated:
if (itemPrices != null && SysId.IsValid(Id))
{
// Build an item link list corresponding to the list of prices.
List<SbmItemLink> itemLinks = new List<SbmItemLink>();
foreach (SbmItemPrice itemPrice in itemPrices)
{
if (itemPrice == null) continue;
SbmItemLink itemLink = internals.DataItemMgr.CreateItemLink(Sbm.ItemLinkType.ItemPrice, Sbm.ItemType.Asset, Id, Sbm.ItemType.Unknown, new SysId(0));
if (itemLink != null)
{
itemLink.Seq = (short)itemPrice.CodeSeq;
itemLink.DataContent = itemPrice.ToString();
itemLink.Notes = itemPrice.Notes;
itemLinks.Add(itemLink);
itemLink = null; // Now owned by the list.
}
}
// Store these details.
if (internals.DataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.ItemPrice, new ItemId((short)Sbm.ItemType.Asset, Id), itemLinks, internals.DbUpdateInfo))
{
}
else
{
SetErrorState("Failed to save asset price item links - " + internals.DataItemMgr.ErrorStateMessage);
}
if (itemLinks != null)
itemLinks.Clear();
}
return !HasErrorState();
}
}
//=======================================================================
}
@@ -13,118 +13,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmAssociation_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, Sbm.AssociationType associationType, SysId affiliateIdTarget, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, associationType, affiliateIdTarget)
public SbmAssociation_Dbas(SysId id, SysId affiliateIdOwner, Sbm.AssociationType associationType, SysId affiliateIdTarget, ushort flags) :
base(id, affiliateIdOwner, associationType, affiliateIdTarget)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Internal Processing.
//-------------------------------------------------------------------
// Associated data.
public override bool HasTransactions()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Transaction_AssocId) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), filter) > 0;
}
return false;
}
public override bool HasRequirements()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_AssocId) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), filter) > 0;
}
return false;
}
public override bool HasConstituents()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Constituent_AssocId) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Constituent), filter) > 0;
}
return false;
}
public override bool IsDeliveryContractor()
{
// Is associated with transaction for delivery.
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Transaction_AssIdDeliver) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), filter) > 0;
}
return false;
}
public override bool ClearDependentData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
if (SbmGlobals.System == null) return SetErrorState("System is not available");
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null) return SetErrorState("Database is not available");
// Delete interface data items.
if (!HasErrorState())
{
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Association, Id), internals.DbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorStateMessage);
}
else SetErrorState("failed to initialise interface console");
interfaceConsole = null; // Do not delete this global object.
}
/* ToDo SaItemDocConsole for Remove document references
if (!HasErrorState())
{
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole();
if (itemDocConsole != null)
{
if (!itemDocConsole.ClearItemDocs(Sbm.ItemType.Association, Id))
SetErrorState(itemDocConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve item document console");
itemDocConsole = null; // Do not delete this global object.
}*/
// Remove data item references.
if (!HasErrorState())
{
if (!internals.DataItemMgr.ClearDataItem(Sbm.ItemType.Association, Id))
SetErrorState(internals.DataItemMgr.ErrorStateMessage);
}
return !HasErrorState();
}
//-------------------------------------------------------------------
}
@@ -9,30 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmCommodityCustomer_Dbas(SbmInternals internals, SysId commodityId, SysId assocIdCustomer, ushort flags) :
base(internals.UserContext, commodityId, assocIdCustomer)
public SbmCommodityCustomer_Dbas(SysId commodityId, SysId assocIdCustomer, ushort flags) :
base(commodityId, assocIdCustomer)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -9,30 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmCommoditySupplier_Dbas(SbmInternals internals, SysId commodityId, SysId assocIdSupplier, ushort flags) :
base(internals.UserContext, commodityId, assocIdSupplier)
public SbmCommoditySupplier_Dbas(SysId commodityId, SysId assocIdSupplier, ushort flags) :
base(commodityId, assocIdSupplier)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -18,24 +18,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmCommodity_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, commodityType, code)
public SbmCommodity_Dbas(SysId id, SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code, ushort flags) :
base(id, affiliateIdOwner, commodityType, code)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
}
@@ -11,42 +11,16 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmConstituent_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, SysId assocId, Sbm.ConstituentType constituentType, ushort flags) :
base(internals.UserContext, id, affIdOwner, assocId, constituentType)
public SbmConstituent_Dbas(SysId id, SysId affIdOwner, SysId assocId, Sbm.ConstituentType constituentType, ushort flags) :
base(id, affIdOwner, assocId, constituentType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override bool HasConstituents()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = SbmGlobals.Application.GetBusMgrDatabase(internals.SessionContext);
if (db != null)
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Constituent_ConstId) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Constituent), filter) > 0;
}
return false;
}
}
//=======================================================================
}
@@ -9,30 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmContainerItem_Dbas(SbmInternals internals, SysId containerId, Sbm.ItemType itemType, SysId itemId, ushort flags) :
base(internals.UserContext, containerId, itemType, itemId)
public SbmContainerItem_Dbas(SysId containerId, Sbm.ItemType itemType, SysId itemId, ushort flags) :
base(containerId, itemType, itemId)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated Data Elements.
//-------------------------------------------------------------------
}
@@ -15,84 +15,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmContainer_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, Sbm.ContainerCategory containerCategory, Sbm.ContainerType containerType, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, containerCategory, containerType)
public SbmContainer_Dbas(SysId id, SysId affiliateIdOwner, Sbm.ContainerCategory containerCategory, Sbm.ContainerType containerType, ushort flags) :
base(id, affiliateIdOwner, containerCategory, containerType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated Data Elements.
public override bool HasItems()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableContainItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ContainerItem);
if (db.TableExists(tableContainItem))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ContainerItem_ContainerId) + "=" + Id.ToString());
return db.GetRowCount(tableContainItem, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
public override bool HasMovements()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableMovement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement);
if (db.TableExists(tableMovement))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemType) + "=" + ((int)Sbm.ItemType.Container).ToString());
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemId) + "=" + Id.ToString());
return db.GetRowCount(tableMovement, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
public override bool HasActionedMovements()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableMovement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement);
if (db.TableExists(tableMovement))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemType) + "=" + ((int)Sbm.ItemType.Container).ToString());
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemId) + "=" + Id.ToString());
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_Status) + "=" + SacsSystem.GetStatusForCode(SaStatus.Actioned.ToString()) + ":");
return db.GetRowCount(tableMovement, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
//-------------------------------------------------------------------
}
@@ -10,30 +10,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmItemBatch_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, Sbm.ItemBatchType itemBatchType, String reference, ushort flags) :
base(internals.UserContext, id, affIdOwner, itemBatchType, reference)
public SbmItemBatch_Dbas(SysId id, SysId affIdOwner, Sbm.ItemBatchType itemBatchType, String reference, ushort flags) :
base(id, affIdOwner, itemBatchType, reference)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -9,30 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmItemLink_Dbas(SbmInternals internals, SysId id, Sbm.ItemLinkType itemLinkType, Sbm.ItemType itemTypeFrom, SysId itemIdFrom, Sbm.ItemType itemTypeTo, SysId itemIdTo, ushort flags) :
base(internals.UserContext, id, itemLinkType, itemTypeFrom, itemIdFrom, itemTypeTo, itemIdTo)
public SbmItemLink_Dbas(Sbm.ItemLinkType itemLinkType, Sbm.ItemType itemTypeFrom, SysId itemIdFrom, Sbm.ItemType itemTypeTo, SysId itemIdTo, ushort flags) :
base(itemLinkType, itemTypeFrom, itemIdFrom, itemTypeTo, itemIdTo)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -9,27 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmItemProcess_Dbas(SbmInternals internals, Sbm.ItemType itemType, SysId itemId, SysId processId, ushort flags) :
base(internals.UserContext, itemType, itemId, processId)
public SbmItemProcess_Dbas(Sbm.ItemType itemType, SysId itemId, SysId processId, ushort flags) :
base(itemType, itemId, processId)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
@@ -14,64 +14,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmLocation_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, Sbm.LocationCategory locationCategory, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, locationCategory)
public SbmLocation_Dbas(SysId id, SysId affiliateIdOwner, Sbm.LocationCategory locationCategory, ushort flags) :
base(id, affiliateIdOwner, locationCategory)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated Data Elements.
public override bool HaveMovement()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableMovement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement);
if (db.TableExists(tableMovement))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_LocationIdFrom) + "=" + Id.ToString() + "OR" + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_LocationIdTo) + "=" + Id.ToString());
return db.GetRowCount(tableMovement, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
public override bool HaveStockLevel()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tableStockLevel = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.StockLevel);
if (db.TableExists(tableStockLevel))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.StockLevel_LocationId) + "=" + Id.ToString());
return db.GetRowCount(tableStockLevel, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
//-------------------------------------------------------------------
}
@@ -9,32 +9,16 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmMovement_Dbas(SbmInternals internals, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.MovementType movementType, ushort flags) :
base(internals.UserContext, id, itemType, itemId, movementType)
public SbmMovement_Dbas(SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.MovementType movementType, ushort flags) :
base(id, itemType, itemId, movementType)
{
this.internals = internals;
Id = id;
MovementType = movementType;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated Data Elements.
//-------------------------------------------------------------------
}
@@ -16,105 +16,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmPortfolioItem_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, Sbm.PortfolioItemType portfolioItemType, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, portfolioItemType)
public SbmPortfolioItem_Dbas(SysId id, SysId affiliateIdOwner, Sbm.PortfolioItemType portfolioItemType, ushort flags) :
base(id, affiliateIdOwner, portfolioItemType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated Data Elements.
public override bool HasChildItems()
{
return GetChildItemCount(Sbm.PortfolioItemType.Unknown) > 0;
}
public override long GetChildItemCount(Sbm.PortfolioItemType portfolioItemType = Sbm.PortfolioItemType.Unknown)
{
ClearErrorState();
if (!SysId.IsValid(Id)) return 0;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tablePortfolioItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.PortfolioItem);
if (db.TableExists(tablePortfolioItem))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdParent) + "=" + Id.ToString());
if (portfolioItemType > 0)
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_Type) + "=" + ((int)portfolioItemType).ToString());
return db.GetRowCount(tablePortfolioItem, filter.Concat(" AND ", "(", ")"));
}
}
return 0;
}
public override bool IsReferencedByOtherItems()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tablePortfolioItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.PortfolioItem);
if (db.TableExists(tablePortfolioItem))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdRef) + "=" + Id.ToString());
return db.GetRowCount(tablePortfolioItem, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
// Clear all descendent items.
public override bool ClearChildItems()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
using (SbmCommodityMgr commodityMgr = SbmGlobals.System.CreateCommodityMgr(UserContext))
{
SbmPortfolioItem.Params prmPortfolioItem = new SbmPortfolioItem.Params();
prmPortfolioItem.ParentItemId = Id;
foreach (SbmPortfolioItem portfolioItem in commodityMgr.GetPortfolioItemList(prmPortfolioItem))
{
portfolioItem.ClearChildItems();
if (!commodityMgr.DeletePortfolioItem(portfolioItem, UserContext.DbUpdateInfo))
return SetErrorState(commodityMgr.ErrorStateMessage);
}
}
return true;
}
// Dependent data should only be cleared when removing a portfolio item.
// Data owned by this item is deleted (eg. interface data items & document references).
// NB This method does not clear child portfolio items.
public override bool ClearDependentData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
using (SbmDataItemMgr dataItemMgr = SbmGlobals.System.CreateDataItemMgr(UserContext))
{
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.PortfolioItem, Id))
return SetErrorState(dataItemMgr.ErrorStateMessage);
}
SaItemDocConsole itemDocConsole = internals.ItemDocConsole;
if (!itemDocConsole.ClearItemDocs(new ItemId((short)Sbm.ItemType.PortfolioItem, Id), SaItemDocConsole.Category.Unknown, UserContext.DbUpdateInfo))
return SetErrorState(itemDocConsole.ErrorStateMessage);
return true;
}
//-------------------------------------------------------------------
}
@@ -15,47 +15,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmPriceSet_Dbas(SbmInternals internals, SysId id, SysId affiliateIdOwner, String reference, Sbm.PriceType priceType, ushort flags) :
base(internals.UserContext, id, affiliateIdOwner, reference, priceType)
public SbmPriceSet_Dbas(SysId id, SysId affiliateIdOwner, String reference, Sbm.PriceType priceType, ushort flags) :
base(id, affiliateIdOwner, reference, priceType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override bool HasPrices()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String tablePrice = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPrice);
if (db.TableExists(tablePrice))
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaPrice_PriceSetId) + "=" + SysId.ToString(Id));
return db.GetRowCount(tablePrice, filter.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
//-------------------------------------------------------------------
}
+2 -18
View File
@@ -9,30 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmPrice_Dbas(SbmInternals internals, SysId priceSetId, SysId commodityId, Sbm.PriceType priceType, ushort flags) :
base(internals.UserContext, priceSetId, commodityId, priceType)
public SbmPrice_Dbas(SysId priceSetId, SysId commodityId, Sbm.PriceType priceType, ushort flags) :
base(priceSetId, commodityId, priceType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Internal Processing.
//-------------------------------------------------------------------
}
@@ -8,6 +8,7 @@ using Sarand.Net.Standard.Base.ItemData;
using Sarand.Net.Standard.Base.Utils;
using System;
using System.Collections.Generic;
using static Sarand.BusinessMgr.Net.Standard.Base.App.Sbm;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
@@ -16,185 +17,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
private readonly List<TypeCodeDesc> itemDataTypes;
private static readonly String codeDelim = ",";
//-------------------------------------------------------------------
// Construction.
public SbmProcess_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, Sbm.ProcessCategory processCategory, ushort flags) :
base(internals.UserContext, id, affIdOwner, processCategory)
public SbmProcess_Dbas(SysId id, SysId affIdOwner, Sbm.ProcessCategory processCategory, ushort flags) :
base(id, affIdOwner, processCategory)
{
this.internals = internals;
itemDataTypes = internals.GetSystemCodes(Sbm.SystemCode.ItemDataType);
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated codes.
public override String GetCodeForCostCode(SbmProcessCostCode processCostCode)
{
switch (processCostCode)
{
case SbmProcessCostCode.Fixed_Unit: return itemDataTypes.GetCodeForType(Sbm.ItemDataType.Process_FixedCost_Unit);
case SbmProcessCostCode.Fixed_Job: return itemDataTypes.GetCodeForType(Sbm.ItemDataType.Process_FixedCost_Job);
case SbmProcessCostCode.Labour_Unit: return itemDataTypes.GetCodeForType(Sbm.ItemDataType.Process_LabourCost_Unit);
case SbmProcessCostCode.Labour_Job: return itemDataTypes.GetCodeForType(Sbm.ItemDataType.Process_LabourCost_Job);
}
return "";
}
public override bool HasCostCodes()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
SaItemData.Params prmItemData = new SaItemData.Params();
prmItemData.ItemIdsIncluded.Add(new ItemId((short)Sbm.ItemType.Process, Id));
prmItemData.DataTypesIncluded.Add(GetCodeForCostCode(SbmProcessCostCode.Fixed_Unit));
prmItemData.DataTypesIncluded.Add(GetCodeForCostCode(SbmProcessCostCode.Fixed_Job));
prmItemData.DataTypesIncluded.Add(GetCodeForCostCode(SbmProcessCostCode.Labour_Unit));
prmItemData.DataTypesIncluded.Add(GetCodeForCostCode(SbmProcessCostCode.Labour_Job));
return internals.ItemDataConsole.ItemDataExists(prmItemData);
}
public override bool HasCostCodes(SbmProcessCostCode processCostCode)
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
bool bHas = false;
// Identify process code type code.
String itemDataTypeCode = GetCodeForCostCode(processCostCode);
if (!StringUtil.IsEmpty(itemDataTypeCode))
{
SaItemData.Params prmItemData = new SaItemData.Params();
prmItemData.ItemIdsIncluded.Add(new ItemId((short)Sbm.ItemType.Process, Id));
prmItemData.DataTypesIncluded.Add(itemDataTypeCode);
bHas = internals.ItemDataConsole.ItemDataExists(prmItemData);
}
return bHas;
}
public override List<String> GetCostCodes(SbmProcessCostCode processCostCode)
{
List<String> costCodes = new List<String>();
ClearErrorState();
// Identify process code type code.
String itemDataTypeCode = GetCodeForCostCode(processCostCode);
if (!SysId.IsValid(Id) && !StringUtil.IsEmpty(itemDataTypeCode))
{
SaItemData.Params prmItemData = new SaItemData.Params();
prmItemData.ItemIdsIncluded.Add(new ItemId((short)Sbm.ItemType.Process, Id));
prmItemData.DataTypesIncluded.Add(itemDataTypeCode);
List<SaItemData> itemDatas = internals.ItemDataConsole.GetItemDataList(prmItemData);
foreach (SaItemData itemData in itemDatas)
{
if (itemData == null) continue;
costCodes.AddRange(StringListUtil.Split(itemData.ItemData, codeDelim));
break;
}
itemDatas.Clear();
}
return costCodes;
}
public override bool StoreCostCodes(SbmProcessCostCode processCostCode, List<String> costCodes)
{
ClearErrorState();
if (StringUtil.IsEmpty(costCodes.Concat(codeDelim))) return ClearCostCodes(processCostCode);
// Identify process code type code.
String itemDataTypeCode = GetCodeForCostCode(processCostCode);
if (!SysId.IsValid(Id) && !StringUtil.IsEmpty(itemDataTypeCode))
{
SaItemData.Params prmItemData = new SaItemData.Params();
prmItemData.ItemIdsIncluded.Add(new ItemId((short)Sbm.ItemType.Process, Id));
prmItemData.DataTypesIncluded.Add(itemDataTypeCode);
List<SaItemData> itemDatas = internals.ItemDataConsole.GetItemDataList(prmItemData);
// ToDo itemData condition.
//itemDatas.GotoStart();
SaItemData itemData = null;//itemDatas.Count == 1 ? itemDatas.Remove(1) : null;
itemDatas.Clear();
if (itemData == null)
{
// Code type not found - create a new entry.
itemData = internals.ItemDataConsole.CreateItemData(new ItemId((short)Sbm.ItemType.Process, Id));
itemData.DataType = itemDataTypeCode;
}
if (itemData != null)
{
// Populate item data for these codes.
itemData.ItemData = costCodes.Concat(codeDelim);
if (!internals.ItemDataConsole.Store(itemData, internals.DbUpdateInfo))
{
SetErrorState(internals.ItemDataConsole.ErrorStateMessage);
}
}
}
return !HasErrorState();
}
public override bool ClearCostCodes(SbmProcessCostCode processCostCode)
{
ClearErrorState();
// Identify process code type code.
String itemDataTypeCode = GetCodeForCostCode(processCostCode);
if (!SysId.IsValid(Id) && !StringUtil.IsEmpty(itemDataTypeCode))
{
if (!internals.ItemDataConsole.ClearItemData(new ItemId((short)Sbm.ItemType.Process, Id), itemDataTypeCode, internals.DbUpdateInfo))
{
SetErrorState(internals.ItemDataConsole.ErrorStateMessage);
}
}
return !HasErrorState();
}
public override bool ClearCostCodes()
{
ClearErrorState();
return !HasErrorState();
}
//-------------------------------------------------------------------
// Associated data.
public override bool HasReferences()
{
if (!SysId.IsValid(Id)) return false;
if (internals.DataItemMgr.HasItemLinks(Sbm.ItemType.Process, Id)) return true;
// Is this process referenced by Constituents.
ISacsDatabase db = SbmGlobals.Application.GetBusMgrDatabase(internals.SessionContext); if (db != null) return true;
// Constituents.
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Constituent_Id) + "=" + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Constituent_ProcessId) + "=" + Id.ToString();
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Constituent), filter) > 0;
}
public override bool HasItemData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
SaItemData.Params prmItemData = new SaItemData.Params();
prmItemData.ItemIdsIncluded.Add(new ItemId((short)Sbm.ItemType.Process, Id));
return internals.ItemDataConsole.ItemDataExists(prmItemData);
}
public override bool ClearAssociatedData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return SetErrorState("item not specified");
// Clear Item data records.
SaItemData.Params prmItemData = new SaItemData.Params();
prmItemData.ItemIdsIncluded.Add(new ItemId((short)Sbm.ItemType.Process, Id));
List<SaItemData> itemDatas = internals.ItemDataConsole.GetItemDataList(prmItemData);
foreach (SaItemData itemData in itemDatas)
{
internals.ItemDataConsole.Remove(itemData, internals.DbUpdateInfo);
}
itemDatas.Clear();
return !HasErrorState();
}
}
//=======================================================================
@@ -16,317 +16,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
private readonly String statusCancelled = SacsSystem.GetStatusCode(SaStatus.Cancelled);
//-------------------------------------------------------------------
// Construction.
public SbmRequirement_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, SysId assocId, SysId transId, Sbm.RequirementType requirementType, ushort flags) :
base(internals.UserContext, id, affIdOwner, assocId, transId, requirementType)
public SbmRequirement_Dbas(SysId id, SysId affIdOwner, SysId assocId, SysId transId, Sbm.RequirementType requirementType, ushort flags) :
base(id, affIdOwner, assocId, transId, requirementType)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
private SbmTransactionMgr TransactionMgr { get { return internals.TransactionMgr; } }
private SbmDataItemMgr DataItemMgr { get { return internals.DataItemMgr; } }
private SbmProcessMgr ProcessMgr { get { return internals.ProcessMgr; } }
private SbmStockMgr StockMgr { get { return internals.StockMgr; } }
//-------------------------------------------------------------------
// Associated data.
public override bool HasRequirements()
{
ClearErrorState();
bool hasRequirements = TransactionMgr.RequirementHasAssociatedRequirements(Id);
SetErrorState(TransactionMgr.ErrorStateMessage);
return hasRequirements;
}
public override bool HasConstituents(Sbm.ConstituentType constituentType)
{
ClearErrorState();
bool hasConstituents = TransactionMgr.RequirementHasConstituents(Id, constituentType);
SetErrorState(TransactionMgr.ErrorStateMessage);
return hasConstituents;
}
public override bool HasStockMovments()
{
ClearErrorState();
bool hasMovements = false;
/* ToDo need to have StockMgr for RequirementDbas>HasStockMovments
if (SysId.IsValid(Id) && InitStockMgr())
{
hasMovements = stockMgr.SourceItemHasMovements(Sbm.ItemType.Requirement, Id);
}*/
return hasMovements;
}
public override bool HasItemLinks()
{
ClearErrorState();
if (SysId.IsValid(Id))
DataItemMgr.HasItemLinks(Sbm.ItemType.Requirement, Id);
return false;
}
//-------------------------------------------------------------------
public override bool CommitAssociatedData()
{
ClearErrorState();
if (this == null || !SysId.IsValid(Id)) return false;
if (!HasErrorState()) CommitCostEstimates();
if (!HasErrorState()) CommitProcesses();
return !HasErrorState();
}
//-------------------------------------------------------------------
public override bool ClearDependentData()
{
ClearErrorState();
TransactionMgr.ClearRequirementDependentData(Id, CommodityId);
SetErrorState(TransactionMgr.ErrorStateMessage);
return !HasErrorState();
}
public override bool ClearAssociatedRequirements()
{
ClearErrorState();
TransactionMgr.ClearRequirementAssociatedRequirements(Id);
SetErrorState(TransactionMgr.ErrorStateMessage);
return !HasErrorState();
}
public override decimal GetQuantityDispatched(SysId transIdExclude)
{
ISacsDatabase db = internals.BusMgrDatabase;
if (SysId.IsValid(Id))
{
// Build query to sum associated dispatch item quantities.
List<String> filters = new List<String>
{
SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_ReqntIdSource) + "=" + Id.ToString(),
SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_Status) + "<>'" + statusCancelled + "'"
};
// Requirement must belong to a transaction of type 'Dispatch Note'.
DbQuery qryTrans = new DbQuery(db.DbmsType);
qryTrans.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction));
qryTrans.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Id));
if (SysId.IsValid(transIdExclude))
qryTrans.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Id) + "<>" + transIdExclude.ToString());
qryTrans.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Id) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_TransId));
qryTrans.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Type) + "=" + Sbm.TransactionType.SalesDispatch.ToString());
qryTrans.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Status) + "<>'" + statusCancelled + "'");
filters.Add("EXISTS (" + qryTrans.BuildQuery() + ")");
// Retrieve database and perform query.
if (db != null)
db.GetRowValue(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_Quantity), filters.Concat(" AND ", "(", ")"), DbGetValueType.eDbValueSum);
SetErrorState("Database query failed");
}
return 0.0m;
}
//-------------------------------------------------------------------
public override decimal GetQuantityInvoiced(SysId transIdExclude)
{
ISacsDatabase db = internals.BusMgrDatabase;
if (SysId.IsValid(Id))
{
// Build query to sum associated dispatch item quantities.
List<String> filter = new List<String>
{
SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_ReqntIdSource) + "=" + Id.ToString(),
SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_Status) + "<>'" + statusCancelled + "'"
};
// Requirement must belong to a transaction of type 'Invoice' (Sales or Purchase).
DbQuery qryTrans = new DbQuery(db.DbmsType);
String colTransaction_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Id);
String colRequirement_TransId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_TransId);
String colTransaction_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Type);
String colTransaction_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Status);
qryTrans.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction));
qryTrans.Columns.Add(colTransaction_Id);
if (SysId.IsValid(transIdExclude))
qryTrans.Filters.Add(colTransaction_Id + "<>" + transIdExclude.ToString());
qryTrans.Filters.Add(colTransaction_Id + "=" + colRequirement_TransId);
qryTrans.Filters.Add("(" + colTransaction_Type + "=" + Sbm.TransactionType.SalesInvoice.ToString() + "OR" + colTransaction_Type + "=" + Sbm.TransactionType.PurchaseInvoice + ")".ToString());
qryTrans.Filters.Add(colTransaction_Status + "<>'" + statusCancelled + "'");
filter.Add("EXISTS (" + qryTrans.BuildQuery() + ")");
// Retrieve database and perform query.
if (db != null)
db.GetRowValue(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_Quantity), filter.Concat(" AND ", "(", ")"), DbGetValueType.eDbValueSum);
SetErrorState("Database query failed");
}
return 0.0m;
}
//-------------------------------------------------------------------
// C o s t E s t i m a t e s
//-------------------------------------------------------------------
public override bool HasCostEstimates()
{
if (data.CostEstimates != null) return data.CostEstimates.Count > 0;
if (!SysId.IsValid(Id)) return false;
SbmItemLink.Params prmItemLink = new SbmItemLink.Params
{
ItemLinkType = Sbm.ItemLinkType.Requirement_CostEstimate,
ItemTypeFrom = Sbm.ItemType.Requirement,
ItemIdFrom = Id
};
return DataItemMgr.GetItemLinkCount(prmItemLink) > 0;
}
public override List<SbmCostEstimate> GetCostEstimates()
{
List<SbmCostEstimate> costEstimatesCopy = null;
if (data.CostEstimates == null)
data.CostEstimates = TransactionMgr.GetRequirementCostEstimates(GetData());
// Clone and sort the list.
costEstimatesCopy = data.CostEstimates.Clone();
costEstimatesCopy.Sort();
return costEstimatesCopy;
}
public override bool SetCostEstimates(List<SbmCostEstimate> costEstimatesNew)
{
data.CostEstimates = costEstimatesNew?.Clone() ?? new List<SbmCostEstimate>();
return true;
}
public override bool CommitCostEstimates()
{
ClearErrorState();
// Do not attempt any updates unless the list has been populated.
if (data.CostEstimates != null && SysId.IsValid(Id) && DataItemMgr != null)
{
// Build an item link list corresponding to the list of cost estimates:
List<SbmItemLink> itemLinks = new List<SbmItemLink>();
foreach (SbmCostEstimate costEstimate in data.CostEstimates)
{
if (costEstimate == null) continue;
SbmItemLink itemLink = DataItemMgr.CreateItemLink(Sbm.ItemLinkType.Requirement_CostEstimate, Sbm.ItemType.Requirement, Id, Sbm.ItemType.Unknown, new SysId(0));
if (itemLink != null)
{
itemLink.Seq = (short)costEstimate.CodeSeq;
itemLink.DataContent = costEstimate.ToString();
itemLink.Notes = costEstimate.Notes;
itemLinks.Add(itemLink);
itemLink = null; // Now owned by the list.
}
}
// Store these details.
if (!DataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.Requirement_CostEstimate, new ItemId((short)Sbm.ItemType.Requirement, Id), itemLinks, internals.DbUpdateInfo))
SetErrorState("Failed to save cost estimate item links - " + DataItemMgr.ErrorState);
if (itemLinks != null)
itemLinks.Clear();
}
return false;
}
//-------------------------------------------------------------------
// P r o c e s s e s
//-------------------------------------------------------------------
public override bool HasProcess()
{
if (data.Processes != null) return data.Processes.Count > 0;
if (!SysId.IsValid(Id)) return false;
SbmConstituent.Params prmConstituent = new SbmConstituent.Params
{
ConstituentType = Sbm.ConstituentType.Process,
ReqntId = Id
};
return TransactionMgr.GetConstituentCount(prmConstituent) > 0;
}
public override List<SbmItemProcess> GetProcesses()
{
if (data.Processes == null && SysId.IsValid(Id))
data.Processes = TransactionMgr.GetRequirementItemProcesses(GetData());
// Clone the list:
return data.Processes.Clone();
}
public override bool SetProcesses(List<SbmItemProcess> itemProcessesNew)
{
data.Processes = itemProcessesNew?.Clone() ?? new List<SbmItemProcess>();
return true;
}
public override bool CommitProcesses()
{
ClearErrorState();
// Do not attempt any updates unless the list has been populated.
if (data.Processes == null || !SysId.IsValid(Id)) return true;
// Make a copy of the process list so that we can track those that have been updated.
List<SbmItemProcess> itemProcessesLocal = new List<SbmItemProcess>(data.Processes);
// Retrieve the existing processes for this requirement.
SbmConstituent.Params prmConstituent = new SbmConstituent.Params();
prmConstituent.ConstituentType = Sbm.ConstituentType.Process;
prmConstituent.ReqntId = Id;
foreach (SbmConstituent constituent in TransactionMgr.GetConstituentList(prmConstituent))
{
// Does this process still exist in the list.
SbmItemProcess itemProcessLocal = itemProcessesLocal.Find(item => item.ProcessId.Equals(constituent.ProcessId));
if (itemProcessLocal != null)
{
if (itemProcessLocal.Changed)
{
// Update the details.
CopyFrom(itemProcessLocal, constituent);
if (TransactionMgr.UpdateConstituent(constituent, internals.DbUpdateInfo))
itemProcessLocal.Changed = false;
else SetErrorState("failed to update process constituent");
}
// Remove this process from the local copy of the list (without deleting it).
itemProcessesLocal.Remove(itemProcessLocal);
}
else
{
// Process no longer required.
constituent.Status = SaStatus.Cancelled;
if (!TransactionMgr.DeleteConstituent(constituent, internals.DbUpdateInfo))
SetErrorState("failed to delete process constituent");
}
}
// Any item processes left in the local list need to be created.
foreach (SbmItemProcess itemprocess in itemProcessesLocal)
{
if (itemprocess == null) continue;
// Create a constituent to represent this process:
SbmConstituent constituent = TransactionMgr.CreateConstituent(AssociationId, Sbm.ConstituentType.Process);
if (constituent != null)
{
// Update the constituent to belong to this requirement.
constituent.TransactionId = TransactionId;
constituent.RequirementId = Id;
CopyFrom(itemprocess, constituent);
// Add it to the database:
if (TransactionMgr.InsertConstituent(constituent, internals.DbUpdateInfo))
itemprocess.Changed = false;
else SetErrorState("failed to add constituent - " + TransactionMgr.ErrorState);
}
else SetErrorState("failed to create constituent - " + TransactionMgr.ErrorState);
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Item Process - Constituent Interface.
public void CopyFrom(SbmItemProcess itemProcess, SbmConstituent constituent)
{
if (itemProcess == null || constituent != null) return;
constituent.Seq = itemProcess.Seq;
constituent.Notes = itemProcess.Notes;
constituent.ProcessId = itemProcess.ProcessId;
constituent.AssociationIdContractor = itemProcess.AssocIdContractor;
constituent.AmountNet = itemProcess.AmountNet;
constituent.Completed = itemProcess.Completed;
constituent.Notes = itemProcess.Notes;
constituent.Status = itemProcess.Status;
}
//-------------------------------------------------------------------
}
@@ -0,0 +1,25 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Bus;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//=======================================================================
class SbmStockLevel_Dbas : SbmStockLevel
{
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
// Construction.
public SbmStockLevel_Dbas(SysId id, SysId idCommodity, SysId idLocation, Sbm.StockLevelType type, Sbm.StockLevelSource source, ushort flags) :
base(id, idCommodity, idLocation, type, source)
{
Id = id;
Flags = flags;
}
//-------------------------------------------------------------------
}
//=======================================================================
}
@@ -10,29 +10,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmSysParam_Dbas(SbmInternals internals, SysId id, Sbm.SysParamCategory category, String name, ushort flags) :
base(internals.UserContext, id, category, name)
public SbmSysParam_Dbas(SysId id, Sbm.SysParamCategory category, String name, ushort flags) :
base(id, category, name)
{
this.internals = internals;
if (this.internals != null) { }
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -9,32 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmSystemAccountUser_Dbas(SbmInternals internals, SysId accountId, SysId userId, ushort flags) :
base(internals.UserContext, accountId, userId)
public SbmSystemAccountUser_Dbas(SysId accountId, SysId userId, ushort flags) :
base(accountId, userId)
{
this.internals = internals;
if (this.internals != null) { }
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -14,47 +14,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmSystemAccount_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId assocId, ushort flags) :
base(internals.UserContext, id, affIdOwner, systemAccountType, interfaceId, assocId)
public SbmSystemAccount_Dbas(SysId id, SysId affIdOwner, Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId assocId, ushort flags) :
base(id, affIdOwner, systemAccountType, interfaceId, assocId)
{
this.internals = internals;
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
public override bool HasUsers()
{
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
String table = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser);
if (db.TableExists(table))
{
String column = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId);
List<String> filters = new List<String>();
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId) + "=" + Id.ToString());
return db.GetRowCount(table, /*column,*/ filters.Concat(" AND ", "(", ")")) > 0;
}
}
return false;
}
//-------------------------------------------------------------------
}
@@ -9,31 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
//-------------------------------------------------------------------
// Construction.
public SbmSystemUser_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, SysId interfaceId, SysId affiliateId, ushort flags) :
base(internals.UserContext, id, affIdOwner, interfaceId, affiliateId)
public SbmSystemUser_Dbas(SysId id, SysId affIdOwner, SysId interfaceId, SysId affiliateId, ushort flags) :
base(id, affIdOwner, interfaceId, affiliateId)
{
this.internals = internals;
if (this.internals != null) { }
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Associated data.
//-------------------------------------------------------------------
}
@@ -14,463 +14,21 @@ using System.Collections.Generic;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
//=======================================================================
class SbmTransaction_Dbas : SbmTransaction
//=======================================================================
class SbmTransaction_Dbas : SbmTransaction
{
//-------------------------------------------------------------------
// Data members.
private readonly SbmInternals internals;
private List<SbmTransactionPayment> transactionPayments = new List<SbmTransactionPayment>();
private readonly List<TypeCodeDesc> transactionTypes;
private readonly List<TypeCodeDesc> transactionStatusCats;
private readonly List<TypeCodeDesc> requirementStatusCats;
private readonly List<TypeCodeDesc> constituentStatusCats;
private readonly String statusCancelled = SacsSystem.GetStatusCode(SaStatus.Cancelled);
//-------------------------------------------------------------------
// Construction.
public SbmTransaction_Dbas(SbmInternals internals, SysId id, SysId affIdOwner, SysId assocId, Sbm.TransactionType transactionType, ushort flags) :
base(internals.UserContext, id, affIdOwner, assocId, transactionType)
public SbmTransaction_Dbas(SysId id, SysId affIdOwner, SysId assocId, Sbm.TransactionType transactionType, ushort flags) :
base(id, affIdOwner, assocId, transactionType)
{
this.internals = internals;
transactionStatusCats = internals.GetSystemCodes(Sbm.SystemCode.TransactionStatusCat);
requirementStatusCats = internals.GetSystemCodes(Sbm.SystemCode.RequirementStatusCat);
constituentStatusCats = internals.GetSystemCodes(Sbm.SystemCode.ConstituentStatusCat);
Flags = flags;
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
// NB Do not dispose the Internals - owned by manager.
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// Properties.
//-------------------------------------------------------------------
// Utilities.
public override bool IsReadOnly()
{
if (!SysId.IsValid(Id)) return false;
bool bReadOnly = false;
// Transaction can't be updated after it has been exporetd to an accounts system.
if (!bReadOnly)
{
if (internals.AccountsDfn.IsTransactionTypeManagedByAccounts(TransactionType))
bReadOnly = true;
}
return bReadOnly;
}
public override bool DetailsAreReadOnly()
{
if (!SysId.IsValid(Id)) return false;
if (IsReadOnly()) return true; // If transaction is read only then details must be.
bool detailsAreReadOnly = false;
// User must be allowed to update transactions:
if (!detailsAreReadOnly)
{
// ToDo UserCanUpdateItemType
/*if (!pSys->UserCanUpdateItemType(eSapItemTypeTransaction))
bDetailsAreReadOnly = true;*/
}
// Closed transactions.
if (!detailsAreReadOnly)
{
if (TransactionStatusCat == SbmTransaction.StatusCat.Closed)
{
// Once the 'grace' period has passed, only the status can be modified.
int graceDaysUpdateClosedTrans = Math.Max(0, internals.GetOwnerOption_UpdateLimit(Sbm.OrgOption_PeriodDays.UpdateClosedTransaction, 0));
DateTime closed = Closed;
detailsAreReadOnly = (DateUtil.IsValid(closed) && closed <= DateTime.Today.AddDays(-graceDaysUpdateClosedTrans));
}
}
return detailsAreReadOnly;
}
//-------------------------------------------------------------------
// Associated data.
public override bool IsReferencedByOtherTransactions()
{
ClearErrorState();
return internals.TransactionMgr.TransactionIsReferencedByOtherTransactions(Id);
}
public override bool HasRequirements(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.NotDeleted)
{
return (GetRequirementCount(requirementStatusCat) > 0);
}
public override bool HasConstituents(SbmConstituent.StatusCat constituentStatusCat = SbmConstituent.StatusCat.NotDeleted)
{
ClearErrorState();
return internals.TransactionMgr.TransactionHasConstituents(Id, constituentStatusCat);
}
public override bool HasContainerItems()
{
ClearErrorState();
return internals.TransactionMgr.TransactionHasContainerItems(Id);
}
public override bool HasStockMovements()
{
ClearErrorState();
return internals.TransactionMgr.TransactionHasStockMovements(Id);
}
public override bool HasPendingStockMovements()
{
ClearErrorState();
return internals.TransactionMgr.TransactionHasPendingStockMovements(Id);
}
public override bool HasDiaryLinks()
{
if (!SysId.IsValid(Id)) return false;
/*SbmDiaryConsole diaryConsole = SbmGlobals.Application.GetDiaryConsole(SessionContext);
if (diaryConsole != null)
diaryConsole.DataItemHasLinks((short)Sbm.ItemType.Transaction, Id);*/
return false;
}
//public override void SetDefaults(class SbmRequirement *) const;
public override long GetRequirementCount(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.Any)
{
ClearErrorState();
if (!SysId.IsValid(Id)) return 0;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
List<String> filter = new List<String>();
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_TransId) + "=" + Id.ToString());
if (requirementStatusCat == SbmRequirement.StatusCat.NotCancelled)
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_Status) + "<>'" + statusCancelled + "'");
else if (requirementStatusCat > 0)
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_StatusCat) + "='" + requirementStatusCats.GetCodeForType(requirementStatusCat) + "'");
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), filter.Concat(" AND ", "(", ")"));
}
else SetErrorState("database is not available");
return 0;
}
public override List<SbmRequirement> GetRequirements(SbmRequirement.StatusCat requirementStatusCat = SbmRequirement.StatusCat.Any)
{
if (SysId.IsValid(Id))
{
// Retrieve the current set of requirements for this transaction.
SbmRequirement.Params prmRequirement = new SbmRequirement.Params();
//prmRequirement.RequirementStatusCat = requirementStatusCat;
prmRequirement.TransactionIdsIncluded.Add(Id);
return internals.TransactionMgr.GetRequirementList(prmRequirement);
}
return new List<SbmRequirement>();
}
public override bool ItemsRequireJobNumber()
{
// Check whether Job Number should be allocated.
SbmSessionConsole sessionConsole = internals.SessionConsole;
ISacsDatabase db = internals.BusMgrDatabase;
if (sessionConsole != null && sessionConsole.AllowOption(Sbm.ConfigOption.SalesOrderItemJobNumber) && SbmGlobals.Application.DbColumnExists(db, SbmDbDfn.ColumnIdx.Requirement_JobNumber))
return TransactionType == Sbm.TransactionType.SalesOrder;
return false;
}
public override bool UpdateRequirements(List<SbmRequirement> requirements)
{
if (this == null) return false;
ClearErrorState();
SacsDatabase db = internals.BusMgrDatabase as SacsDatabase;
if (db == null) return SetErrorState("Database not available");
if (!SysId.IsValid(Id)) return SetErrorState("transaction does not exist");
// Verify requirements list.
if (!HasErrorState())
{
// Validate the identity of each each requirement in the list.
foreach (SbmRequirement requirement in requirements)
{
if (requirement == null) continue;
if (SysId.IsValid(requirement.AssociationId) && requirement.AssociationId != AssociationId)
{
SetErrorState("Invalid requirement in list: doesn't belong to association.");
}
else if (SysId.IsValid(requirement.TransactionId) && requirement.TransactionId != Id)
{
SetErrorState("Invalid requirement in list: doesn't belong to transaction.");
}
}
}
// Set identity for each requirements in the list.
if (!HasErrorState())
{
// Set the sequence and identity against each requirement in the list.
for (int requirementIdx = 0; requirementIdx < requirements.Count; requirementIdx++)
{
SbmRequirement requirement = requirements[requirementIdx];
requirement.Seq = (short)(requirementIdx + 1);
requirement.AssociationId = AssociationId;
requirement.TransactionId = Id;
if (ItemsRequireJobNumber() && StringUtil.IsEmpty(requirement.JobNumber))
{
String jobNumberNextIdObject = "JobNumber:" + SysId.ToString(internals.UserContext.OrganisationAffiliateId);
/*
// Check for original Job Number 'NextId' key and convert to organisation specific.
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.NextId_Object) + "='JobNumber'";
if (db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.NextId), filter) > 0)
{
String query =
"Begin Transaction;\n" + "Update dbo.NextId Set Object='" + jobNumberNextIdObject + "' Where " + filter + ";\n" + "Commit Transaction;\n";
db.ExecuteQuery(query);
}
*/
String jobNumber = SysId.ToString(db.GetNextId(jobNumberNextIdObject, internals.UserContext.DbUpdateInfo, false));
requirement.JobNumber = "";
}
SetDefaults(requirement);
}
}
// Make a copy of the list (pointers only) to keep track of those requirements in the list that have not been updated against the database.
List<SbmRequirement> requirementsNotUpdated = new List<SbmRequirement>(requirements);
// Retrieve each of the requirements currently specified for this transaction in turn.
List<SysId> requirementIdsUpdated = new List<SysId>();
if (!HasErrorState())
{
List<ColumnDfn> columnsQuery = new List<ColumnDfn>();
String colRequirement_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_Id);
SbmRequirement.Params prmRequirement = new SbmRequirement.Params();
prmRequirement.TransactionIdsIncluded.Add(Id);
using (DbResultSet dbResultSet = internals.TransactionMgr.ExecuteRequirementQuery(columnsQuery, prmRequirement))
{
while (!HasErrorState() && dbResultSet != null && dbResultSet.NextRecord())
{
NamedValue.Map values = dbResultSet.GetRecordValues();
SysId requirementId = new SysId((int)values.GetValue(colRequirement_Id).AsLong());
// Does this requirement exist in the list.
if (requirementsNotUpdated.ExistsById(requirementId))
{
// Requirement still in list - update the details.
SbmRequirement requirement = requirementsNotUpdated[0];
if (internals.TransactionMgr.UpdateRequirement(requirement, internals.DbUpdateInfo))
{
if (!requirement.CommitAssociatedData())
SetErrorState("Failed to update requirement's data: " + requirement.ErrorStateMessage);
}
else SetErrorState("Failed to update requirement: " + internals.TransactionMgr.ErrorStateMessage);
requirementsNotUpdated.Remove(requirement);
}
else
{
// Requirement not in list - remove it.
SbmRequirement requirement = internals.TransactionMgr.GetRequirement(prmRequirement);
if (requirement != null)
{
if (!internals.TransactionMgr.DeleteRequirement(requirement, TransactionType, internals.DbUpdateInfo))
SetErrorState("Failed to remove requirement: " + internals.TransactionMgr.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve requirement for deletion: " + internals.TransactionMgr.ErrorStateMessage);
}
}
}
}
// Any requirements left in the 'Not Updated' list must be new.
foreach (SbmRequirement requirementNotUpdate in requirementsNotUpdated)
{
if (requirementNotUpdate != null)
{
if (!SysId.IsValid(requirementNotUpdate.Id))
{
// Requirement does not yet exist - create it:
if (internals.TransactionMgr.InsertRequirement(requirementNotUpdate, internals.DbUpdateInfo))
{
if (!requirementNotUpdate.CommitAssociatedData())
SetErrorState("Failed to update requirement's data: " + requirementNotUpdate.ErrorStateMessage);
}
else SetErrorState("Failed to create requirement: " + internals.TransactionMgr.ErrorStateMessage);
}
}
else SetErrorState("null item in list");
requirementsNotUpdated = null;
}
// Clean-up:
requirementsNotUpdated.Clear();
return !HasErrorState();
}
public override bool CommitAssociatedData()
{
ClearErrorState();
if (this == null || !SysId.IsValid(Id)) return false;
if (!HasErrorState()) CommitPayments();
return !HasErrorState();
}
public override bool ClearDependentData()
{
ClearErrorState();
if (!SysId.IsValid(Id)) return false;
ISacsDatabase db = internals.BusMgrDatabase;
if (db != null)
{
if (!HasErrorState())
{
// Delete interface data items.
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Transaction, Id), internals.DbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
interfaceConsole = null; // Do not delete this global object.
}
if (!HasErrorState())
{
/* ToDo itemDocConsole > Remove document references.
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(SessionContext);
if (itemDocConsole != null)
{
if (!itemDocConsole.ClearItemDocs(Sbm.ItemType.Transaction, Id))
SetErrorState(itemDocConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve item document console");
itemDocConsole = null; // Do not delete this global object.*/
}
// Delete any associated items links.
if (!HasErrorState())
{
if (!internals.DataItemMgr.ClearDataItem(Sbm.ItemType.Transaction, Id))
SetErrorState("failed to clear transaction item links");
}
// Delete any constituents that belong to this Transaction.
if (!HasErrorState())
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Constituent_TransId) + "=" + Id.ToString();
if (db.ExecuteDelete(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Constituent), filter) > 0)
SetErrorState("failed to clear Transaction constituents");
}
// Clear requirements.
if (!HasErrorState())
{
List<SbmRequirement> requirements = GetRequirements();
if (requirements != null && requirements.Count > 0)
{
foreach (SbmRequirement requirement in requirements)
{
if (!internals.TransactionMgr.DeleteRequirement(requirement, TransactionType, internals.DbUpdateInfo))
SetErrorState(internals.TransactionMgr.ErrorStateMessage);
requirements = null;
}
}
if (requirements != null) requirements.Clear();
}
// Clear addresses.
if (!HasErrorState())
{
if (!internals.AccountMgr.ClearAddressesFor(Sbm.ItemType.Transaction, new ItemId()))
SetErrorState("failed to clear addresses - " + internals.AccountMgr.ErrorStateMessage);
}
// Clear any references to this transaction from other transactions:
if (!HasErrorState())
{
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Transaction_TransIdSource) + "=" + Id.ToString();
List<StringPair> values = new List<StringPair>();
SacsDatabase.AddValuePair(values, SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Transaction_TransIdSource), "0", false);
db.ExecuteUpdate(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), values, filter);
if (db.HasErrorState())
SetErrorState($"{db.ErrorStateMessage}");
}
}
else SetErrorState("database is unavailable");
return !HasErrorState();
}
public override bool HasPayments()
{
if (transactionPayments != null) return true;
else if (SysId.IsValid(Id))
{
SbmItemLink.Params prmItemLink = new SbmItemLink.Params
{
ItemLinkType = Sbm.ItemLinkType.Transaction_Payment,
ItemTypeFrom = Sbm.ItemType.Transaction,
ItemIdFrom = Id
};
foreach (SbmItemLink itemLink in internals.DataItemMgr.GetItemLinkList(prmItemLink))
if (itemLink != null) return true;
}
return false;
}
public override List<SbmTransactionPayment> GetPayments()
{
List<SbmTransactionPayment> transactionPaymentsCopy = new List<SbmTransactionPayment>();
if (transactionPayments == null && SysId.IsValid(Id))
{
SbmItemLink.Params prm = new SbmItemLink.Params();
prm.ItemLinkType = Sbm.ItemLinkType.Transaction_Payment;
prm.ItemTypeFrom = Sbm.ItemType.Transaction;
prm.ItemIdFrom = Id;
List<SbmItemLink> itemLinks = internals.DataItemMgr.GetItemLinkList(prm);
if (itemLinks != null)
{
foreach (SbmItemLink itemLink in itemLinks)
{
if (itemLink == null) continue;
SbmTransactionPayment transactionPayment = new SbmTransactionPayment(UserContext, itemLink.DataContent);
transactionPayment.Notes = itemLink.Notes;
transactionPayment.Changed = false;
if (transactionPayments == null) transactionPayments = new List<SbmTransactionPayment>();
transactionPayments.Add(transactionPayment);
}
// Clean-up.
itemLinks.Clear();
}
}
// Clone the list.
transactionPaymentsCopy = transactionPayments.Clone();
transactionPaymentsCopy.Sort();
return transactionPaymentsCopy;
}
public override bool SetPayments(List<SbmTransactionPayment> transactionPaymentsNew)
{
// Clear the existing list:
if (transactionPayments != null) transactionPayments.Clear();
// Copy all items from the specified list:
transactionPayments = transactionPaymentsNew.Clone();
return true;
}
public override bool CommitPayments()
{
ClearErrorState();
// Do not attempt any updates unless the list has been populated.
if (transactionPayments != null && SysId.IsValid(Id))
{
// Build an item link list corresponding to the list of payment:
List<SbmItemLink> itemLinks = new List<SbmItemLink>();
foreach (SbmTransactionPayment transactionPayment in transactionPayments)
{
if (transactionPayment == null) continue;
SbmItemLink itemLink = internals.DataItemMgr.CreateItemLink(Sbm.ItemLinkType.Transaction_Payment, Sbm.ItemType.Transaction, Id, Sbm.ItemType.Unknown, new SysId(0));
if (itemLink != null)
{
itemLink.Seq = (short)transactionPayment.CodeSeq;
itemLink.DataContent = transactionPayment.ToString();
itemLink.Notes = transactionPayment.Notes;
itemLinks.Add(itemLink);
itemLink = null; // Now owned by the list.
}
}
// Store these details:
if (internals.DataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.Transaction_Payment, new ItemId((short)Sbm.ItemType.Transaction, Id), itemLinks, internals.DbUpdateInfo))
{
}
else
{
SetErrorState("Failed to save transaction payment item links - " + internals.DataItemMgr.ErrorStateMessage);
}
if (itemLinks != null)
itemLinks.Clear();
}
return false;
}
}
//=======================================================================
}
@@ -86,7 +86,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
{
return GetVehicleCount() > 0;
}
public override bool ClearDependentData()
public override bool ClearVehicleClassDependentData(DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (this == null || !SysId.IsValid(Id)) return false;
@@ -124,7 +124,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
//DbUpdateInfo dbUpdateInfo = userContext.DbUpdateInfo;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), internals.DbUpdateInfo))
if (!interfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.AssetCategory, Id), dbUpdateInfo))
SetErrorState(interfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
@@ -41,7 +41,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
//-------------------------------------------------------------------
// O d o m e t e r R e a d i n g
//-------------------------------------------------------------------
public override bool SetOdometerReading(decimal odometer)
public override bool SetOdometerReading(decimal odometer, DbUpdateInfo dbUpdateInfo)
{
if (SysId.IsValid(Id) || odometer < 1) return false;
DateTime todayDate = DateTime.MinValue;
@@ -69,7 +69,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
vehicleEventUpdated.StartOn = todayDate;
vehicleEventUpdated.FinishOn = todayDate;
vehicleEventUpdated.Odometer = odometer;
if (internals.AssetMgr.UpdateVehicleEvent(vehicleEventUpdated, internals.DbUpdateInfo))
if (internals.AssetMgr.UpdateVehicleEvent(vehicleEventUpdated, dbUpdateInfo))
{
}
#if _DEBUG
@@ -85,7 +85,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
vehicleEventUpdated.StartOn = todayDate;
vehicleEventUpdated.FinishOn = todayDate;
vehicleEventUpdated.Odometer = odometer;
if (internals.AssetMgr.InsertVehicleEvent(vehicleEvent, internals.DbUpdateInfo))
if (internals.AssetMgr.InsertVehicleEvent(vehicleEvent, dbUpdateInfo))
{
}
#if _DEBUG
@@ -99,7 +99,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
// Update this vehicle itself.
LatestOdo = odometer;
LatestOdoOn = todayDate;
internals.AssetMgr.UpdateVehicle(this, internals.DbUpdateInfo);
internals.AssetMgr.UpdateVehicle(this, dbUpdateInfo);
return true;
}
@@ -185,7 +185,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
if (!SysId.IsValid(Id)) return false;
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole == null) return false;
return interfaceConsole.ItemHasDataItems(new ItemId((short)Sbm.ItemType.Vehicle, Id));
return interfaceConsole.ItemHasDataItems(new SbmItemId(Sbm.ItemType.Vehicle, Id));
}
public override bool HpiCheckCount()
{
@@ -217,7 +217,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
itemDataConsole != null && itemDataConsole.ItemDataExists(prmData);*/
return false;
}
public override bool ClearDependentData()
public override bool ClearVehicleDependentData(DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (this == null || !SysId.IsValid(Id)) return false;
@@ -254,7 +254,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
SaInterfaceConsole interfaceConsole = internals.InterfaceConsole;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), internals.DbUpdateInfo))
if (!interfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.AssetCategory, Id), dbUpdateInfo))
SetErrorState(interfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
@@ -2,7 +2,7 @@
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Dbas.Base;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Base
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
{
//=======================================================================
public class SbmDatabaseConsole : SacsDatabaseConsole
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -21,12 +21,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
public class ColumnsData
{
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
public ColumnDataInt32Nullable _CommodityId { get; } = new ColumnDataInt32Nullable("CommodityId");
public ColumnDataInt32 _CommodityId { get; } = new ColumnDataInt32("CommodityId");
public ColumnDataInt32 _LocationId { get; } = new ColumnDataInt32("LocationId");
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
public ColumnDataInt16 _Source { get; } = new ColumnDataInt16("Source");
public ColumnDataDateTimeNullable _Recorded { get; } = new ColumnDataDateTimeNullable("Recorded");
public ColumnDataDecimalNullable _Quantity { get; } = new ColumnDataDecimalNullable("Quantity");
public ColumnDataDateTime _Recorded { get; } = new ColumnDataDateTime("Recorded");
public ColumnDataDecimal _Quantity { get; } = new ColumnDataDecimal("Quantity");
public ColumnDataString _Bay1 { get; } = new ColumnDataString("Bay1");
public ColumnDataString _Bay2 { get; } = new ColumnDataString("Bay2");
public ColumnDataString _Bay3 { get; } = new ColumnDataString("Bay3");
@@ -74,9 +74,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
};
protected static List<String> fieldsNullable { get; } = new List<String>()
{
"CommodityId",
"Recorded",
"Quantity",
"Bay1",
"Bay2",
"Bay3",
@@ -110,12 +107,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
// Columns.
public ColumnsData Cols { get; } = new ColumnsData();
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
public Int32? _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
public Int32 _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
public Int32 _LocationId { get { return Cols._LocationId.Value; } set { Cols._LocationId.Value = value; } }
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
public Int16 _Source { get { return Cols._Source.Value; } set { Cols._Source.Value = value; } }
public DateTime? _Recorded { get { return Cols._Recorded.Value; } set { Cols._Recorded.Value = value; } }
public Decimal? _Quantity { get { return Cols._Quantity.Value; } set { Cols._Quantity.Value = value; } }
public DateTime _Recorded { get { return Cols._Recorded.Value; } set { Cols._Recorded.Value = value; } }
public Decimal _Quantity { get { return Cols._Quantity.Value; } set { Cols._Quantity.Value = value; } }
public String _Bay1 { get { return Cols._Bay1.Value; } set { Cols._Bay1.Value = value; } }
public String _Bay2 { get { return Cols._Bay2.Value; } set { Cols._Bay2.Value = value; } }
public String _Bay3 { get { return Cols._Bay3.Value; } set { Cols._Bay3.Value = value; } }
@@ -151,12 +148,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
public override void PopulateFrom (DbDataReader dbDataReader)
{
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
_CommodityId = GetFieldInt32Nullable(dbDataReader, "CommodityId", _CommodityId);
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
_LocationId = GetFieldInt32(dbDataReader, "LocationId", _LocationId);
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
_Source = GetFieldInt16(dbDataReader, "Source", _Source);
_Recorded = GetFieldDateTimeNullable(dbDataReader, "Recorded", _Recorded);
_Quantity = GetFieldDecimalNullable(dbDataReader, "Quantity", _Quantity);
_Recorded = GetFieldDateTime(dbDataReader, "Recorded", _Recorded);
_Quantity = GetFieldDecimal(dbDataReader, "Quantity", _Quantity);
_Bay1 = GetFieldString(dbDataReader, "Bay1", _Bay1);
_Bay2 = GetFieldString(dbDataReader, "Bay2", _Bay2);
_Bay3 = GetFieldString(dbDataReader, "Bay3", _Bay3);
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -10,7 +10,7 @@ using System.Data.Common;
using System.Linq;
//---------------------------------------------------------------------------
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
// Code generated by Sarand Database Utilities Sat 1-Feb-2025 17:49:12
//---------------------------------------------------------------------------
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
{
@@ -542,7 +542,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.UserAccount), aliasUserAccount);
// UserAccount Properties - add columns as defined in query list.
if (columns.HasId((int)SbmcUserAccount.Column.Id))
if (columns.HasId(SbmcUserAccount.Column.Id))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_Id, aliasUserAccount));
if (columns.HasId(SbmcUserAccount.Column.EmailAddress))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_EmailAddress, aliasUserAccount));
@@ -558,7 +558,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_PhoneMain, aliasUserAccount));
if (columns.HasId(SbmcUserAccount.Column.PhoneMobile))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_PhoneMobile, aliasUserAccount));
if (columns.HasId((int)SbmcUserAccount.Column.PhoneAlt))
if (columns.HasId(SbmcUserAccount.Column.PhoneAlt))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_PhoneAlt, aliasUserAccount));
// Login.
@@ -570,13 +570,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_InvalidLoginCount, aliasUserAccount));
// Common.
if (columns.HasId((int)SbmcUserAccount.Column.Notes))
if (columns.HasId(SbmcUserAccount.Column.Notes))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_Notes, aliasUserAccount));
if (columns.HasId((int)SbmcUserAccount.Column.Status) || columns.HasId((int)SbmcUserAccount.Column.Status_Desc) || columns.HasId((int)SbmcUserAccount.Column.Status_Ind))
if (columns.HasId(SbmcUserAccount.Column.Status) || columns.HasId(SbmcUserAccount.Column.Status_Desc) || columns.HasId(SbmcUserAccount.Column.Status_Ind))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_Status, aliasUserAccount));
if (columns.HasId((int)SbmcUserAccount.Column.CreateOn_Date))
if (columns.HasId(SbmcUserAccount.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_CreateOn, aliasUserAccount));
if (columns.HasId((int)SbmcUserAccount.Column.UpdateOn_Date))
if (columns.HasId(SbmcUserAccount.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.UserAccount_UpdateOn, aliasUserAccount));
//---------------------------------------------------------------
@@ -483,27 +483,27 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.Owner), aliasOwner);
// Owner Properties - add columns as defined in query list.
if (columns.HasId((int)SbmcOwner.Column.Id))
if (columns.HasId(SbmcOwner.Column.Id))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_Id, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.Name))
if (columns.HasId(SbmcOwner.Column.Name))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_Name, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.ContactName))
if (columns.HasId(SbmcOwner.Column.ContactName))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_ContactName, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.ContactEmailAddress))
if (columns.HasId(SbmcOwner.Column.ContactEmailAddress))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_ContactEmailAddress, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.ContactPhoneMain))
if (columns.HasId(SbmcOwner.Column.ContactPhoneMain))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_ContactPhoneMain, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.ContactPhoneAlt))
if (columns.HasId(SbmcOwner.Column.ContactPhoneAlt))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_ContactPhoneAlt, aliasOwner));
// Common Properties
if (columns.HasId((int)SbmcOwner.Column.Notes))
if (columns.HasId(SbmcOwner.Column.Notes))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_Notes, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.Status) || columns.HasId((int)SbmcOwner.Column.Status_Desc) || columns.HasId((int)SbmcOwner.Column.Status_Ind))
if (columns.HasId(SbmcOwner.Column.Status) || columns.HasId(SbmcOwner.Column.Status_Desc) || columns.HasId(SbmcOwner.Column.Status_Ind))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_Status, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.CreateOn_Date))
if (columns.HasId(SbmcOwner.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_CreateOn, aliasOwner));
if (columns.HasId((int)SbmcOwner.Column.UpdateOn_Date))
if (columns.HasId(SbmcOwner.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Owner_UpdateOn, aliasOwner));
//---------------------------------------------------------------
@@ -519,30 +519,30 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn_Control.GetTableName(SbmDbDfn_Control.TableIdx.Repository), aliasRepository);
// Repository Properties - add columns as defined in query list.
if (columns.HasId((int)SbmcRepository.Column.Id))
if (columns.HasId(SbmcRepository.Column.Id))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_Id, aliasRepository));
bool hasOwnerCols = (columns.HasId((int)SbmcRepository.Column.OwnerName) || columns.HasId((int)SbmcRepository.Column.ContactName) || columns.HasId((int)SbmcRepository.Column.ContactEmailAddress) || columns.HasId((int)SbmcRepository.Column.ContactPhoneMain) || columns.HasId((int)SbmcRepository.Column.ContactPhoneAlt));
if (columns.HasId((int)SbmcRepository.Column.OwnerId) || hasOwnerCols)
bool hasOwnerCols = (columns.HasId(SbmcRepository.Column.OwnerName) || columns.HasId(SbmcRepository.Column.ContactName) || columns.HasId(SbmcRepository.Column.ContactEmailAddress) || columns.HasId(SbmcRepository.Column.ContactPhoneMain) || columns.HasId(SbmcRepository.Column.ContactPhoneAlt));
if (columns.HasId(SbmcRepository.Column.OwnerId) || hasOwnerCols)
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_OwnerId, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.Context))
if (columns.HasId(SbmcRepository.Column.Context))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_Context, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.ServerName))
if (columns.HasId(SbmcRepository.Column.ServerName))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_ServerName, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.InstanceName))
if (columns.HasId(SbmcRepository.Column.InstanceName))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_InstanceName, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.DatabaseName))
if (columns.HasId(SbmcRepository.Column.DatabaseName))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_DatabaseName, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.UserName))
if (columns.HasId(SbmcRepository.Column.UserName))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_UserName, aliasRepository));
// Common Properties
if (columns.HasId((int)SbmcRepository.Column.Notes))
if (columns.HasId(SbmcRepository.Column.Notes))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_Notes, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.Status) || columns.HasId((int)SbmcRepository.Column.Status_Desc) || columns.HasId((int)SbmcRepository.Column.Status_Ind))
if (columns.HasId(SbmcRepository.Column.Status) || columns.HasId(SbmcRepository.Column.Status_Desc) || columns.HasId(SbmcRepository.Column.Status_Ind))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_Status, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.CreateOn_Date))
if (columns.HasId(SbmcRepository.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_CreateOn, aliasRepository));
if (columns.HasId((int)SbmcRepository.Column.UpdateOn_Date))
if (columns.HasId(SbmcRepository.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn_Control.GetColumnNameQual(SbmDbDfn_Control.ColumnIdx.Repository_UpdateOn, aliasRepository));
//---------------------------------------------------------------
@@ -8,6 +8,7 @@ using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Interfaces;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Data;
using System;
@@ -18,11 +19,11 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
internal partial class SbmAccountMgr_Dbas : SbmAccountMgr
// Account manager - Addresses.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// A d d r e s s e s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
/* public override SbmAddress CloneAddress(SbmAddress addressSource, bool copyId)
{
@@ -73,11 +74,56 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
return !HasErrorState();
}
//-------------------------------------------------------------------
// Associated data.
public override bool AddressHasInterfaceDataItems(SbmAddress address)
{
ClearErrorState();
if (!SysId.IsValid(address.Id)) return false;
SaInterfaceConsole interfaceConsole = InterfaceConsole;
if (interfaceConsole != null) return false;
bool has = interfaceConsole.ItemHasDataItems(address.GetItemId());
return has;
}
public override bool ClearAddressDependentData(SbmAddress address, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!SysId.IsValid(address.Id)) return false;
if (SbmGlobals.System == null) return SetErrorState("System is not available");
// Delete interface data items.
if (!HasErrorState())
{
SaInterfaceConsole interfaceConsole = InterfaceConsole;
if (interfaceConsole != null)
{
if (!interfaceConsole.ClearInterfaceDataItems(address.GetItemId(), dbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorStateMessage);
}
else SetErrorState("failed to initialise interface console");
interfaceConsole = null; // Do not delete this global object.
}
// Remove data item references.
if (!HasErrorState())
{
SbmDataItemMgr dataItemMgr = DataItemMgr;
if (dataItemMgr != null)
{
if (!dataItemMgr.ClearDataItem(address.GetItemId(), dbUpdateInfo))
SetErrorState(dataItemMgr.ErrorStateMessage);
}
else SetErrorState("Data item manager is not available");
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Create Address.
public override SbmAddress CreateAddress(Sbm.ItemType itemType, SysId idItem, Sbm.AddressType addressType)
{
return new SbmAddress_Dbas(Internals, null, itemType, idItem, addressType, 0);
return new SbmAddress_Dbas(null, itemType, idItem, addressType, 0);
}
private SbmAddress_Dbas CreateAddress(Address_Db dbAddress)
{
@@ -94,7 +140,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
itemId = new SysId(dbAddress._AffIdOwner);
}
}
SbmAddress_Dbas address = new SbmAddress_Dbas(Internals, new SysId(dbAddress._Id), itemType, itemId, (Sbm.AddressType)dbAddress._Type, (ushort)dbAddress._Flags);
SbmAddress_Dbas address = new SbmAddress_Dbas(new SysId(dbAddress._Id), itemType, itemId, (Sbm.AddressType)dbAddress._Type, (ushort)dbAddress._Flags);
PopulateFrom(dbAddress, address);
return address;
}
@@ -723,53 +769,53 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address), aliasAddress);
// Address Properties - add columns as defined in query list.
if (columns.HasId((int)SbmAddress.Column.Id))
if (columns.HasId(SbmAddress.Column.Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Id, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Type_Desc))
if (columns.HasId(SbmAddress.Column.Type_Desc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Type, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.RefExt))
if (columns.HasId(SbmAddress.Column.RefExt))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_RefExt, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Name))
if (columns.HasId(SbmAddress.Column.Name))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Name, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.DescBrief))
if (columns.HasId(SbmAddress.Column.DescBrief))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_DescBrief, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Line1) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.Line1) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line1, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Line2) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.Line2) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line2, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Line3) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.Line3) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line3, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.City) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.City) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_City, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Province) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.Province) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Province, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Postcode) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.Postcode) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Postcode, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Country) || columns.HasId((int)SbmAddress.Column.Summary))
if (columns.HasId(SbmAddress.Column.Country) || columns.HasId(SbmAddress.Column.Summary))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Country, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Contact))
if (columns.HasId(SbmAddress.Column.Contact))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Contact, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Phone))
if (columns.HasId(SbmAddress.Column.Phone))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Phone, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Fax))
if (columns.HasId(SbmAddress.Column.Fax))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Fax, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Email))
if (columns.HasId(SbmAddress.Column.Email))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Email, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.LastVisitOn) && ColumnExists(SbmDbDfn.ColumnIdx.Address_LastVisitOn))
if (columns.HasId(SbmAddress.Column.LastVisitOn) && ColumnExists(SbmDbDfn.ColumnIdx.Address_LastVisitOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_LastVisitOn, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.NextVisitOn) && ColumnExists(SbmDbDfn.ColumnIdx.Address_NextVisitOn))
if (columns.HasId(SbmAddress.Column.NextVisitOn) && ColumnExists(SbmDbDfn.ColumnIdx.Address_NextVisitOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_NextVisitOn, aliasAddress));
// Common Properties
if (columns.HasId((int)SbmAddress.Column.Notes))
if (columns.HasId(SbmAddress.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Notes, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.Status) || columns.HasId((int)SbmAddress.Column.Status_Desc) || columns.HasId((int)SbmAddress.Column.Status_Ind))
if (columns.HasId(SbmAddress.Column.Status) || columns.HasId(SbmAddress.Column.Status_Desc) || columns.HasId(SbmAddress.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Status, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.CreateOn_Date))
if (columns.HasId(SbmAddress.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_CreateOn, aliasAddress));
if (columns.HasId((int)SbmAddress.Column.UpdateOn_Date))
if (columns.HasId(SbmAddress.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_UpdateOn, aliasAddress));
//---------------------------------------------------------------
@@ -1,5 +1,6 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
@@ -7,6 +8,7 @@ using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Interfaces;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Data;
using System;
@@ -16,12 +18,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Account manager - Affiliates.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// A f f i l i a t e
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmAffiliate affiliate)
{
@@ -33,16 +35,133 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
};
}
//-------------------------------------------------------------------
// Associations.
public override bool AffiliateOwnerHasAssociations(SysId affiliateIdOwner, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
{
return (GetAffiliateOwnerAssociationCount(affiliateIdOwner, associationType, activeOnly) > 0);
}
public override long GetAffiliateOwnerAssociationCount(SysId affiliateIdOwner, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
{
ClearErrorState();
if (!SysId.IsValid(affiliateIdOwner) || (int)associationType < 1) return 0;
if (Database != null)
{
SbmAssociation.Params prmAssociation = new SbmAssociation.Params
{
AffiliateIdOwner = affiliateIdOwner,
AssociationType = associationType,
StatusCat = activeOnly ? SbmAssociation.StatusCat.Active : SbmAssociation.StatusCat.NotDeleted
};
String filter = GetAssociationQueryFilter(prmAssociation).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), filter);
}
return 0;
}
public override bool AffiliateOwnerHasAssociationsWithTarget(SysId affiliateIdOwner, SysId affiliateIdTarget, bool activeOnly = true)
{
return (AffiliateOwnerAssociationsWithTargetCount(affiliateIdOwner, affiliateIdTarget, activeOnly) > 0);
}
public override long AffiliateOwnerAssociationsWithTargetCount(SysId affiliateIdOwner, SysId affiliateIdTarget, bool activeOnly = true)
{
ClearErrorState();
if (!SysId.IsValid(affiliateIdOwner) || !SysId.IsValid(affiliateIdTarget)) return 0;
if (Database != null)
{
SbmAssociation.Params prmAssociation = new SbmAssociation.Params
{
AffiliateIdOwner = affiliateIdOwner,
AffiliateIdTarget = affiliateIdTarget,
StatusCat = activeOnly ? SbmAssociation.StatusCat.Active : SbmAssociation.StatusCat.NotDeleted
};
String filter = GetAssociationQueryFilter(prmAssociation).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), filter);
}
return 0;
}
public override bool AffiliateTargetHasAssociations(SysId affiliateIdTarget, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
{
return (GetAffiliateTargetAssociationCount(affiliateIdTarget, associationType, activeOnly) > 0);
}
public override long GetAffiliateTargetAssociationCount(SysId affiliateIdTarget, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
{
ClearErrorState();
if (!SysId.IsValid(affiliateIdTarget) || (int)associationType < 1) return 0;
if (Database != null)
{
SbmAssociation.Params prmAssociation = new SbmAssociation.Params
{
AffiliateIdTarget = affiliateIdTarget,
AssociationType = associationType,
StatusCat = activeOnly ? SbmAssociation.StatusCat.Active : SbmAssociation.StatusCat.NotDeleted
};
String filter = GetAssociationQueryFilter(prmAssociation).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), filter);
}
return 0;
}
//-------------------------------------------------------------------
// Associated data.
public override long GetChildAffiliateCount(SysId affiliateId)
{
if (!SysId.IsValid(affiliateId)) return 0;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_AffIdParent)}={affiliateId.ToString()}";
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate), filter);
}
public override bool AffiliateHasSystemUsers(SysId affiliateId)
{
if (!SysId.IsValid(affiliateId)) return false;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId)}={affiliateId}";
return (Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), filter) > 0);
}
public override bool AffiliateHasDiaryLinks(SysId affiliateId)
{
if (!SysId.IsValid(affiliateId)) return false;
//return Internals.DiaryConsole.DataItemHasLinks(new SbmItemId(Sbm.ItemType.Affiliate,affiliateId));
return false;
}
// Dependent data should only be cleared when removing an affiliate.
public override bool ClearAffiliateDependentData(SysId affiliateId, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!SysId.IsValid(affiliateId)) return false;
if (SbmGlobals.System == null) return SetErrorState("System is not available");
// Delete interface data items.
if (!HasErrorState())
{
if (InterfaceConsole != null)
{
if (!InterfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.Association, affiliateId), DbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + InterfaceConsole.ErrorStateMessage);
}
else SetErrorState("failed to initialise interface console");
}
// Remove data item references.
if (!HasErrorState())
{
if (DataItemMgr != null)
{
if (!DataItemMgr.ClearDataItem(new SbmItemId(Sbm.ItemType.Affiliate, affiliateId), dbUpdateInfo))
SetErrorState(DataItemMgr.ErrorStateMessage);
}
else SetErrorState("Data item manager is not available");
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Create Affiliate.
public override SbmAffiliate CreateAffiliate(Sbm.AffiliateType affiliateType)
{
return new SbmAffiliate_Dbas(Internals, null, affiliateType, 0);
return new SbmAffiliate_Dbas(null, affiliateType, 0);
}
private SbmAffiliate_Dbas CreateAffiliate(Affiliate_Db dbAffiliate)
{
ClearErrorState();
SbmAffiliate_Dbas affiliate = new SbmAffiliate_Dbas(Internals, new SysId(dbAffiliate._Id), (Sbm.AffiliateType)dbAffiliate._Type, (ushort)dbAffiliate._Flags);
SbmAffiliate_Dbas affiliate = new SbmAffiliate_Dbas(new SysId(dbAffiliate._Id), (Sbm.AffiliateType)dbAffiliate._Type, (ushort)dbAffiliate._Flags);
PopulateFrom(dbAffiliate, affiliate);
return affiliate;
}
@@ -8,6 +8,8 @@ using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.CodeTypes;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Interfaces;
using Sarand.Net.Standard.Base.ItemDocs;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Data;
using System;
@@ -17,12 +19,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Account manager - Associations.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// A s s o c i a t i o n s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities - Association List Target.
private List<StringPair> GetLogProperties(SbmAssociation association)
{
@@ -33,6 +35,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
new StringPair("Status",association.StatusCode)
};
}
public override List<Sbm.AssociationType> GetAssociationTypesInUse()
{
List<Sbm.AssociationType> types = new List<Sbm.AssociationType>();
@@ -156,81 +159,76 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// Has Association.
public override bool OwnerHasAssociations(SysId affiliateIdOwner, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
// Associated data.
public override bool AssociationHasTransactions(SysId associationId)
{
return (OwnerAssociationCount(affiliateIdOwner, associationType, activeOnly) > 0);
if (!SysId.IsValid(associationId)) return false;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Transaction_AssocId)}={associationId}";
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), filter) > 0;
}
public override long OwnerAssociationCount(SysId affiliateIdOwner, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
public override bool AssociationHasRequirements(SysId associationId)
{
if (!SysId.IsValid(associationId)) return false;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_AssocId)}={associationId}";
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), filter) > 0;
}
public override bool AssociationHasConstituents(SysId associationId)
{
if (!SysId.IsValid(associationId)) return false;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Constituent_AssocId)}={associationId}";
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Constituent), filter) > 0;
}
public override bool AssociationIsDeliveryContractor(SysId associationId)
{
// Is associated with transaction for delivery.
if (!SysId.IsValid(associationId)) return false;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Transaction_AssIdDeliver)}={associationId}";
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Transaction), filter) > 0;
}
public override bool ClearAssociationDependentData(SbmAssociation association, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!SysId.IsValid(affiliateIdOwner) || (int)associationType < 1) return 0;
if (Database != null)
if (association == null || !SysId.IsValid(association.Id)) return false;
// Delete interface data items.
if (!HasErrorState())
{
SbmAssociation.Params prmAssociation = new SbmAssociation.Params
if (InterfaceConsole != null)
{
AffiliateIdOwner = affiliateIdOwner,
AssociationType = associationType,
StatusCat = activeOnly ? SbmAssociation.StatusCat.Active : SbmAssociation.StatusCat.NotDeleted
};
String filter = GetAssociationQueryFilter(prmAssociation).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), filter);
if (!InterfaceConsole.ClearInterfaceDataItems(association.GetItemId(), DbUpdateInfo))
SetErrorState("Failed to clear interface data items - " + InterfaceConsole.ErrorStateMessage);
}
else SetErrorState("failed to initialise interface console");
}
return 0;
}
public override bool OwnerHasAssociationsWith(SysId affiliateIdOwner, SysId affiliateIdTarget, bool activeOnly = true)
{
return (OwnerTargetAssociationCount(affiliateIdOwner, affiliateIdTarget, activeOnly) > 0);
}
public override long OwnerTargetAssociationCount(SysId affiliateIdOwner, SysId affiliateIdTarget, bool activeOnly = true)
{
ClearErrorState();
if (!SysId.IsValid(affiliateIdOwner) || !SysId.IsValid(affiliateIdTarget)) return 0;
if (Database != null)
// Remove document references
if (!HasErrorState())
{
SbmAssociation.Params prmAssociation = new SbmAssociation.Params
if (ItemDocConsole != null)
{
AffiliateIdOwner = affiliateIdOwner,
AffiliateIdTarget = affiliateIdTarget,
StatusCat = activeOnly ? SbmAssociation.StatusCat.Active : SbmAssociation.StatusCat.NotDeleted
};
String filter = GetAssociationQueryFilter(prmAssociation).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), filter);
if (!ItemDocConsole.ClearItemDocs(association.GetItemId(), DbUpdateInfo))
SetErrorState(ItemDocConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve item document console");
}
return 0;
}
public override bool TargetHasAssociations(SysId affiliateIdTarget, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
{
return (TargetAssociationCount(affiliateIdTarget, associationType, activeOnly) > 0);
}
public override long TargetAssociationCount(SysId affiliateIdTarget, Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool activeOnly = true)
{
ClearErrorState();
if (!SysId.IsValid(affiliateIdTarget) || (int)associationType < 1) return 0;
if (Database != null)
// Remove data item references.
if (!HasErrorState())
{
SbmAssociation.Params prmAssociation = new SbmAssociation.Params
{
AffiliateIdTarget = affiliateIdTarget,
AssociationType = associationType,
StatusCat = activeOnly ? SbmAssociation.StatusCat.Active : SbmAssociation.StatusCat.NotDeleted
};
String filter = GetAssociationQueryFilter(prmAssociation).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), filter);
if (!DataItemMgr.ClearDataItem(association.GetItemId(), dbUpdateInfo))
SetErrorState(DataItemMgr.ErrorStateMessage);
}
return 0;
return !HasErrorState();
}
//-------------------------------------------------------------------
// Create Association.
public override SbmAssociation CreateAssociation(SysId affiliateIdOwner, Sbm.AssociationType associationType, SysId affiliateIdTarget)
{
return new SbmAssociation_Dbas(Internals, null, affiliateIdOwner, associationType, affiliateIdTarget, 0);
return new SbmAssociation_Dbas(null, affiliateIdOwner, associationType, affiliateIdTarget, 0);
}
private SbmAssociation_Dbas CreateAssociation(Association_Db dbAssociation)
{
ClearErrorState();
SbmAssociation_Dbas association = new SbmAssociation_Dbas(Internals, new SysId(dbAssociation._Id), new SysId(dbAssociation._AffIdOwner), (Sbm.AssociationType)dbAssociation._Type, new SysId(dbAssociation._AffIdTarget), (ushort)dbAssociation._Flags);
SbmAssociation_Dbas association = new SbmAssociation_Dbas(new SysId(dbAssociation._Id), new SysId(dbAssociation._AffIdOwner), (Sbm.AssociationType)dbAssociation._Type, new SysId(dbAssociation._AffIdTarget), (ushort)dbAssociation._Flags);
PopulateFrom(dbAssociation, association);
return association;
}
@@ -1974,105 +1972,105 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Association columns properties.
//query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Id));
if (columns.HasId((int)SbmAssociation.Column.Id))
if (columns.HasId(SbmAssociation.Column.Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Id, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AffIdOwner))
if (columns.HasId(SbmAssociation.Column.AffIdOwner))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AffIdOwner, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AffIdTarget))
if (columns.HasId(SbmAssociation.Column.AffIdTarget))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AffIdTarget, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Type) || columns.HasId((int)SbmAssociation.Column.Type_Desc))
if (columns.HasId(SbmAssociation.Column.Type) || columns.HasId(SbmAssociation.Column.Type_Desc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Type, aliasAssociation, true));
if (columns.HasId((int)SbmAssociation.Column.Code))
if (columns.HasId(SbmAssociation.Column.Code))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Code, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.ExtRef))
if (columns.HasId(SbmAssociation.Column.ExtRef))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_ExtRef, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Role))
if (columns.HasId(SbmAssociation.Column.Role))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Role, aliasAssociation, true));
if (columns.HasId((int)SbmAssociation.Column.Location))
if (columns.HasId(SbmAssociation.Column.Location))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Location, aliasAssociation, true));
if (columns.HasId((int)SbmAssociation.Column.PhoneMain))
if (columns.HasId(SbmAssociation.Column.PhoneMain))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_PhoneMain, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Email))
if (columns.HasId(SbmAssociation.Column.Email))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Email, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Group) && ColumnExists(SbmDbDfn.ColumnIdx.Association_Group))
if (columns.HasId(SbmAssociation.Column.Group) && ColumnExists(SbmDbDfn.ColumnIdx.Association_Group))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Group, aliasAssociation, true));
if (columns.HasId((int)SbmAssociation.Column.DescDetail))
if (columns.HasId(SbmAssociation.Column.DescDetail))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DescDetail, aliasAssociation));
// Accounting columns.
if (columns.HasId((int)SbmAssociation.Column.DefaultNominalCode) && ColumnExists(SbmDbDfn.ColumnIdx.Association_DefaultNominalCode))
if (columns.HasId(SbmAssociation.Column.DefaultNominalCode) && ColumnExists(SbmDbDfn.ColumnIdx.Association_DefaultNominalCode))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DefaultNominalCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AmountTransMax) && CanViewFinancials)
if (columns.HasId(SbmAssociation.Column.AmountTransMax) && CanViewFinancials)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AmountTransMax, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AnnualSalesTarget) && CanViewFinancials && ColumnExists(SbmDbDfn.ColumnIdx.Association_AnnualSalesTarget))
if (columns.HasId(SbmAssociation.Column.AnnualSalesTarget) && CanViewFinancials && ColumnExists(SbmDbDfn.ColumnIdx.Association_AnnualSalesTarget))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AnnualSalesTarget, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.CreditLimit))
if (columns.HasId(SbmAssociation.Column.CreditLimit))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_CreditLimit, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AccountBalance))
if (columns.HasId(SbmAssociation.Column.AccountBalance))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AccountBalance, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.DiscountType) || columns.HasId((int)SbmAssociation.Column.DiscountType_Desc))
if (columns.HasId(SbmAssociation.Column.DiscountType) || columns.HasId(SbmAssociation.Column.DiscountType_Desc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DiscountType, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.DiscountRate))
if (columns.HasId(SbmAssociation.Column.DiscountRate))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DiscountRate, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.PriceSetId))
if (columns.HasId(SbmAssociation.Column.PriceSetId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_PriceSetId, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.TaxCodeId))
if (columns.HasId(SbmAssociation.Column.TaxCodeId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_TaxCodeId, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.PaymentTerms))
if (columns.HasId(SbmAssociation.Column.PaymentTerms))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_PaymentTerms, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.InvoiceDesc))
if (columns.HasId(SbmAssociation.Column.InvoiceDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_InvoiceDesc, aliasAssociation));
// Coding columns.
if (columns.HasId((int)SbmAssociation.Column.AccountManagerCode) || columns.HasId((int)SbmAssociation.Column.AccountManagerDesc))
if (columns.HasId(SbmAssociation.Column.AccountManagerCode) || columns.HasId(SbmAssociation.Column.AccountManagerDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AccountManagerCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AccountHandlerCode) || columns.HasId((int)SbmAssociation.Column.AccountHandlerDesc))
if (columns.HasId(SbmAssociation.Column.AccountHandlerCode) || columns.HasId(SbmAssociation.Column.AccountHandlerDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AccountHandlerCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AccountTypeCode) || columns.HasId((int)SbmAssociation.Column.AccountTypeDesc))
if (columns.HasId(SbmAssociation.Column.AccountTypeCode) || columns.HasId(SbmAssociation.Column.AccountTypeDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AccountTypeCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.AccountRatingCode) || columns.HasId((int)SbmAssociation.Column.AccountRatingDesc))
if (columns.HasId(SbmAssociation.Column.AccountRatingCode) || columns.HasId(SbmAssociation.Column.AccountRatingDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_AccountRatingCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.ContactAreaCode) || columns.HasId((int)SbmAssociation.Column.ContactAreaDesc))
if (columns.HasId(SbmAssociation.Column.ContactAreaCode) || columns.HasId(SbmAssociation.Column.ContactAreaDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_ContactAreaCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.ContactHandlerCode) || columns.HasId((int)SbmAssociation.Column.ContactHandlerDesc))
if (columns.HasId(SbmAssociation.Column.ContactHandlerCode) || columns.HasId(SbmAssociation.Column.ContactHandlerDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_ContactHandlerCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.ContactMethodCode) || columns.HasId((int)SbmAssociation.Column.ContactMethodDesc))
if (columns.HasId(SbmAssociation.Column.ContactMethodCode) || columns.HasId(SbmAssociation.Column.ContactMethodDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_ContactMethodCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.ContactCallCycleCode) || columns.HasId((int)SbmAssociation.Column.ContactCallCycleDesc))
if (columns.HasId(SbmAssociation.Column.ContactCallCycleCode) || columns.HasId(SbmAssociation.Column.ContactCallCycleDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_ContactCallCycleCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.CallsPerYear))
if (columns.HasId(SbmAssociation.Column.CallsPerYear))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_CallsPerYear, aliasAssociation));
// Other Code columns
if (columns.HasId((int)SbmAssociation.Column.LastCall))
if (columns.HasId(SbmAssociation.Column.LastCall))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_LastCall, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.OrderLeadTimeCode) || columns.HasId((int)SbmAssociation.Column.OrderLeadTimeDesc))
if (columns.HasId(SbmAssociation.Column.OrderLeadTimeCode) || columns.HasId(SbmAssociation.Column.OrderLeadTimeDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_OrderLeadTimeCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.DeliveryTypeCode) || columns.HasId((int)SbmAssociation.Column.DeliveryTypeDesc))
if (columns.HasId(SbmAssociation.Column.DeliveryTypeCode) || columns.HasId(SbmAssociation.Column.DeliveryTypeDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DeliveryTypeCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.DeliveryMethodCode) || columns.HasId((int)SbmAssociation.Column.DeliveryMethodDesc))
if (columns.HasId(SbmAssociation.Column.DeliveryMethodCode) || columns.HasId(SbmAssociation.Column.DeliveryMethodDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DeliveryMethodCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.DeliveryBookInCode) || columns.HasId((int)SbmAssociation.Column.DeliveryBookInDesc))
if (columns.HasId(SbmAssociation.Column.DeliveryBookInCode) || columns.HasId(SbmAssociation.Column.DeliveryBookInDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_DeliveryBookInCode, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Terminated))
if (columns.HasId(SbmAssociation.Column.Terminated))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Terminated, aliasAssociation));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Flags, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Primary))
if (columns.HasId(SbmAssociation.Column.Primary))
query.Columns.Add(GetFlagValue(SbmAssociation.Flag_Primary, true, null), /*colAssociation_Primary,*/ aliasAssociation);
if (columns.HasId((int)SbmAssociation.Column.Technician))
if (columns.HasId(SbmAssociation.Column.Technician))
query.Columns.Add(GetFlagValue(SbmAssociation.Flag_Technician, true, null), /*colAssociation_Technician,*/ aliasAssociation);
// Common Properties
if (columns.HasId((int)SbmAssociation.Column.Notes))
if (columns.HasId(SbmAssociation.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Notes, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.Status) || columns.HasId((int)SbmAssociation.Column.Status_Desc) || columns.HasId((int)SbmAssociation.Column.Status_Ind))
if (columns.HasId(SbmAssociation.Column.Status) || columns.HasId(SbmAssociation.Column.Status_Desc) || columns.HasId(SbmAssociation.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Status, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.CreateOn_Date))
if (columns.HasId(SbmAssociation.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_CreateOn, aliasAssociation));
if (columns.HasId((int)SbmAssociation.Column.UpdateOn_Date))
if (columns.HasId(SbmAssociation.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_UpdateOn, aliasAssociation));
//---------------------------------------------------------------
// Owner affiliate.
bool hasColsAffOwner = false;
if (!hasColsAffOwner)
hasColsAffOwner = columns.HasId((int)SbmAssociation.Column.Owner_Name);
hasColsAffOwner = columns.HasId(SbmAssociation.Column.Owner_Name);
bool hasColsAffOwnerAddress = false;
if (hasColsAffOwner || hasColsAffOwnerAddress)
{
@@ -2107,42 +2105,42 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Target affiliate.
bool hasColsAffTarget = false;
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_Type) || columns.HasId((int)SbmAssociation.Column.Target_TypeDesc);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_Name);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_Nature);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_PhoneMain);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_PhoneAlt);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_PhoneFax);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_PhoneMobile);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_Email);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_Website);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId((int)SbmAssociation.Column.Target_Notes);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_Type) || columns.HasId(SbmAssociation.Column.Target_TypeDesc);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_Name);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_Nature);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_PhoneMain);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_PhoneAlt);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_PhoneFax);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_PhoneMobile);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_Email);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_Website);
if (!hasColsAffTarget) hasColsAffTarget = columns.HasId(SbmAssociation.Column.Target_Notes);
bool hasColsAffTargetAddress = false;
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Type) || columns.HasId((int)SbmAssociation.Column.Target_Address_TypeDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_RefExt);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Name);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_DescBrief);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Summary);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Line1);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Line2);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_City);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Province);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Postcode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Country);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Contact);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Phone);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_Email);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_AccountManagerCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_AccountManagerDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_AccountHandlerCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_AccountHandlerDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_ContactAreaCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_ContactAreaDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_ContactHandlerCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_ContactHandlerDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_LastVisitOn);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId((int)SbmAssociation.Column.Target_Address_NextVisitOn);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Type) || columns.HasId(SbmAssociation.Column.Target_Address_TypeDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_RefExt);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Name);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_DescBrief);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Summary);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Line1);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Line2);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_City);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Province);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Postcode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Country);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Contact);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Phone);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_Email);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_AccountManagerCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_AccountManagerDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_AccountHandlerCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_AccountHandlerDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_ContactAreaCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_ContactAreaDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_ContactHandlerCode);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_ContactHandlerDesc);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_LastVisitOn);
if (!hasColsAffTargetAddress) hasColsAffTargetAddress = columns.HasId(SbmAssociation.Column.Target_Address_NextVisitOn);
if (hasColsAffTarget || hasColsAffTargetAddress)
{
@@ -2157,21 +2155,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Id);
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Type);
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Name);
if (columns.HasId((int)SbmAssociation.Column.Target_Nature))
if (columns.HasId(SbmAssociation.Column.Target_Nature))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Nature);
if (columns.HasId((int)SbmAssociation.Column.Target_PhoneMain))
if (columns.HasId(SbmAssociation.Column.Target_PhoneMain))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneMain);
if (columns.HasId((int)SbmAssociation.Column.Target_PhoneAlt))
if (columns.HasId(SbmAssociation.Column.Target_PhoneAlt))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneAlt);
if (columns.HasId((int)SbmAssociation.Column.Target_PhoneMobile))
if (columns.HasId(SbmAssociation.Column.Target_PhoneMobile))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneMobile);
if (columns.HasId((int)SbmAssociation.Column.Target_PhoneFax))
if (columns.HasId(SbmAssociation.Column.Target_PhoneFax))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneFax);
if (columns.HasId((int)SbmAssociation.Column.Target_Email))
if (columns.HasId(SbmAssociation.Column.Target_Email))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Email);
if (columns.HasId((int)SbmAssociation.Column.Target_Website))
if (columns.HasId(SbmAssociation.Column.Target_Website))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Website);
if (columns.HasId((int)SbmAssociation.Column.Target_Notes))
if (columns.HasId(SbmAssociation.Column.Target_Notes))
affiliateTargetCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Notes);
foreach (SbmDbDfn.ColumnIdx dbColumn in affiliateTargetCols)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAssociation_Affiliate_Target), prefixAssociation_Affiliate_Target + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -2220,46 +2218,46 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Joins.Add(joinTargetAddress);
// Add the address columns.
List<SbmDbDfn.ColumnIdx> addressTargetCols = new List<SbmDbDfn.ColumnIdx>();
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Type) || columns.HasId((int)SbmAssociation.Column.Target_Address_TypeDesc))
if (columns.HasId(SbmAssociation.Column.Target_Address_Type) || columns.HasId(SbmAssociation.Column.Target_Address_TypeDesc))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Type);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_RefExt))
if (columns.HasId(SbmAssociation.Column.Target_Address_RefExt))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_RefExt);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Name))
if (columns.HasId(SbmAssociation.Column.Target_Address_Name))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Name);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_DescBrief))
if (columns.HasId(SbmAssociation.Column.Target_Address_DescBrief))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_DescBrief);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Line1))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Line1))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Line1);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Line2))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Line2))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Line2);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Line3))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Line3))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Line3);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_City))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_City))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_City);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Province))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Province))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Province);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Postcode))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Postcode))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Postcode);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Country))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Country))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Country);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Contact))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Contact))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Contact);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Phone))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Phone))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Phone);
//addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Fax));
if (columns.HasId((int)SbmAssociation.Column.Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Target_Address_Email))
if (columns.HasId(SbmAssociation.Column.Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Target_Address_Email))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_Email);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_AccountManagerCode) || columns.HasId((int)SbmAssociation.Column.Target_Address_AccountManagerDesc))
if (columns.HasId(SbmAssociation.Column.Target_Address_AccountManagerCode) || columns.HasId(SbmAssociation.Column.Target_Address_AccountManagerDesc))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_AccountManagerCode);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_AccountHandlerCode) || columns.HasId((int)SbmAssociation.Column.Target_Address_AccountHandlerDesc))
if (columns.HasId(SbmAssociation.Column.Target_Address_AccountHandlerCode) || columns.HasId(SbmAssociation.Column.Target_Address_AccountHandlerDesc))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_AccountHandlerCode);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_ContactAreaCode) || columns.HasId((int)SbmAssociation.Column.Target_Address_ContactAreaDesc))
if (columns.HasId(SbmAssociation.Column.Target_Address_ContactAreaCode) || columns.HasId(SbmAssociation.Column.Target_Address_ContactAreaDesc))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_ContactAreaCode);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_ContactHandlerCode) || columns.HasId((int)SbmAssociation.Column.Target_Address_ContactHandlerDesc))
if (columns.HasId(SbmAssociation.Column.Target_Address_ContactHandlerCode) || columns.HasId(SbmAssociation.Column.Target_Address_ContactHandlerDesc))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_ContactHandlerCode);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_LastVisitOn))
if (columns.HasId(SbmAssociation.Column.Target_Address_LastVisitOn))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_LastVisitOn);
if (columns.HasId((int)SbmAssociation.Column.Target_Address_NextVisitOn))
if (columns.HasId(SbmAssociation.Column.Target_Address_NextVisitOn))
addressTargetCols.Add(SbmDbDfn.ColumnIdx.Address_NextVisitOn);
foreach (SbmDbDfn.ColumnIdx dbColumn in addressTargetCols)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAssociation_Target_Address), prefixAssociation_Target_Address + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -2268,37 +2266,37 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Member columns
bool hasColsMember = false;
if (!hasColsMember) hasColsMember = (columns.HasId((int)SbmAssociation.Column.Member_Type) || columns.HasId((int)SbmAssociation.Column.Member_TypeDesc));
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Code);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_ExtRef);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Role);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Location);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_PhoneMain);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Email);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_Name);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_Nature);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneMain);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneAlt);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneFax);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneMobile);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_Email);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_Website);
if (!hasColsMember) hasColsMember = columns.HasId((int)SbmAssociation.Column.Member_Target_Notes);
if (!hasColsMember) hasColsMember = (columns.HasId(SbmAssociation.Column.Member_Type) || columns.HasId(SbmAssociation.Column.Member_TypeDesc));
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Code);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_ExtRef);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Role);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Location);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_PhoneMain);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Email);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_Name);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_Nature);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_PhoneMain);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_PhoneAlt);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_PhoneFax);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_PhoneMobile);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_Email);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_Website);
if (!hasColsMember) hasColsMember = columns.HasId(SbmAssociation.Column.Member_Target_Notes);
bool hasColsMemberAddress = false;
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Line1);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Line2);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_City);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Province);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Postcode);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Country);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_Line1);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_Line2);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_City);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_Province);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_Postcode);
if (!hasColsMemberAddress) hasColsMemberAddress = columns.HasId(SbmAssociation.Column.Member_Target_Address_Country);
// Delivery address columns are for association import only and are only referenced here in case this rule changes.
bool hasColdeliveryAddress = false;
if (!hasColdeliveryAddress) hasColdeliveryAddress = columns.HasId((int)SbmAssociation.Column.Target_DeliveryAddress_Postcode);
if (!hasColdeliveryAddress) hasColdeliveryAddress = columns.HasId((int)SbmAssociation.Column.Target_DeliveryAddress_AccountManagerCode);
if (!hasColdeliveryAddress) hasColdeliveryAddress = columns.HasId((int)SbmAssociation.Column.Target_DeliveryAddress_ContactAreaCode);
if (!hasColdeliveryAddress) hasColdeliveryAddress = columns.HasId(SbmAssociation.Column.Target_DeliveryAddress_Postcode);
if (!hasColdeliveryAddress) hasColdeliveryAddress = columns.HasId(SbmAssociation.Column.Target_DeliveryAddress_AccountManagerCode);
if (!hasColdeliveryAddress) hasColdeliveryAddress = columns.HasId(SbmAssociation.Column.Target_DeliveryAddress_ContactAreaCode);
if (hasColsMember || hasColsMemberAddress)
{
// Join to the member association - NB Use an alias to avoid clashing with the target affiliate.
@@ -2312,12 +2310,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
List<SbmDbDfn.ColumnIdx> associateMemberCols = new List<SbmDbDfn.ColumnIdx>();
//affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Id);
associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Type);
if (columns.HasId((int)SbmAssociation.Column.Member_Code)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Code);
if (columns.HasId((int)SbmAssociation.Column.Member_ExtRef)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_ExtRef);
if (columns.HasId((int)SbmAssociation.Column.Member_Role)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Role);
if (columns.HasId((int)SbmAssociation.Column.Member_Location)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Location);
if (columns.HasId((int)SbmAssociation.Column.Member_PhoneMain)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_PhoneMain);
if (columns.HasId((int)SbmAssociation.Column.Member_Email)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Email);
if (columns.HasId(SbmAssociation.Column.Member_Code)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Code);
if (columns.HasId(SbmAssociation.Column.Member_ExtRef)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_ExtRef);
if (columns.HasId(SbmAssociation.Column.Member_Role)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Role);
if (columns.HasId(SbmAssociation.Column.Member_Location)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Location);
if (columns.HasId(SbmAssociation.Column.Member_PhoneMain)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_PhoneMain);
if (columns.HasId(SbmAssociation.Column.Member_Email)) associateMemberCols.Add(SbmDbDfn.ColumnIdx.Association_Email);
foreach (SbmDbDfn.ColumnIdx dbColumn in associateMemberCols)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAssociation_Member_Association), prefixAssociation_Member_Association + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -2330,14 +2328,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Add the member affiliate columns.
List<SbmDbDfn.ColumnIdx> affiliateMemberCols = new List<SbmDbDfn.ColumnIdx>();
affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Name);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Nature)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Nature);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneMain)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneMain);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneAlt)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneAlt);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneMobile)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneMobile);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_PhoneFax)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneFax);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Email)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Email);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Website)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Website);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Notes)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Notes);
if (columns.HasId(SbmAssociation.Column.Member_Target_Nature)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Nature);
if (columns.HasId(SbmAssociation.Column.Member_Target_PhoneMain)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneMain);
if (columns.HasId(SbmAssociation.Column.Member_Target_PhoneAlt)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneAlt);
if (columns.HasId(SbmAssociation.Column.Member_Target_PhoneMobile)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneMobile);
if (columns.HasId(SbmAssociation.Column.Member_Target_PhoneFax)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_PhoneFax);
if (columns.HasId(SbmAssociation.Column.Member_Target_Email)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Email);
if (columns.HasId(SbmAssociation.Column.Member_Target_Website)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Website);
if (columns.HasId(SbmAssociation.Column.Member_Target_Notes)) affiliateMemberCols.Add(SbmDbDfn.ColumnIdx.Affiliate_Notes);
foreach (SbmDbDfn.ColumnIdx dbColumn in affiliateMemberCols)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAssociation_Member_Affiliate), prefixAssociation_Member_Affiliate + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -2352,18 +2350,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Joins.Add(joinPriceSetMemberAddress);
// Add the member address columns.
List<SbmDbDfn.ColumnIdx> addressMemberCols = new List<SbmDbDfn.ColumnIdx>();
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Line1))
if (columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Member_Target_Address_Line1))
addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Line1);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Line2))
if (columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Member_Target_Address_Line2))
addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Line2);
//addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Line3));
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Member_Target_Address_City))
if (columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Member_Target_Address_City))
addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_City);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Province))
if (columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Member_Target_Address_Province))
addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Province);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Postcode))
if (columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Member_Target_Address_Postcode))
addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Postcode);
if (columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId((int)SbmAssociation.Column.Member_Target_Address_Country))
if (columns.HasId(SbmAssociation.Column.Member_Target_Address_Summary) || columns.HasId(SbmAssociation.Column.Member_Target_Address_Country))
addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Country);
//addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Contact));
//addressMemberCols.Add(SbmDbDfn.ColumnIdx.Address_Phone));
@@ -2377,10 +2375,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Price set.
bool hasColsPriceSet = false;
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId((int)SbmAssociation.Column.PriceSet_Ref);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId((int)SbmAssociation.Column.PriceSet_Type);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId((int)SbmAssociation.Column.PriceSet_TypeDesc);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId((int)SbmAssociation.Column.PriceSet_Name);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId(SbmAssociation.Column.PriceSet_Ref);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId(SbmAssociation.Column.PriceSet_Type);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId(SbmAssociation.Column.PriceSet_TypeDesc);
if (!hasColsPriceSet) hasColsPriceSet = columns.HasId(SbmAssociation.Column.PriceSet_Name);
if (hasColsPriceSet)
{
// Join to the Price Set.
@@ -2400,17 +2398,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Associated codes.
if (columns.HasId((int)SbmAssociation.Column.SeasonalCategoryCodes) ||
columns.HasId((int)SbmAssociation.Column.SeasonalCategoryCode1) || columns.HasId((int)SbmAssociation.Column.SeasonalCategoryDesc1) ||
columns.HasId((int)SbmAssociation.Column.SeasonalCategoryCode2) || columns.HasId((int)SbmAssociation.Column.SeasonalCategoryDesc2) ||
columns.HasId((int)SbmAssociation.Column.SeasonalCategoryCode3) || columns.HasId((int)SbmAssociation.Column.SeasonalCategoryDesc3))
if (columns.HasId(SbmAssociation.Column.SeasonalCategoryCodes) ||
columns.HasId(SbmAssociation.Column.SeasonalCategoryCode1) || columns.HasId(SbmAssociation.Column.SeasonalCategoryDesc1) ||
columns.HasId(SbmAssociation.Column.SeasonalCategoryCode2) || columns.HasId(SbmAssociation.Column.SeasonalCategoryDesc2) ||
columns.HasId(SbmAssociation.Column.SeasonalCategoryCode3) || columns.HasId(SbmAssociation.Column.SeasonalCategoryDesc3))
{
//query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_SeasonalCategoryCodes));
}
//---------------------------------------------------------------
// Transaction > Sales orders.
if (columns.HasId((int)SbmAssociation.Column.Trans_LastSaleRaised))
if (columns.HasId(SbmAssociation.Column.Trans_LastSaleRaised))
{
// Last sales order opened.
String aliasAssociation_Transaction = "AssocTrn";
@@ -2423,7 +2421,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add("(" + queryTrans.BuildQuery() + ")", colAssociation_LastSaleRaised);
}
// Value of Sales Orders.
if (columns.HasId((int)SbmAssociation.Column.Trans_SalesValue_Open) && CanViewFinancials)
if (columns.HasId(SbmAssociation.Column.Trans_SalesValue_Open) && CanViewFinancials)
{
// Net open sales order value.
String aliasAssociation_Transaction = "AssocTrn";
@@ -2435,7 +2433,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
queryTrans.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_StatusCat, aliasAssociation_Transaction) + "<>'" + TransactionStatusCats.GetCodeForType(SbmTransaction.StatusCat.Closed) + "'");
query.Columns.Add("(" + queryTrans.BuildQuery() + ")", colAssociation_SalesValueOpen);
}
if (columns.HasId((int)SbmAssociation.Column.Trans_SalesValue_Cytd) && CanViewFinancials)
if (columns.HasId(SbmAssociation.Column.Trans_SalesValue_Cytd) && CanViewFinancials)
{
// Net sales order value closed this calendar year.
String aliasAssociation_Transaction = "AssocTrn";
@@ -2448,7 +2446,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
queryTrans.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Closed, aliasAssociation_Transaction) + ">=" + DbQuery.FormatDateForCondition(new DateTime(DateTime.Today.Year, 1, 1)));
query.Columns.Add("(" + queryTrans.BuildQuery() + ")", colAssociation_SalesValueCytd);
}
if (columns.HasId((int)SbmAssociation.Column.Trans_SalesValue_Lcy) && CanViewFinancials)
if (columns.HasId(SbmAssociation.Column.Trans_SalesValue_Lcy) && CanViewFinancials)
{
// Net sales order value closed last calendar year.
String aliasAssociation_Transaction = "AssocTrn";
@@ -2464,7 +2462,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//---------------------------------------------------------------
// Commodity Customer.
if (columns.HasId((int)SbmAssociation.Column.CommodityCount))
if (columns.HasId(SbmAssociation.Column.CommodityCount))
{
bool validDatabase = false;
String aliasCommodityAssociation = "aCmdAss";
@@ -16,12 +16,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Account manager - System Params.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// S y s P a r a m
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmSysParam sysParam)
{
@@ -36,13 +36,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create SysParam.
public override SbmSysParam CreateSysParam(Sbm.SysParamCategory sysparamCategory, String sysparamName)
{
return new SbmSysParam_Dbas(Internals, null, sysparamCategory, sysparamName, 0);
return new SbmSysParam_Dbas(null, sysparamCategory, sysparamName, 0);
}
private SbmSysParam_Dbas CreateSysParam(SysParam_Db dbSysParam)
{
ClearErrorState();
SbmSysParam_Dbas sysparam = new SbmSysParam_Dbas(Internals, new SysId(dbSysParam._Id), (Sbm.SysParamCategory)dbSysParam._Cat, dbSysParam._Name, (ushort)dbSysParam._Flags);
SbmSysParam_Dbas sysparam = new SbmSysParam_Dbas(new SysId(dbSysParam._Id), (Sbm.SysParamCategory)dbSysParam._Cat, dbSysParam._Name, (ushort)dbSysParam._Flags);
PopulateFrom(dbSysParam, sysparam);
return sysparam;
}
@@ -474,28 +474,28 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SysParam), aliasSysParam);
// SysParam Properties - add columns as defined in query list.
if (columns.HasId((int)SbmSysParam.Column.Id))
if (columns.HasId(SbmSysParam.Column.Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Id, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.Category))
if (columns.HasId(SbmSysParam.Column.Category))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Cat, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.Name))
if (columns.HasId(SbmSysParam.Column.Name))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Name, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.Value))
if (columns.HasId(SbmSysParam.Column.Value))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Value, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.AffIdOwner))
if (columns.HasId(SbmSysParam.Column.AffIdOwner))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdOwner, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.AffIdTarget))
if (columns.HasId(SbmSysParam.Column.AffIdTarget))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdTarget, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.AssocId))
if (columns.HasId(SbmSysParam.Column.AssocId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AssocId, aliasSysParam));
// Common Properties
/*if (columns.HasId((int)SbmSysParam.Column.Notes))
/*if (columns.HasId(SbmSysParam.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Notes, aliasSysParam));*/
if (columns.HasId((int)SbmSysParam.Column.Status) || columns.HasId((int)SbmSysParam.Column.Status_Desc) || columns.HasId((int)SbmSysParam.Column.Status_Ind))
if (columns.HasId(SbmSysParam.Column.Status) || columns.HasId(SbmSysParam.Column.Status_Desc) || columns.HasId(SbmSysParam.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Status, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.CreateOn_Date))
if (columns.HasId(SbmSysParam.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_CreateOn, aliasSysParam));
if (columns.HasId((int)SbmSysParam.Column.UpdateOn_Date))
if (columns.HasId(SbmSysParam.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_UpdateOn, aliasSysParam));
//---------------------------------------------------------------------
@@ -15,12 +15,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Account manager - System Accounts.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// S y s t e m A c c o u n t s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmSystemAccount systemAccount)
{
@@ -32,7 +32,23 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// Create SystemAccount.
// Associated data.
public override bool SystemAccountHasUsers(SysId systemAccountId)
{
if (!SysId.IsValid(systemAccountId)) return false;
String table = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser);
if (Database.TableExists(table))
{
String column = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId);
List<String> filters = new List<String>();
filters.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId)}={SysId.ToLong(systemAccountId)}");
return Database.GetRowCount(table, filters.Concat(" AND ", "(", ")")) > 0;
}
return false;
}
//-------------------------------------------------------------------
// Create Item.
public override SbmSystemAccount CreateSystemAccount(Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId assocId)
{
ClearErrorState();
@@ -40,7 +56,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SysId.IsValid(AffiliateId_Owner))
{
if (systemAccountType > 0)
systemAccount = new SbmSystemAccount_Dbas(Internals, new SysId(), AffiliateId_Owner, systemAccountType, interfaceId, assocId, 0);
systemAccount = new SbmSystemAccount_Dbas(new SysId(), AffiliateId_Owner, systemAccountType, interfaceId, assocId, 0);
else SetErrorState("Invalid account type");
}
else SetErrorState("Owner not selected");
@@ -49,7 +65,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
private SbmSystemAccount_Dbas CreateSystemAccount(SystemAccount_Db dbSystemAccount)
{
ClearErrorState();
SbmSystemAccount_Dbas systemAccount = new SbmSystemAccount_Dbas(Internals, new SysId(dbSystemAccount._Id), new SysId(dbSystemAccount._AffIdOwner), (Sbm.SystemAccountType)dbSystemAccount._Type, new SysId(dbSystemAccount._InterfaceId), new SysId(dbSystemAccount._AssocId), (ushort)dbSystemAccount._Flags);
SbmSystemAccount_Dbas systemAccount = new SbmSystemAccount_Dbas(new SysId(dbSystemAccount._Id), new SysId(dbSystemAccount._AffIdOwner), (Sbm.SystemAccountType)dbSystemAccount._Type, new SysId(dbSystemAccount._InterfaceId), new SysId(dbSystemAccount._AssocId), (ushort)dbSystemAccount._Flags);
PopulateFrom(dbSystemAccount, systemAccount);
return systemAccount;
}
@@ -508,20 +524,20 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// SystemAccount Properties - add columns as defined in query list.
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemAccount));
if (columns.HasId((int)SbmSystemAccount.Column.Type_Desc))
if (columns.HasId(SbmSystemAccount.Column.Type_Desc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Type));
if (columns.HasId((int)SbmSystemAccount.Column.Code))
if (columns.HasId(SbmSystemAccount.Column.Code))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Code, aliasSystemAccount));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId, aliasSystemAccount));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_AssocId, aliasSystemAccount));
if (columns.HasId((int)SbmSystemAccount.Column.Name))
if (columns.HasId(SbmSystemAccount.Column.Name))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Name, aliasSystemAccount));
//--------------------------------------------------------------- -
// Interface.
bool hasInterfaceCols = false;
if (!hasInterfaceCols) hasInterfaceCols = columns.HasId((int)SbmSystemAccount.Column.Interface_Code);
if (!hasInterfaceCols) hasInterfaceCols = columns.HasId((int)SbmSystemAccount.Column.Interface_Caption);
if (!hasInterfaceCols) hasInterfaceCols = columns.HasId(SbmSystemAccount.Column.Interface_Code);
if (!hasInterfaceCols) hasInterfaceCols = columns.HasId(SbmSystemAccount.Column.Interface_Caption);
if (hasInterfaceCols)
{
// Join to the interface table:
@@ -539,7 +555,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// Association.
bool hasAssociationCols = false;
if (!hasAssociationCols) hasAssociationCols = columns.HasId((int)SbmSystemAccount.Column.Assoc_Status_Ind);
if (!hasAssociationCols) hasAssociationCols = columns.HasId(SbmSystemAccount.Column.Assoc_Status_Ind);
if (hasAssociationCols)
{
// Join to the Assoc table:
@@ -557,7 +573,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// Associated User.
if (columns.HasId((int)SbmSystemAccount.Column.UserCount))
if (columns.HasId(SbmSystemAccount.Column.UserCount))
{
DbQuery qryUsers = new DbQuery(Database.DbmsType);
qryUsers.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser));
@@ -568,15 +584,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// Common Properties
if (columns.HasId((int)SbmSystemAccount.Column.Notes))
if (columns.HasId(SbmSystemAccount.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Notes, aliasSystemAccount));
if (columns.HasId((int)SbmSystemAccount.Column.Flag))
if (columns.HasId(SbmSystemAccount.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Flags, aliasSystemAccount));
if (columns.HasId((int)SbmSystemAccount.Column.Status) || columns.HasId((int)SbmSystemAccount.Column.Status_Desc) || columns.HasId((int)SbmSystemAccount.Column.Status_Ind))
if (columns.HasId(SbmSystemAccount.Column.Status) || columns.HasId(SbmSystemAccount.Column.Status_Desc) || columns.HasId(SbmSystemAccount.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Status, aliasSystemAccount));
if (columns.HasId((int)SbmSystemAccount.Column.CreateOn_Date))
if (columns.HasId(SbmSystemAccount.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_CreateOn, aliasSystemAccount));
if (columns.HasId((int)SbmSystemAccount.Column.UpdateOn_Date))
if (columns.HasId(SbmSystemAccount.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_UpdateOn, aliasSystemAccount));
//---------------------------------------------------------------------
@@ -15,12 +15,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Account manager - System Account Users.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// S y s t em A c c o u n t U s e r s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmSystemAccountUser systemAccountUser)
{
@@ -36,13 +36,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
public override SbmSystemAccountUser CreateSystemAccountUser(SysId accountId, SysId userId)
{
ClearErrorState();
SbmSystemAccountUser systemAccountUser = new SbmSystemAccountUser_Dbas(Internals, accountId, userId, 0);
SbmSystemAccountUser systemAccountUser = new SbmSystemAccountUser_Dbas(accountId, userId, 0);
return systemAccountUser;
}
private SbmSystemAccountUser_Dbas CreateSystemAccountUser(SystemAccountUser_Db dbSystemAccountUser)
{
ClearErrorState();
SbmSystemAccountUser_Dbas systemAccountUser = new SbmSystemAccountUser_Dbas(Internals, new SysId(dbSystemAccountUser._AccountId), new SysId(dbSystemAccountUser._UserId), (ushort)dbSystemAccountUser._Flags);
SbmSystemAccountUser_Dbas systemAccountUser = new SbmSystemAccountUser_Dbas(new SysId(dbSystemAccountUser._AccountId), new SysId(dbSystemAccountUser._UserId), (ushort)dbSystemAccountUser._Flags);
PopulateFrom(dbSystemAccountUser, systemAccountUser);
return systemAccountUser;
}
@@ -108,13 +108,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
dbConnection.Open();
SystemAccountUser_Db dbSystemAccountUser = new SystemAccountUser_Db(DbInfo);
PopulateTo(dbSystemAccountUser, systemAccountUser, dbUpdateInfo);
if (SystemAccountUser_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbSystemAccountUser._AccountId = SysId.ToInt(Database.GetNextId("SystemAccountUser", dbUpdateInfo));
}
dbSystemAccountUser.ExecuteInsertCommand(dbCommand);
systemAccountUser.Id = new SysId(dbSystemAccountUser._AccountId);
systemAccountUser.Changed = false;
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. {GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t")}");
}
@@ -502,11 +496,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// Account details.
if (columns.HasId((int)SbmSystemAccountUser.Column.AccountId))
if (columns.HasId(SbmSystemAccountUser.Column.AccountId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccountUser));
bool colRequired_Account_Code = (columns.HasId((int)SbmSystemAccountUser.Column.Account_Code));
bool colRequired_Account_Name = (columns.HasId((int)SbmSystemAccountUser.Column.Account_Name));
bool colRequired_Account_Code = (columns.HasId(SbmSystemAccountUser.Column.Account_Code));
bool colRequired_Account_Name = (columns.HasId(SbmSystemAccountUser.Column.Account_Name));
if (colRequired_Account_Code || colRequired_Account_Name)
{
// Join to the system Account table.
@@ -526,12 +520,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// User details.
if (columns.HasId((int)SbmSystemAccountUser.Column.UserId))
if (columns.HasId(SbmSystemAccountUser.Column.UserId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemAccountUser));
bool colRequired_User_Code = (columns.HasId((int)SbmSystemAccountUser.Column.User_Code));
bool colRequired_User_Email = (columns.HasId((int)SbmSystemAccountUser.Column.User_Contact_Email));
bool colRequired_User_Name = (columns.HasId((int)SbmSystemAccountUser.Column.User_Contact_Name));
bool colRequired_User_Code = (columns.HasId(SbmSystemAccountUser.Column.User_Code));
bool colRequired_User_Email = (columns.HasId(SbmSystemAccountUser.Column.User_Contact_Email));
bool colRequired_User_Name = (columns.HasId(SbmSystemAccountUser.Column.User_Contact_Name));
if (colRequired_User_Code || colRequired_User_Email || colRequired_User_Name)
{
// Join to the system user table.
@@ -566,15 +560,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//--------------------------------------------------------------- -
// Common Properties
if (columns.HasId((int)SbmSystemAccountUser.Column.Notes))
if (columns.HasId(SbmSystemAccountUser.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_Notes, aliasSystemAccountUser));
if (columns.HasId((int)SbmSystemAccountUser.Column.Flag))
if (columns.HasId(SbmSystemAccountUser.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_Flags, aliasSystemAccountUser));
if (columns.HasId((int)SbmSystemAccountUser.Column.Status) || columns.HasId((int)SbmSystemAccountUser.Column.Status_Desc) || columns.HasId((int)SbmSystemAccountUser.Column.Status_Ind))
if (columns.HasId(SbmSystemAccountUser.Column.Status) || columns.HasId(SbmSystemAccountUser.Column.Status_Desc) || columns.HasId(SbmSystemAccountUser.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_Status, aliasSystemAccountUser));
if (columns.HasId((int)SbmSystemAccountUser.Column.CreateOn_Date))
if (columns.HasId(SbmSystemAccountUser.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_CreateOn, aliasSystemAccountUser));
if (columns.HasId((int)SbmSystemAccountUser.Column.UpdateOn_Date))
if (columns.HasId(SbmSystemAccountUser.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UpdateOn, aliasSystemAccountUser));
//---------------------------------------------------------------------
@@ -15,12 +15,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Account manager - System Users.
//=======================================================================
partial class SbmAccountMgr_Dbas
{
//*******************************************************************
// S y s t e m U s e r s
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmSystemUser systemUser)
{
@@ -38,14 +38,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
ClearErrorState();
SbmSystemUser systemUser = null;
if (SysId.IsValid(AffiliateId_Owner))
systemUser = new SbmSystemUser_Dbas(Internals, new SysId(), AffiliateId_Owner, interfaceId, affiliateId, 0);
systemUser = new SbmSystemUser_Dbas(new SysId(), AffiliateId_Owner, interfaceId, affiliateId, 0);
else SetErrorState("Owner not selected");
return systemUser;
}
private SbmSystemUser_Dbas CreateSystemUser(SystemUser_Db dbSystemUser)
{
ClearErrorState();
SbmSystemUser_Dbas systemUser = new SbmSystemUser_Dbas(Internals, new SysId(dbSystemUser._Id), new SysId(dbSystemUser._AffIdOwner), new SysId(dbSystemUser._InterfaceId ?? 0), new SysId(dbSystemUser._AffiliateId ?? 0), (ushort)dbSystemUser._Flags);
SbmSystemUser_Dbas systemUser = new SbmSystemUser_Dbas(new SysId(dbSystemUser._Id), new SysId(dbSystemUser._AffIdOwner), new SysId(dbSystemUser._InterfaceId ?? 0), new SysId(dbSystemUser._AffiliateId ?? 0), (ushort)dbSystemUser._Flags);
PopulateFrom(dbSystemUser, systemUser);
return systemUser;
}
@@ -503,17 +503,17 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), aliasSystemUser);
// SystemUser Properties - add columns as defined in query list.
if (columns.HasId((int)SbmSystemUser.Column.Id))
if (columns.HasId(SbmSystemUser.Column.Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemUser));
if (columns.HasId((int)SbmSystemUser.Column.Code))
if (columns.HasId(SbmSystemUser.Column.Code))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Code, aliasSystemUser));
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Contact details.
bool hasCol_ContactEmail = columns.HasId((int)SbmSystemUser.Column.Contact_Email);
bool hasCol_ContactName = columns.HasId((int)SbmSystemUser.Column.Contact_Name);
bool hasCol_ContactPhoneMain = columns.HasId((int)SbmSystemUser.Column.Contact_PhoneMain);
bool hasCol_ContactPhoneMobile = columns.HasId((int)SbmSystemUser.Column.Contact_PhoneMobile);
bool hasCol_ContactEmail = columns.HasId(SbmSystemUser.Column.Contact_Email);
bool hasCol_ContactName = columns.HasId(SbmSystemUser.Column.Contact_Name);
bool hasCol_ContactPhoneMain = columns.HasId(SbmSystemUser.Column.Contact_PhoneMain);
bool hasCol_ContactPhoneMobile = columns.HasId(SbmSystemUser.Column.Contact_PhoneMobile);
if (hasCol_ContactEmail || hasCol_ContactName || hasCol_ContactPhoneMain || hasCol_ContactPhoneMobile)
{
// Join to the contact (affiliate) table.
@@ -536,7 +536,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Number of associated accounts:
if (columns.HasId((int)SbmSystemUser.Column.AccountCount))
if (columns.HasId(SbmSystemUser.Column.AccountCount))
{
DbQuery qryAccounts = new DbQuery(Database.DbmsType);
qryAccounts.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemUser_SystemAccountUser);
@@ -547,15 +547,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Common Properties
if (columns.HasId((int)SbmSystemUser.Column.Notes))
if (columns.HasId(SbmSystemUser.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Notes, aliasSystemUser));
if (columns.HasId((int)SbmSystemUser.Column.Flag))
if (columns.HasId(SbmSystemUser.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Flags, aliasSystemUser));
if (columns.HasId((int)SbmSystemUser.Column.Status) || columns.HasId((int)SbmSystemUser.Column.Status_Desc) || columns.HasId((int)SbmSystemUser.Column.Status_Ind))
if (columns.HasId(SbmSystemUser.Column.Status) || columns.HasId(SbmSystemUser.Column.Status_Desc) || columns.HasId(SbmSystemUser.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Status, aliasSystemUser));
if (columns.HasId((int)SbmSystemUser.Column.CreateOn_Date))
if (columns.HasId(SbmSystemUser.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_CreateOn, aliasSystemUser));
if (columns.HasId((int)SbmSystemUser.Column.UpdateOn_Date))
if (columns.HasId(SbmSystemUser.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_UpdateOn, aliasSystemUser));
//---------------------------------------------------------------------
@@ -7,6 +7,7 @@ using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Interfaces;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Data;
using System;
@@ -16,12 +17,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Assets.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// A s s e t
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmAsset asset)
{
@@ -34,7 +35,183 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// Data members.
// Associated data.
public override bool AssetHasProcesses(SysId assetId)
{
ClearErrorState();
if (!SysId.IsValid(assetId)) return false;
return ProcessMgr.ItemHasProcesses(new SbmItemId(Sbm.ItemType.Asset, assetId));
}
public override bool AssetHasRequirements(SysId assetId)
{
ClearErrorState();
if (!SysId.IsValid(assetId)) return false;
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_AssetId)}={assetId}";
return Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), filter) > 0;
}
public override bool AssetHasInterfaceDataItems(SysId assetId)
{
ClearErrorState();
if (!SysId.IsValid(assetId)) return false;
if (InterfaceConsole == null) return false;
return InterfaceConsole.ItemHasDataItems(new SbmItemId(Sbm.ItemType.Asset, assetId));
}
public override bool AssetHasAssociatedDetails(SysId assetId)
{
ClearErrorState();
if (!SysId.IsValid(assetId)) return false;
return DataItemMgr.HasItemLinks(Sbm.ItemType.Asset, assetId);
}
public override bool ClearAssetDependentData(SbmAsset asset, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (asset == null || !SysId.IsValid(asset.Id)) return false;
if (!HasErrorState())
{
// Remove document references.
if (ItemDocConsole != null)
{
if (!ItemDocConsole.ClearItemDocs(asset.GetItemId(), dbUpdateInfo))
SetErrorState(ItemDocConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve item document console");
}
if (!HasErrorState())
{
/* ToDo SaItemDataConsole for Remove Item Data:
SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(SessionContext);
if (itemDataConsole != null)
{
if (!itemDataConsole.ClearItemData(Sbm.ItemType.AssetCategory, Id, ""))
SetErrorState(itemDataConsole.Exception());
}
else SetErrorState("Failed to retrieve item Data Document console");
itemDataConsole = null;*/ // Do not delete this global object.
}
// Remove items data.
if (!HasErrorState())
{
if (DataItemMgr != null)
{
if (!DataItemMgr.ClearDataItem(asset.GetItemId(), dbUpdateInfo))
SetErrorState(DataItemMgr.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve Data Item manager");
}
if (!HasErrorState())
{
// Remove interface data items.
if (InterfaceConsole != null)
{
if (!InterfaceConsole.ClearInterfaceDataItems(asset.GetItemId(), dbUpdateInfo))
SetErrorState(InterfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Asset Processes.
public override List<SbmItemProcess> GetAssetProcesses(SysId assetId, bool activeOnly)
{
ClearErrorState();
List<SbmItemProcess> itemProcesses = new List<SbmItemProcess>();
itemProcesses.AddRange(ProcessMgr.GetProcessesForItem(new SbmItemId(Sbm.ItemType.Asset, assetId), activeOnly));
itemProcesses.Sort();
return itemProcesses;
}
public override bool StoreAssetProcesses(SbmAsset asset, List<SbmItemProcess> itemProcesses)
{
ClearErrorState();// Clear the existing list.
if (ProcessMgr.StoreItemProcesses(asset.GetItemId(), itemProcesses, DbUpdateInfo))
{
// Make a note of the 'Next' process.
SbmItemProcess itemProcessNext = itemProcesses.GetNextProcessInSequence(SaStatus.Awaiting);
SysId itemProcessIdNext = itemProcessNext?.ProcessId ?? new SysId();
if (asset.ProcessIdNext != itemProcessIdNext)
{
asset.ProcessIdNext = itemProcessIdNext;
if (!UpdateAsset(asset, DbUpdateInfo))
SetErrorState("Failed to update next process id - " + ErrorStateMessage);
}
}
SetErrorState(ProcessMgr.ErrorStateMessage);
return !HasErrorState();
}
public override bool PopulateAssetDefaultProcesses(SbmAsset asset)
{
ClearErrorState();
// Retrieve processes defined for Asset Category and reset identies for Asset.
List<SbmItemProcess> itemProcesses = ProcessMgr.GetProcessesForItem(new SbmItemId(Sbm.ItemType.AssetCategory, asset.AssetCategoryId), true);
foreach (SbmItemProcess itemProcess in itemProcesses)
itemProcess.ClearItemId(Sbm.ItemType.Asset, true);
// Store this list of processes against this asset.
if (!HasErrorState()) StoreAssetProcesses(asset, itemProcesses);
return !HasErrorState();
}
//-------------------------------------------------------------------
// Asset Payment for transaction.
public override bool AssetHasPrices(SysId assetId)
{
if (!SysId.IsValid(assetId)) return false;
List<SbmItemLink> itemLinks = new List<SbmItemLink>();
SbmItemLink.Params prm = new SbmItemLink.Params();
prm.ItemLinkType = Sbm.ItemLinkType.ItemPrice;
prm.ItemTypeFrom = Sbm.ItemType.Asset;
prm.ItemIdFrom = assetId;
prm.StatusCat = SbmItemLink.StatusCat.NotDeleted;
return DataItemMgr.GetItemLinkCount(prm) > 0;
}
public override List<SbmItemPrice> GetAssetPrices(SysId assetId)
{
List<SbmItemPrice> itemPrices = new List<SbmItemPrice>();
if (!SysId.IsValid(assetId)) return itemPrices;
// Query asset prices.
SbmItemLink.Params prm = new SbmItemLink.Params();
prm.ItemLinkType = Sbm.ItemLinkType.ItemPrice;
prm.ItemTypeFrom = Sbm.ItemType.Asset;
prm.ItemIdFrom = assetId;
foreach (SbmItemLink itemLink in DataItemMgr.GetItemLinkList(prm))
{
SbmItemPrice itemPrice = new SbmItemPrice(itemLink.DataContent);
itemPrice.Notes = itemLink.Notes;
itemPrice.Changed = false;
if (itemPrices == null) itemPrices = new List<SbmItemPrice>();
itemPrices.Add(itemPrice);
}
itemPrices.Sort();
return itemPrices;
}
public override bool StoreAssetPrices(SbmAsset asset, List<SbmItemPrice> itemPrices)
{
ClearErrorState();
// Do not attempt any updates unless the list has been populated:
if (!SysId.IsValid(asset.Id)) return SetErrorState("Asset has invalid Id");
// Build item links corresponding to the list of prices.
List<SbmItemLink> itemLinks = new List<SbmItemLink>();
foreach (SbmItemPrice itemPrice in itemPrices)
{
SbmItemLink itemLink = DataItemMgr.CreateItemLink(Sbm.ItemLinkType.ItemPrice, Sbm.ItemType.Asset, asset.Id, Sbm.ItemType.Unknown, new SysId(0));
if (itemLink != null)
{
itemLink.Seq = (short)itemPrice.CodeSeq;
itemLink.DataContent = itemPrice.Serialise();
itemLink.Notes = itemPrice.Notes;
itemLinks.Add(itemLink);
itemLink = null; // Now owned by the list.
}
}
// Store these details.
if (!DataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.ItemPrice, asset.GetItemId(), itemLinks, DbUpdateInfo))
SetErrorState("Failed to save asset price item links - " + DataItemMgr.ErrorStateMessage);
return !HasErrorState();
}
//-------------------------------------------------------------------
// Get Asset.
@@ -80,14 +257,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
ClearErrorState();
SbmAsset asset = null;
if (SysId.IsValid(assetCatId))
asset = new SbmAsset_Dbas(Internals, new SysId(), assetCatId, 0);
asset = new SbmAsset_Dbas(new SysId(), assetCatId, 0);
else SetErrorState("Asset Cat Id is not identified");
return asset;
}
private SbmAsset_Dbas CreateAsset(SaAsset_Db dbAsset)
{
ClearErrorState();
SbmAsset_Dbas asset = new SbmAsset_Dbas(Internals, new SysId(dbAsset._Id), new SysId(dbAsset._AssetCategoryId ?? 0), (ushort)dbAsset._Flags);
SbmAsset_Dbas asset = new SbmAsset_Dbas(new SysId(dbAsset._Id), new SysId(dbAsset._AssetCategoryId ?? 0), (ushort)dbAsset._Flags);
PopulateFrom(dbAsset, asset);
return asset;
}
@@ -119,7 +296,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SaAsset_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbAsset._Id = SysId.ToInt(Database.GetNextId("Asset", dbUpdateInfo));
dbAsset._Id = SysId.ToInt(Database.GetNextId("SaAsset", dbUpdateInfo));
}
dbAsset.ExecuteInsertCommand(dbCommand);
asset.Id = new SysId(dbAsset._Id);
@@ -483,8 +660,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Asset CategoryId.
String colSaAsset_CategoryId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset);
if (SysId.IsValid(prm.AssetCatId))
filter.Add($"{colSaAsset_CategoryId}={prm.AssetCatId.ToString()}");
if (SysId.IsValid(prm.AssetCategoryId))
filter.Add($"{colSaAsset_CategoryId}={prm.AssetCategoryId.ToString()}");
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Item Type & Id.
@@ -639,56 +816,56 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset), aliasAsset);
// Asset Properties - add columns as defined in query list.
if (columns.HasId((int)SbmAsset.Column.Id))
if (columns.HasId(SbmAsset.Column.Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.SerialNumber))
if (columns.HasId(SbmAsset.Column.SerialNumber))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.DescBrief))
if (columns.HasId(SbmAsset.Column.DescBrief))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DescBrief, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.PurchaseOn))
if (columns.HasId(SbmAsset.Column.PurchaseOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_PurchaseOn, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountPurchase))
if (columns.HasId(SbmAsset.Column.AmountPurchase))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountPurchase, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountPurchaseGross))
if (columns.HasId(SbmAsset.Column.AmountPurchaseGross))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountPurchaseGross, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.SellCategoryDesc))
if (columns.HasId(SbmAsset.Column.SellCategoryDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SellCategoryCode, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountSell))
if (columns.HasId(SbmAsset.Column.AmountSell))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountSell, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountSellGross))
if (columns.HasId(SbmAsset.Column.AmountSellGross))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountSellGross, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.SoldOn))
if (columns.HasId(SbmAsset.Column.SoldOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SoldOn, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountSold))
if (columns.HasId(SbmAsset.Column.AmountSold))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountSold, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.DisposeCode))
if (columns.HasId(SbmAsset.Column.DisposeCode))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DisposeCode, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.DisposeOn))
if (columns.HasId(SbmAsset.Column.DisposeOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DisposeOn, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.DueBackOn))
if (columns.HasId(SbmAsset.Column.DueBackOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DueBackOn, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountRentalCost))
if (columns.HasId(SbmAsset.Column.AmountRentalCost))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountRentalCost, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.AmountRentalPrice))
if (columns.HasId(SbmAsset.Column.AmountRentalPrice))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountRentalPrice, aliasAsset));
// Common Properties
if (columns.HasId((int)SbmAsset.Column.Notes))
if (columns.HasId(SbmAsset.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Notes, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.Flag))
if (columns.HasId(SbmAsset.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Flags, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.Status) || columns.HasId((int)SbmAsset.Column.Status_Desc) || columns.HasId((int)SbmAsset.Column.Status_Ind))
if (columns.HasId(SbmAsset.Column.Status) || columns.HasId(SbmAsset.Column.Status_Desc) || columns.HasId(SbmAsset.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Status, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.CreateOn_Date))
if (columns.HasId(SbmAsset.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_CreateOn, aliasAsset));
if (columns.HasId((int)SbmAsset.Column.UpdateOn_Date))
if (columns.HasId(SbmAsset.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_UpdateOn, aliasAsset));
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Asset category.
bool hasAssetCategoryCols = false;
if (!hasAssetCategoryCols) hasAssetCategoryCols = columns.HasId((int)SbmAsset.Column.Category_Type_Desc);
if (!hasAssetCategoryCols) hasAssetCategoryCols = columns.HasId((int)SbmAsset.Column.Category_Code);
if (!hasAssetCategoryCols) hasAssetCategoryCols = columns.HasId((int)SbmAsset.Column.Category_DescBrief);
if (!hasAssetCategoryCols) hasAssetCategoryCols = columns.HasId(SbmAsset.Column.Category_Type_Desc);
if (!hasAssetCategoryCols) hasAssetCategoryCols = columns.HasId(SbmAsset.Column.Category_Code);
if (!hasAssetCategoryCols) hasAssetCategoryCols = columns.HasId(SbmAsset.Column.Category_DescBrief);
if (hasAssetCategoryCols)
{
DbQueryJoin joinAssetCat = new DbQueryJoin(DbJoinType.LeftOuter);
@@ -710,15 +887,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Vehicle & Vehicle Class.
bool hasVehicleCols = false;
bool hasVehClassCols = false;
if (!hasVehicleCols) hasVehicleCols = columns.HasId((int)SbmAsset.Column.Vehicle_RegNumber);
if (!hasVehicleCols) hasVehicleCols = columns.HasId((int)SbmAsset.Column.Vehicle_Vin);
if (!hasVehicleCols) hasVehicleCols = columns.HasId((int)SbmAsset.Column.Vehicle_KeyLocation);
if (!hasVehicleCols) hasVehicleCols = columns.HasId((int)SbmAsset.Column.Vehicle_Flags);
if (!hasVehicleCols) hasVehicleCols = columns.HasId((int)SbmAsset.Column.Vehicle_HpiAlert);
if (!hasVehClassCols) hasVehClassCols = columns.HasId((int)SbmAsset.Column.VehicleClass_MakeDesc);
if (!hasVehClassCols) hasVehClassCols = columns.HasId((int)SbmAsset.Column.VehicleClass_Model);
if (!hasVehClassCols) hasVehClassCols = columns.HasId((int)SbmAsset.Column.VehicleClass_Derivative);
if (!hasVehClassCols) hasVehClassCols = columns.HasId((int)SbmAsset.Column.VehicleClass_DescBrief);
if (!hasVehicleCols) hasVehicleCols = columns.HasId(SbmAsset.Column.Vehicle_RegNumber);
if (!hasVehicleCols) hasVehicleCols = columns.HasId(SbmAsset.Column.Vehicle_Vin);
if (!hasVehicleCols) hasVehicleCols = columns.HasId(SbmAsset.Column.Vehicle_KeyLocation);
if (!hasVehicleCols) hasVehicleCols = columns.HasId(SbmAsset.Column.Vehicle_Flags);
if (!hasVehicleCols) hasVehicleCols = columns.HasId(SbmAsset.Column.Vehicle_HpiAlert);
if (!hasVehClassCols) hasVehClassCols = columns.HasId(SbmAsset.Column.VehicleClass_MakeDesc);
if (!hasVehClassCols) hasVehClassCols = columns.HasId(SbmAsset.Column.VehicleClass_Model);
if (!hasVehClassCols) hasVehClassCols = columns.HasId(SbmAsset.Column.VehicleClass_Derivative);
if (!hasVehClassCols) hasVehClassCols = columns.HasId(SbmAsset.Column.VehicleClass_DescBrief);
if (hasVehicleCols || hasVehClassCols)
{
// Join to the vehicle table.
@@ -729,9 +906,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Add the Vehicle columns.
List<SbmDbDfn.ColumnIdx> dbVehicleColumns = new List<SbmDbDfn.ColumnIdx>();
dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_Id);
if (columns.HasId((int)SbmAsset.Column.Vehicle_RegNumber)) dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber);
if (columns.HasId((int)SbmAsset.Column.Vehicle_Vin)) dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_VIN);
if (columns.HasId((int)SbmAsset.Column.Vehicle_KeyLocation)) dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_KeyLocation);
if (columns.HasId(SbmAsset.Column.Vehicle_RegNumber)) dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber);
if (columns.HasId(SbmAsset.Column.Vehicle_Vin)) dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_VIN);
if (columns.HasId(SbmAsset.Column.Vehicle_KeyLocation)) dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_KeyLocation);
dbVehicleColumns.Add(SbmDbDfn.ColumnIdx.SaVehicle_Flags);
foreach (SbmDbDfn.ColumnIdx dbColumn in dbVehicleColumns)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAsset_Vehicle), prefixAsset_Vehicle + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -745,10 +922,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Add the Vehicle Class columns.
List<SbmDbDfn.ColumnIdx> dbVehicleClassColumns = new List<SbmDbDfn.ColumnIdx>();
dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Id);
if (columns.HasId((int)SbmAsset.Column.VehicleClass_MakeDesc)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode);
if (columns.HasId((int)SbmAsset.Column.VehicleClass_Model)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Model);
if (columns.HasId((int)SbmAsset.Column.VehicleClass_Derivative)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative);
if (columns.HasId((int)SbmAsset.Column.VehicleClass_DescBrief)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief);
if (columns.HasId(SbmAsset.Column.VehicleClass_MakeDesc)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode);
if (columns.HasId(SbmAsset.Column.VehicleClass_Model)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Model);
if (columns.HasId(SbmAsset.Column.VehicleClass_Derivative)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative);
if (columns.HasId(SbmAsset.Column.VehicleClass_DescBrief)) dbVehicleClassColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief);
//lCol.Insert (eSaDbColSaVehicleClass_Flags);
foreach (SbmDbDfn.ColumnIdx dbColumn in dbVehicleClassColumns)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAsset_VehicleClass), prefixAsset_VehicleClass + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -757,7 +934,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Next process.
if (columns.HasId((int)SbmAsset.Column.NextProcess_DescBrief))
if (columns.HasId(SbmAsset.Column.NextProcess_DescBrief))
{
// Join to the process table (for the definition of the asset category process):
DbQueryJoin joinProcess = new DbQueryJoin(DbJoinType.LeftOuter);
@@ -770,7 +947,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
foreach (SbmDbDfn.ColumnIdx dbColumn in dbProcessColumns)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAsset_AssetProcess), prefixAsset_AssetProcess + SbmDbDfn.GetColumnName(dbColumn, false));
}
if (columns.HasId((int)SbmAsset.Column.NextProcess_Expected))
if (columns.HasId(SbmAsset.Column.NextProcess_Expected))
{
// Join to the Item Link table to get information about this asset's process:
DbQueryJoin joinItemLink = new DbQueryJoin(DbJoinType.LeftOuter);
@@ -7,6 +7,7 @@ using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.Interfaces;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Data;
using System;
@@ -16,12 +17,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Asset Categories.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// A s s e t C a t e g o r y
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmAssetCategory assetCategory)
{
@@ -34,34 +35,72 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//-------------------------------------------------------------------
// Has AssetCategory.
public bool HasAssetCategoryType(Sbm.AssetType assetType, bool activeOnly)
{
SbmAssetCategory.Params prm = new SbmAssetCategory.Params
{
AssetType = assetType,
RestrictToActive = activeOnly
};
return HasAssetCategory(prm);
}
public bool HasAssetCategory(SbmAssetCategory.Params prm)
// Associated data.
public override bool AssetCategoryHasProcesses(SysId assetCategoryId)
{
ClearErrorState();
if (Database != null)
if (!SysId.IsValid(assetCategoryId)) return SetErrorState("invalid item");
return ProcessMgr.ItemHasProcesses(new SbmItemId(Sbm.ItemType.AssetCategory, assetCategoryId));
}
public override bool ClearAssetCategoryDependentData(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (assetCategory == null || !SysId.IsValid(assetCategory.Id)) return SetErrorState("Invalid item");
ItemId itemId = assetCategory.GetItemId();
if (!HasErrorState())
{
if (Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory)))
// Remove document references.
if (ItemDocConsole != null)
{
String filter = GetAssetCategoryQueryFilter(prm).Concat(" AND ", "(", ")");
Database.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory), /*SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetCategory_Id), 0,*/ filter);
if (!ItemDocConsole.ClearItemDocs(itemId, dbUpdateInfo))
SetErrorState(ItemDocConsole.ErrorStateMessage);
}
else SetErrorState(Database.ErrorStateMessage);
else SetErrorState("Failed to retrieve item document console");
}
return false;
if (!HasErrorState())
{
// Remove Item Data.
if (ItemDataConsole != null)
{
if (!ItemDataConsole.ClearItemData(itemId, dbUpdateInfo))
SetErrorState(ItemDataConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve item Data console");
}
if (!HasErrorState())
{
// Remove interface data items:
if (InterfaceConsole != null)
{
if (!InterfaceConsole.ClearInterfaceDataItems(itemId, dbUpdateInfo))
SetErrorState(InterfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
}
return !HasErrorState();
}
//-------------------------------------------------------------------
// Get AssetCategory.
// Item processes.
public override List<SbmItemProcess> GetAssetCategoryProcesses(SysId assetCategoryId, bool activeOnly)
{
ClearErrorState();
List<SbmItemProcess> itemProceses = new List<SbmItemProcess>();
if (!SysId.IsValid(assetCategoryId)) return itemProceses;
return ProcessMgr.GetProcessesForItem(new SbmItemId(Sbm.ItemType.AssetCategory, assetCategoryId), activeOnly);
}
public override bool StoreAssetCategoryProcesses(SbmAssetCategory assetCategory, List<SbmItemProcess> itemProcesses, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!ProcessMgr.UpdateProcessesForItem(assetCategory.GetItemId(), itemProcesses, dbUpdateInfo))
SetErrorState(ProcessMgr.ErrorStateMessage);
return !HasErrorState();
}
//-------------------------------------------------------------------
// Get Item.
public override SbmAssetCategory GetAssetCategory(SbmAssetCategory.Params prm)
{
return GetAssetCategory(GetAssetCategoryQueryFilter(prm).Concat(" AND ", "(", ")"));
@@ -146,13 +185,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
SetErrorState("Asset type not identified");
return assetCategory;
}
assetCategory = new SbmAssetCategory_Dbas(Internals, null, AffiliateId_Owner, assetType, 0);
assetCategory = new SbmAssetCategory_Dbas(null, AffiliateId_Owner, assetType, 0);
return assetCategory;
}
private SbmAssetCategory_Dbas CreateAssetCategory(SaAssetCategory_Db dbAssetCategory)
{
ClearErrorState();
SbmAssetCategory_Dbas assetCategory = new SbmAssetCategory_Dbas(Internals, new SysId(dbAssetCategory._Id), new SysId(dbAssetCategory._AffIdOwner), (Sbm.AssetType)dbAssetCategory._AssetType, (ushort)dbAssetCategory._Flags);
SbmAssetCategory_Dbas assetCategory = new SbmAssetCategory_Dbas(new SysId(dbAssetCategory._Id), new SysId(dbAssetCategory._AffIdOwner), (Sbm.AssetType)dbAssetCategory._AssetType, (ushort)dbAssetCategory._Flags);
PopulateFrom(dbAssetCategory, assetCategory);
return assetCategory;
}
@@ -184,7 +223,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SaAssetCategory_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbAssetCategory._Id = SysId.ToInt(Database.GetNextId("AssetCategory", dbUpdateInfo));
dbAssetCategory._Id = SysId.ToInt(Database.GetNextId("SaAssetCategory", dbUpdateInfo));
}
dbAssetCategory.ExecuteInsertCommand(dbCommand);
assetCategory.Id = new SysId(dbAssetCategory._Id);
@@ -451,7 +490,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Asset Category Type.
String colSaAssetCategory_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, AliasAssetCategory);
if (prm.AssetType > 0)
filter.Add($"{colSaAssetCategory_Type}='{(int)prm.AssetType}");
filter.Add($"{colSaAssetCategory_Type}={(int)prm.AssetType}");
// Partial Code.
String code = DbQuery.FormatForCondition(prm.CodePartial);
@@ -467,8 +506,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Status.
String colAssetCategory_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Status, AliasAssetCategory);
if (prm.RestrictToActive)
if (prm.StatusCat == SbmAssetCategory.StatusCat.ActiveOnly)
filter.Add($"{colAssetCategory_Status}='{StatusActive}'");
else if (prm.StatusCat == SbmAssetCategory.StatusCat.NotDeleted)
filter.Add($"{colAssetCategory_Status}!='{StatusDeleted}'");
else if (prm.StatusCat == SbmAssetCategory.StatusCat.Deleted)
filter.Add($"{colAssetCategory_Status}='{StatusDeleted}'");
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
return filter;
@@ -16,12 +16,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Asset Processes.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// A s s e t C a t e g o r y
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmAssetProcess assetProcess)
{
@@ -80,14 +80,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
ClearErrorState();
SbmAssetProcess assetProcess = null;
if (assetType > 0)
assetProcess = new SbmAssetProcess_Dbas(Internals, new SysId(), null, AffiliateId_Owner, 0);
assetProcess = new SbmAssetProcess_Dbas(new SysId(), null, AffiliateId_Owner, 0);
else SetErrorState("Asset type not identified");
return assetProcess;
}
private SbmAssetProcess_Dbas CreateAssetProcess(SaAssetProcess_Db dbAssetProcess)
{
ClearErrorState();
SbmAssetProcess_Dbas assetProcess = new SbmAssetProcess_Dbas(Internals, new SysId(dbAssetProcess._Id), new SysId(dbAssetProcess._AssetId ?? 0), new SysId(dbAssetProcess._ProcessId ?? 0), (ushort)dbAssetProcess._Flags);
SbmAssetProcess_Dbas assetProcess = new SbmAssetProcess_Dbas(new SysId(dbAssetProcess._Id), new SysId(dbAssetProcess._AssetId ?? 0), new SysId(dbAssetProcess._ProcessId ?? 0), (ushort)dbAssetProcess._Flags);
PopulateFrom(dbAssetProcess, assetProcess);
return assetProcess;
}
@@ -119,7 +119,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SaAssetProcess_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbAssetProcess._Id = SysId.ToInt(Database.GetNextId("AssetProcess", dbUpdateInfo));
dbAssetProcess._Id = SysId.ToInt(Database.GetNextId("SaAssetProcess", dbUpdateInfo));
}
dbAssetProcess.ExecuteInsertCommand(dbCommand);
assetProcess.Id = new SysId(dbAssetProcess._Id);
@@ -446,29 +446,29 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess), aliasAssetProcess);
// AssetProcess Properties - add columns as defined in query list.
if (columns.HasId((int)SbmAssetProcess.Column.AssetId))
if (columns.HasId(SbmAssetProcess.Column.AssetId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.Seq))
if (columns.HasId(SbmAssetProcess.Column.Seq))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Seq, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.ProcessId))
if (columns.HasId(SbmAssetProcess.Column.ProcessId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessId, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.RequiredOn))
if (columns.HasId(SbmAssetProcess.Column.RequiredOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_RequiredOn, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.ExpectedOn))
if (columns.HasId(SbmAssetProcess.Column.ExpectedOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_ExpectedOn, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.ProcessedOn))
if (columns.HasId(SbmAssetProcess.Column.ProcessedOn))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessedOn, aliasAssetProcess));
// Common Properties
if (columns.HasId((int)SbmAssetProcess.Column.Notes))
if (columns.HasId(SbmAssetProcess.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Notes, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.Flag))
if (columns.HasId(SbmAssetProcess.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Flags, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.Status) || columns.HasId((int)SbmAssetProcess.Column.Status_Desc) || columns.HasId((int)SbmAssetProcess.Column.Status_Ind))
if (columns.HasId(SbmAssetProcess.Column.Status) || columns.HasId(SbmAssetProcess.Column.Status_Desc) || columns.HasId(SbmAssetProcess.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Status, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.CreateOn_Date))
if (columns.HasId(SbmAssetProcess.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_CreateOn, aliasAssetProcess));
if (columns.HasId((int)SbmAssetProcess.Column.UpdateOn_Date))
if (columns.HasId(SbmAssetProcess.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_UpdateOn, aliasAssetProcess));
//---------------------------------------------------------------------
@@ -17,12 +17,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Asset Vehicles.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// V e h i c l e
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmVehicle vehicle)
{
@@ -117,7 +117,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SaVehicle_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbVehicle._Id = SysId.ToInt(Database.GetNextId("Vehicle", dbUpdateInfo));
dbVehicle._Id = SysId.ToInt(Database.GetNextId("SaVehicle", dbUpdateInfo));
}
dbVehicle.ExecuteInsertCommand(dbCommand);
vehicle.Id = new SysId(dbVehicle._Id);
@@ -667,32 +667,32 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Vehicle Properties - add columns as defined in query list.
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.RegNumberPrev))
if (columns.HasId(SbmVehicle.Column.RegNumberPrev))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumberPrev, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.Vin))
if (columns.HasId(SbmVehicle.Column.Vin))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.CapCode))
if (columns.HasId(SbmVehicle.Column.CapCode))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CapCode, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.KeyNumber))
if (columns.HasId(SbmVehicle.Column.KeyNumber))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_KeyNumber, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.KeyLocation))
if (columns.HasId(SbmVehicle.Column.KeyLocation))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_KeyLocation, aliasVehicle));
//---------------------------------------------------------------
// Vehicle Category.
bool hasVehicleClassCols = false;
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_MakeCode);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_MakeDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_Model);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_Derivative);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_DescBrief);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_Type);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_TypeDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_CategoryCode);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_CategoryDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_FuelTypeDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_OdometerUnitsDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId((int)SbmVehicle.Column.VehicleClass_Notes);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_MakeCode);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_MakeDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_Model);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_Derivative);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_DescBrief);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_Type);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_TypeDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_CategoryCode);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_CategoryDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_FuelTypeDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_OdometerUnitsDesc);
if (!hasVehicleClassCols) hasVehicleClassCols = columns.HasId(SbmVehicle.Column.VehicleClass_Notes);
if (hasVehicleClassCols)
{
DbQueryJoin joinVehCat = new DbQueryJoin(DbJoinType.LeftOuter);
@@ -703,13 +703,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
List<SbmDbDfn.ColumnIdx> dbColumns = new List<SbmDbDfn.ColumnIdx>();
dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode);
dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Model);
if (columns.HasId((int)SbmVehicle.Column.VehicleClass_Derivative)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative);
if (columns.HasId((int)SbmVehicle.Column.VehicleClass_DescBrief)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief);
if (columns.HasId(SbmVehicle.Column.VehicleClass_Derivative)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative);
if (columns.HasId(SbmVehicle.Column.VehicleClass_DescBrief)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief);
dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleType);
dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleCategoryCode);
if (columns.HasId((int)SbmVehicle.Column.VehicleClass_FuelTypeDesc)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_FuelType);
if (columns.HasId((int)SbmVehicle.Column.VehicleClass_OdometerUnitsDesc)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_OdometerUnits);
if (columns.HasId((int)SbmVehicle.Column.VehicleClass_Notes)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Notes);
if (columns.HasId(SbmVehicle.Column.VehicleClass_FuelTypeDesc)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_FuelType);
if (columns.HasId(SbmVehicle.Column.VehicleClass_OdometerUnitsDesc)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_OdometerUnits);
if (columns.HasId(SbmVehicle.Column.VehicleClass_Notes)) dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Notes);
dbColumns.Add(SbmDbDfn.ColumnIdx.SaVehicleClass_Flags);
foreach (SbmDbDfn.ColumnIdx dbColumn in dbColumns)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasVehicle_VehicleClass), prefixVehicle_VehicleClass + SbmDbDfn.GetColumnName(dbColumn, false));
@@ -719,7 +719,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Event count.
if (Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent)))
{
bool countVehicles = columns.HasId((int)SbmVehicle.Column.EventCount);
bool countVehicles = columns.HasId(SbmVehicle.Column.EventCount);
if (countVehicles)
{
// Build sub query to directly return the number of associated Events:
@@ -733,7 +733,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//---------------------------------------------------------------
// Feature count.
bool bCountFeatures = columns.HasId((int)SbmVehicle.Column.FeatureCount);
bool bCountFeatures = columns.HasId(SbmVehicle.Column.FeatureCount);
if (bCountFeatures)
{
if (Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature)))
@@ -750,7 +750,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// HpiCheck count.
bool bCountHpiChecks = columns.HasId((int)SbmVehicle.Column.HpiCheckCount);
bool bCountHpiChecks = columns.HasId(SbmVehicle.Column.HpiCheckCount);
if (bCountHpiChecks)
{
SaItemDataConsole itemDataConsole = Internals.ItemDataConsole;
@@ -769,15 +769,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
}
// Common Properties
if (columns.HasId((int)SbmVehicle.Column.Notes))
if (columns.HasId(SbmVehicle.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Notes, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.Flag))
if (columns.HasId(SbmVehicle.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Flags, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.Status) || columns.HasId((int)SbmVehicle.Column.Status_Desc) || columns.HasId((int)SbmVehicle.Column.Status_Ind))
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((int)SbmVehicle.Column.CreateOn_Date))
if (columns.HasId(SbmVehicle.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CreateOn, aliasVehicle));
if (columns.HasId((int)SbmVehicle.Column.UpdateOn_Date))
if (columns.HasId(SbmVehicle.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_UpdateOn, aliasVehicle));
//---------------------------------------------------------------
@@ -17,14 +17,11 @@ using System.Text.RegularExpressions;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Vehicle Classes.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// V e h i c l e C l a s s
//*******************************************************************
// Data members.
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmVehicleClass vehicleClass)
@@ -210,7 +207,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SaVehicleClass_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbVehicleClass._Id = SysId.ToInt(Database.GetNextId("VehicleClass", dbUpdateInfo));
dbVehicleClass._Id = SysId.ToInt(Database.GetNextId("SaVehicleClass", dbUpdateInfo));
}
dbVehicleClass.ExecuteInsertCommand(dbCommand);
vehicleClass.Id = new SysId(dbVehicleClass._Id);
@@ -671,49 +668,49 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// VehicleClass Properties - add columns as defined in query list.
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicleClass));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.Model))
if (columns.HasId(SbmVehicleClass.Column.Model))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Model, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.Derivative))
if (columns.HasId(SbmVehicleClass.Column.Derivative))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.DescBrief))
if (columns.HasId(SbmVehicleClass.Column.DescBrief))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.VehicleType) || columns.HasId((int)SbmVehicleClass.Column.VehicleTypeDesc))
if (columns.HasId(SbmVehicleClass.Column.VehicleType) || columns.HasId(SbmVehicleClass.Column.VehicleTypeDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleType, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.VehicleCategoryCode) || columns.HasId((int)SbmVehicleClass.Column.VehicleCategoryDesc))
if (columns.HasId(SbmVehicleClass.Column.VehicleCategoryCode) || columns.HasId(SbmVehicleClass.Column.VehicleCategoryDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleCategoryCode, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.FuelTypeDesc))
if (columns.HasId(SbmVehicleClass.Column.FuelTypeDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_FuelType, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.OdometerUnitsDesc))
if (columns.HasId(SbmVehicleClass.Column.OdometerUnitsDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_OdometerUnits, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.Seats))
if (columns.HasId(SbmVehicleClass.Column.Seats))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Seats, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.InsuranceCode) || columns.HasId((int)SbmVehicleClass.Column.InsuranceDesc))
if (columns.HasId(SbmVehicleClass.Column.InsuranceCode) || columns.HasId(SbmVehicleClass.Column.InsuranceDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_InsuranceCode, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.FirstServiceOdo))
if (columns.HasId(SbmVehicleClass.Column.FirstServiceOdo))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_FirstServiceOdo, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.ServiceOdo))
if (columns.HasId(SbmVehicleClass.Column.ServiceOdo))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_ServiceOdo, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.ServiceWeeks))
if (columns.HasId(SbmVehicleClass.Column.ServiceWeeks))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_ServiceWeeks, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.Weight)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Weight, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.AmountRentalCost))
if (columns.HasId(SbmVehicleClass.Column.Weight)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Weight, aliasVehicleClass));
if (columns.HasId(SbmVehicleClass.Column.AmountRentalCost))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_AmountRentalCost, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.RentalCostUomDesc))
if (columns.HasId(SbmVehicleClass.Column.RentalCostUomDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_UomIdRentalCost, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.AmountRentalPrice))
if (columns.HasId(SbmVehicleClass.Column.AmountRentalPrice))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_AmountRentalPrice, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.RentalPriceUomDesc))
if (columns.HasId(SbmVehicleClass.Column.RentalPriceUomDesc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_UomIdRentalPrice, aliasVehicleClass));
// Common Properties
if (columns.HasId((int)SbmVehicleClass.Column.Notes))
if (columns.HasId(SbmVehicleClass.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Notes, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.Flag))
if (columns.HasId(SbmVehicleClass.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Flags, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.Status) || columns.HasId((int)SbmVehicleClass.Column.Status_Desc) || columns.HasId((int)SbmVehicleClass.Column.Status_Ind))
if (columns.HasId(SbmVehicleClass.Column.Status) || columns.HasId(SbmVehicleClass.Column.Status_Desc) || columns.HasId(SbmVehicleClass.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Status, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.CreateOn_Date))
if (columns.HasId(SbmVehicleClass.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_CreateOn, aliasVehicleClass));
if (columns.HasId((int)SbmVehicleClass.Column.UpdateOn_Date))
if (columns.HasId(SbmVehicleClass.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_UpdateOn, aliasVehicleClass));
//---------------------------------------------------------------------
@@ -16,12 +16,12 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Vehicle Events.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// V e h i c l e E v e n t
//*******************************************************************
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmVehicleEvent vehicleEvent)
{
@@ -119,7 +119,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (SaVehicleEvent_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbVehicleEvent._Id = SysId.ToInt(Database.GetNextId("VehicleEvent", dbUpdateInfo));
dbVehicleEvent._Id = SysId.ToInt(Database.GetNextId("SaVehicleEvent", dbUpdateInfo));
}
dbVehicleEvent.ExecuteInsertCommand(dbCommand);
vehicleEvent.Id = new SysId(dbVehicleEvent._Id);
@@ -522,26 +522,26 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_EventType, aliasVehicleEvent));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_StartOn, aliasVehicleEvent));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_FinishOn, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.Odometer))
if (columns.HasId(SbmVehicleEvent.Column.Odometer))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Odometer, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.DescBrief))
if (columns.HasId(SbmVehicleEvent.Column.DescBrief))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_DescBrief, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.DescDetail))
if (columns.HasId(SbmVehicleEvent.Column.DescDetail))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_DescDetail, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.AmountNet))
if (columns.HasId(SbmVehicleEvent.Column.AmountNet))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_AmountNet, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.TaxCodeId))
if (columns.HasId(SbmVehicleEvent.Column.TaxCodeId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_TaxCodeId, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.TaxRate))
if (columns.HasId(SbmVehicleEvent.Column.TaxRate))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_TaxRate, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.AmountTax))
if (columns.HasId(SbmVehicleEvent.Column.AmountTax))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_AmountTax, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.AmountTot))
if (columns.HasId(SbmVehicleEvent.Column.AmountTot))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_AmountTot, aliasVehicleEvent));
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// Vehicle details:
bool hasVehicleColumns = false;
if (!hasVehicleColumns) hasVehicleColumns = columns.HasId((int)SbmVehicleEvent.Column.Vehicle_RegNumber);
if (!hasVehicleColumns) hasVehicleColumns = columns.HasId(SbmVehicleEvent.Column.Vehicle_RegNumber);
if (hasVehicleColumns)
{
DbQueryJoin joinVeh = new DbQueryJoin(DbJoinType.LeftOuter);
@@ -558,21 +558,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------------
// Tax Code details:
bool hasTaxCodeColumns = false;
if (!hasTaxCodeColumns) hasTaxCodeColumns = columns.HasId((int)SbmVehicleEvent.Column.TaxCode_Code);
if (!hasTaxCodeColumns) hasTaxCodeColumns = columns.HasId(SbmVehicleEvent.Column.TaxCode_Code);
if (hasTaxCodeColumns)
{
}
// Common Properties
if (columns.HasId((int)SbmVehicleEvent.Column.Notes))
if (columns.HasId(SbmVehicleEvent.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Notes, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.Flag))
if (columns.HasId(SbmVehicleEvent.Column.Flag))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Flags, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.Status) || columns.HasId((int)SbmVehicleEvent.Column.Status_Desc) || columns.HasId((int)SbmVehicleEvent.Column.Status_Ind))
if (columns.HasId(SbmVehicleEvent.Column.Status) || columns.HasId(SbmVehicleEvent.Column.Status_Desc) || columns.HasId(SbmVehicleEvent.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Status, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.CreateOn_Date))
if (columns.HasId(SbmVehicleEvent.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_CreateOn, aliasVehicleEvent));
if (columns.HasId((int)SbmVehicleEvent.Column.UpdateOn_Date))
if (columns.HasId(SbmVehicleEvent.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_UpdateOn, aliasVehicleEvent));
//---------------------------------------------------------------------
@@ -16,14 +16,11 @@ using System.Linq;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
//=======================================================================
// Asset manager - Vehicle Features.
//=======================================================================
partial class SbmAssetMgr_Dbas
{
//*******************************************************************
// V e h i c l e F e a t u r e
//*******************************************************************
// Data members.
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmVehicleFeature vehicleFeature)
@@ -38,7 +35,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
public override bool StoreVehicleFeature(SbmVehicleFeature.Data vehicleFeatureData, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (Database == null) return SetErrorState("database is not available");
if (Database == null) return SetErrorState(Msg_DatabaseNotAvailable);
if (!Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature))) return SetErrorState("vehicle features not supported");
if (vehicleFeatureData == null) SetErrorState("vehicle feature data not supplied");
@@ -215,13 +212,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
dbConnection.Open();
SaVehicleFeature_Db dbVehicleFeature = new SaVehicleFeature_Db(DbInfo);
PopulateTo(dbVehicleFeature, vehicleFeature, dbUpdateInfo);
if (SaVehicleFeature_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbVehicleFeature._VehicleId = SysId.ToInt(Database.GetNextId("VehicleFeature", dbUpdateInfo));
}
dbVehicleFeature.ExecuteInsertCommand(dbCommand);
vehicleFeature.Id = new SysId(dbVehicleFeature._VehicleId);
vehicleFeature.Changed = false;
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. " + GetLogProperties(vehicleFeature).Concat(": ").Concat("", "\n\t"));
}
@@ -27,7 +27,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
ClearErrorState();
if (!SysId.IsValid(commodityId)) return SetErrorState("invalid item");
return ProcessMgr.HasItemProcesses(Sbm.ItemType.Commodity, commodityId);
return ProcessMgr.ItemHasProcesses(new SbmItemId(Sbm.ItemType.Commodity, commodityId));
}
public override bool CommodityHasRequirements(SysId commodityId)
{
@@ -133,21 +133,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
return false;
}
public override bool ClearCommodityDependentData(SysId commodityId)
public override bool ClearCommodityDependentData(SbmCommodity commodity, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!SysId.IsValid(commodityId)) return false;
if (commodity == null || !SysId.IsValid(commodity.Id)) return false;
if (!HasErrorState())
{
// Remove data item references.
if (!DataItemMgr.ClearDataItem(Sbm.ItemType.Commodity, commodityId))
if (!DataItemMgr.ClearDataItem(commodity.GetItemId(), dbUpdateInfo))
SetErrorState(DataItemMgr.ErrorStateMessage);
}
if (!HasErrorState())
{
if (ItemDocConsole != null)
{
if (!ItemDocConsole.ClearItemDocs(new ItemId((short)Sbm.ItemType.Commodity, commodityId), SaItemDocConsole.Category.Document, DbUpdateInfo))
if (!ItemDocConsole.ClearItemDocs(new SbmItemId(Sbm.ItemType.Commodity, commodity.Id), SaItemDocConsole.Category.Document, dbUpdateInfo))
SetErrorState(ItemDocConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve item document console");
@@ -157,7 +157,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Remove interface references.
if (InterfaceConsole != null)
{
if (!InterfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Commodity, commodityId), DbUpdateInfo))
if (!InterfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.Commodity, commodity.Id), dbUpdateInfo))
SetErrorState(InterfaceConsole.ErrorStateMessage);
}
else SetErrorState("Failed to retrieve interface console");
@@ -167,7 +167,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Remove customer commodity details.
List<StringPair> columnNameValues = new List<StringPair>();
String tableCommodityCustomer = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommodityCustomer);
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommodityCustomer_CommodityId) + "=" + commodityId.ToString();
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommodityCustomer_CommodityId)}={SysId.ToLong(commodity.Id)}";
if (Database != null && Database.TableExists(tableCommodityCustomer) && Database.ExecuteDelete(tableCommodityCustomer, filter) > 0)
SetErrorState("Failed to clear customer commodity details");
}
@@ -175,7 +175,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
// Remove Supplier commodity details.
String tableCommoditySupplier = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommoditySupplier);
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommoditySupplier_CommodityId) + "=" + commodityId.ToString();
String filter = $"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommoditySupplier_CommodityId)}={SysId.ToLong(commodity.Id)}";
if (Database != null && Database.TableExists(tableCommoditySupplier) && Database.ExecuteDelete(tableCommoditySupplier, filter) > 0)
SetErrorState("Failed to clear Supplier commodity details");
}
@@ -269,7 +269,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
}
// Store these details.
if (DataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.ItemCostEstimate, new ItemId((short)Sbm.ItemType.Commodity, commodity.Id), itemLinks, DbUpdateInfo))
if (DataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.ItemCostEstimate, commodity.GetItemId(), itemLinks, DbUpdateInfo))
{
}
else
@@ -293,7 +293,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (activeOnly)
{
// Retrieve the list of 'active' processes for this item.
ProcessMgr.GetProcessesForItem(Sbm.ItemType.Commodity, commodity.Id, true);
ProcessMgr.GetProcessesForItem(commodity.GetItemId(), true);
}
else
{
@@ -301,7 +301,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
if (commodity.ItemProcesses == null && SysId.IsValid(commodity.Id))
{
// Get the list of processes.
ProcessMgr.GetProcessesForItem(Sbm.ItemType.Commodity, commodity.Id, false);
ProcessMgr.GetProcessesForItem(commodity.GetItemId(), false);
}
// Clone the list.
itemProcesesCopy = commodity.ItemProcesses.Clone();
@@ -321,7 +321,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
ClearErrorState();
if (commodity.ItemProcesses == null) return true;
if (!ProcessMgr.StoreItemProcesses(Sbm.ItemType.Commodity, commodity.Id, commodity.ItemProcesses, DbUpdateInfo))
if (!ProcessMgr.StoreItemProcesses(commodity.GetItemId(), commodity.ItemProcesses, DbUpdateInfo))
SetErrorState(ProcessMgr.ErrorStateMessage);
return !HasErrorState();
}
@@ -603,12 +603,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create Commodity.
public override SbmCommodity CreateCommodity(Sbm.CommodityType commodityType, String code)
{
return new SbmCommodity_Dbas(Internals, null, AffiliateId_Owner, commodityType, code, 0);
return new SbmCommodity_Dbas(null, AffiliateId_Owner, commodityType, code, 0);
}
private SbmCommodity_Dbas CreateCommodity(Commodity_Db dbCommodity)
{
ClearErrorState();
SbmCommodity_Dbas commodity = new SbmCommodity_Dbas(Internals, new SysId(dbCommodity._Id), new SysId(dbCommodity._AffIdOwner), (Sbm.CommodityType)dbCommodity._Type, dbCommodity._Code, (ushort)dbCommodity._Flags);
SbmCommodity_Dbas commodity = new SbmCommodity_Dbas(new SysId(dbCommodity._Id), new SysId(dbCommodity._AffIdOwner), (Sbm.CommodityType)dbCommodity._Type, dbCommodity._Code, (ushort)dbCommodity._Flags);
PopulateFrom(dbCommodity, commodity);
return commodity;
}
@@ -187,12 +187,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create CommodityCustomer.
public override SbmCommodityCustomer CreateCommodityCustomer(SysId commodityId, SysId assocIdCustomer)
{
return new SbmCommodityCustomer_Dbas(Internals, commodityId, assocIdCustomer, 0);
return new SbmCommodityCustomer_Dbas(commodityId, assocIdCustomer, 0);
}
private SbmCommodityCustomer_Dbas CreateCommodityCustomer(CommodityCustomer_Db dbCommodityCustomer)
{
ClearErrorState();
SbmCommodityCustomer_Dbas commodityCustomer = new SbmCommodityCustomer_Dbas(Internals, new SysId(dbCommodityCustomer._CommodityId), new SysId(dbCommodityCustomer._AssocIdCustomer), (ushort)dbCommodityCustomer._Flags);
SbmCommodityCustomer_Dbas commodityCustomer = new SbmCommodityCustomer_Dbas(new SysId(dbCommodityCustomer._CommodityId), new SysId(dbCommodityCustomer._AssocIdCustomer), (ushort)dbCommodityCustomer._Flags);
PopulateFrom(dbCommodityCustomer, commodityCustomer);
return commodityCustomer;
}
@@ -221,13 +221,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
dbConnection.Open();
CommodityCustomer_Db dbCommodityCustomer = new CommodityCustomer_Db(DbInfo);
PopulateTo(dbCommodityCustomer, commodityCustomer, dbUpdateInfo);
if (CommodityCustomer_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbCommodityCustomer._CommodityId = SysId.ToInt(Database.GetNextId("CommodityCustomer", dbUpdateInfo));
}
dbCommodityCustomer.ExecuteInsertCommand(dbCommand);
commodityCustomer.Id = new SysId(dbCommodityCustomer._CommodityId);
commodityCustomer.Changed = false;
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. " + GetLogProperties(commodityCustomer).Concat(": ").Concat("", "\n\t"));
}
@@ -650,12 +644,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Commodity.
bool hasCommodityCols = columns.HasId((int)SbmCommodityCustomer.Column.Commodity_Code);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommodityCustomer.Column.Commodity_DescBrief);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommodityCustomer.Column.Commodity_Status);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommodityCustomer.Column.Commodity_StatusDesc);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommodityCustomer.Column.Commodity_CategoryCode);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommodityCustomer.Column.Commodity_CategoryDesc);
bool hasCommodityCols = columns.HasId(SbmCommodityCustomer.Column.Commodity_Code);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommodityCustomer.Column.Commodity_DescBrief);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommodityCustomer.Column.Commodity_Status);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommodityCustomer.Column.Commodity_StatusDesc);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommodityCustomer.Column.Commodity_CategoryCode);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommodityCustomer.Column.Commodity_CategoryDesc);
if (hasCommodityCols)
{
// Join to the commodity.
@@ -676,8 +670,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
//---------------------------------------------------------------
// Customer with Association.
bool hasCustomerCols = columns.HasId((int)SbmCommodityCustomer.Column.Customer_Code);
if (!hasCustomerCols) hasCustomerCols = columns.HasId((int)SbmCommodityCustomer.Column.Customer_Name);
bool hasCustomerCols = columns.HasId(SbmCommodityCustomer.Column.Customer_Code);
if (!hasCustomerCols) hasCustomerCols = columns.HasId(SbmCommodityCustomer.Column.Customer_Name);
if (hasCustomerCols)
{
// Join to the Customer Association.
@@ -696,13 +690,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
}
// Common Properties
if (columns.HasId((int)SbmCommodityCustomer.Column.Notes))
if (columns.HasId(SbmCommodityCustomer.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommodityCustomer_Notes, aliasCommodityCustomer));
if (columns.HasId((int)SbmCommodityCustomer.Column.Status) || columns.HasId((int)SbmCommodityCustomer.Column.Status_Desc) || columns.HasId((int)SbmCommodityCustomer.Column.Status_Ind))
if (columns.HasId(SbmCommodityCustomer.Column.Status) || columns.HasId(SbmCommodityCustomer.Column.Status_Desc) || columns.HasId(SbmCommodityCustomer.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommodityCustomer_Status, aliasCommodityCustomer));
if (columns.HasId((int)SbmCommodityCustomer.Column.CreateOn_Date))
if (columns.HasId(SbmCommodityCustomer.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommodityCustomer_CreateOn, aliasCommodityCustomer));
if (columns.HasId((int)SbmCommodityCustomer.Column.UpdateOn_Date))
if (columns.HasId(SbmCommodityCustomer.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommodityCustomer_UpdateOn, aliasCommodityCustomer));
//---------------------------------------------------------------
@@ -80,12 +80,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create CommoditySupplier.
public override SbmCommoditySupplier CreateCommoditySupplier(SysId commodityId, SysId assocIdSupplier)
{
return new SbmCommoditySupplier_Dbas(Internals, commodityId, assocIdSupplier, 0);
return new SbmCommoditySupplier_Dbas(commodityId, assocIdSupplier, 0);
}
private SbmCommoditySupplier_Dbas CreateCommoditySupplier(CommoditySupplier_Db dbCommoditySupplier)
{
ClearErrorState();
SbmCommoditySupplier_Dbas commoditySupplier = new SbmCommoditySupplier_Dbas(Internals, new SysId(dbCommoditySupplier._CommodityId), new SysId(dbCommoditySupplier._AssocIdSupplier), (ushort)dbCommoditySupplier._Flags);
SbmCommoditySupplier_Dbas commoditySupplier = new SbmCommoditySupplier_Dbas(new SysId(dbCommoditySupplier._CommodityId), new SysId(dbCommoditySupplier._AssocIdSupplier), (ushort)dbCommoditySupplier._Flags);
PopulateFrom(dbCommoditySupplier, commoditySupplier);
return commoditySupplier;
}
@@ -136,13 +136,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
dbConnection.Open();
CommoditySupplier_Db dbCommoditySupplier = new CommoditySupplier_Db(DbInfo);
PopulateTo(dbCommoditySupplier, commoditySupplier, dbUpdateInfo);
if (CommoditySupplier_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbCommoditySupplier._CommodityId = SysId.ToInt(Database.GetNextId("CommoditySupplier", dbUpdateInfo));
}
dbCommoditySupplier.ExecuteInsertCommand(dbCommand);
commoditySupplier.Id = new SysId(dbCommoditySupplier._CommodityId);
commoditySupplier.Changed = false;
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. " + GetLogProperties(commoditySupplier).Concat(": ").Concat("", "\n\t"));
}
@@ -540,28 +534,28 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommoditySupplier), aliasCommoditySupplier);
// Columns to query.
if (columns.HasId((int)SbmCommoditySupplier.Column.Commodity_Id))
if (columns.HasId(SbmCommoditySupplier.Column.Commodity_Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, aliasCommoditySupplier));
if (columns.HasId((int)SbmCommoditySupplier.Column.Id))
if (columns.HasId(SbmCommoditySupplier.Column.Id))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommoditySupplier_CommodityId, aliasCommoditySupplier));
// Common columns.
if (columns.HasId((int)SbmCommoditySupplier.Column.Notes))
if (columns.HasId(SbmCommoditySupplier.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommoditySupplier_Notes, aliasCommoditySupplier));
if (columns.HasId((int)SbmCommoditySupplier.Column.Status) || columns.HasId((int)SbmCommoditySupplier.Column.Status_Desc) || columns.HasId((int)SbmCommoditySupplier.Column.Status_Ind))
if (columns.HasId(SbmCommoditySupplier.Column.Status) || columns.HasId(SbmCommoditySupplier.Column.Status_Desc) || columns.HasId(SbmCommoditySupplier.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommoditySupplier_Status, aliasCommoditySupplier));
if (columns.HasId((int)SbmCommoditySupplier.Column.CreateOn_Date))
if (columns.HasId(SbmCommoditySupplier.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommoditySupplier_CreateOn, aliasCommoditySupplier));
if (columns.HasId((int)SbmCommoditySupplier.Column.UpdateOn_Date))
if (columns.HasId(SbmCommoditySupplier.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.CommoditySupplier_UpdateOn, aliasCommoditySupplier));
//---------------------------------------------------------------
// Commodity.
bool hasCommodityCols = columns.HasId((int)SbmCommoditySupplier.Column.Commodity_Code);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommoditySupplier.Column.Commodity_DescBrief);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommoditySupplier.Column.Commodity_Status);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommoditySupplier.Column.Commodity_StatusDesc);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommoditySupplier.Column.Commodity_CategoryCode);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmCommoditySupplier.Column.Commodity_CategoryDesc);
bool hasCommodityCols = columns.HasId(SbmCommoditySupplier.Column.Commodity_Code);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommoditySupplier.Column.Commodity_DescBrief);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommoditySupplier.Column.Commodity_Status);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommoditySupplier.Column.Commodity_StatusDesc);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommoditySupplier.Column.Commodity_CategoryCode);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmCommoditySupplier.Column.Commodity_CategoryDesc);
if (hasCommodityCols)
{
// Join to the commodity.
@@ -581,8 +575,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Supplier.
bool bHasSupplierCols = columns.HasId((int)SbmCommoditySupplier.Column.Supplier_Code);
if (!bHasSupplierCols) bHasSupplierCols = columns.HasId((int)SbmCommoditySupplier.Column.Supplier_Name);
bool bHasSupplierCols = columns.HasId(SbmCommoditySupplier.Column.Supplier_Code);
if (!bHasSupplierCols) bHasSupplierCols = columns.HasId(SbmCommoditySupplier.Column.Supplier_Name);
if (bHasSupplierCols)
{
// Join to the Supplier Association:
@@ -21,9 +21,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//=======================================================================
partial class SbmCommodityMgr_Dbas
{
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
// Utilities.
private List<StringPair> GetLogProperties(SbmContainer container)
@@ -36,6 +33,51 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
};
}
//-------------------------------------------------------------------
// Associated Data.
public override bool ContainerHasItems(SysId containerId)
{
ClearErrorState();
if (!SysId.IsValid(containerId)) return false;
String tableContainItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ContainerItem);
if (Database.TableExists(tableContainItem))
{
List<String> filter = new List<String>();
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ContainerItem_ContainerId)}={SysId.ToLong(containerId)}");
return Database.GetRowCount(tableContainItem, filter.Concat(" AND ", "(", ")")) > 0;
}
return false;
}
public override bool ContainerHasMovements(SysId containerId)
{
ClearErrorState();
if (!SysId.IsValid(containerId)) return false;
String tableMovement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement);
if (Database.TableExists(tableMovement))
{
List<String> filter = new List<String>();
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemType)}={(int)Sbm.ItemType.Container}");
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemId)}={SysId.ToLong(containerId)}");
return Database.GetRowCount(tableMovement, filter.Concat(" AND ", "(", ")")) > 0;
}
return false;
}
public override bool ContainerHasActionedMovements(SysId containerId)
{
ClearErrorState();
if (!SysId.IsValid(containerId)) return false;
String tableMovement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement);
if (Database.TableExists(tableMovement))
{
List<String> filter = new List<String>();
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemType)}={(int)Sbm.ItemType.Container}");
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemId)}={SysId.ToLong(containerId)}");
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_Status)}='{StatusActioned}'");
return Database.GetRowCount(tableMovement, filter.Concat(" AND ", "(", ")")) > 0;
}
return false;
}
//-------------------------------------------------------------------
// Get Container.
public override SbmContainer GetContainer(SbmContainer.Params prm)
@@ -77,12 +119,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create Container.
public override SbmContainer CreateContainer(Sbm.ContainerCategory containerCategory, Sbm.ContainerType containerType)
{
return new SbmContainer_Dbas(Internals, new SysId(), AffiliateId_Owner, containerCategory, containerType, 0);
return new SbmContainer_Dbas(new SysId(), AffiliateId_Owner, containerCategory, containerType, 0);
}
private SbmContainer_Dbas CreateContainer(Container_Db dbContainer)
{
ClearErrorState();
SbmContainer_Dbas container = new SbmContainer_Dbas(Internals, new SysId(dbContainer._Id), new SysId(dbContainer._AffIdOwner), (Sbm.ContainerCategory)dbContainer._Category, (Sbm.ContainerType)ContainerTypes.GetTypeForCode(dbContainer._Type), (ushort)dbContainer._Flags);
SbmContainer_Dbas container = new SbmContainer_Dbas(new SysId(dbContainer._Id), new SysId(dbContainer._AffIdOwner), (Sbm.ContainerCategory)dbContainer._Category, (Sbm.ContainerType)ContainerTypes.GetTypeForCode(dbContainer._Type), (ushort)dbContainer._Flags);
PopulateFrom(dbContainer, container);
return container;
}
@@ -586,22 +628,22 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Type, aliasContainer));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Reference, aliasContainer));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_DescBrief, aliasContainer));
if (columns.HasId((int)SbmContainer.Column.TagId)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_TagId, aliasContainer));
if (columns.HasId((int)SbmContainer.Column.Expected)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Expected, aliasContainer));
if (columns.HasId(SbmContainer.Column.TagId)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_TagId, aliasContainer));
if (columns.HasId(SbmContainer.Column.Expected)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Expected, aliasContainer));
// Common Properties
if (columns.HasId((int)SbmContainer.Column.Notes)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Notes, aliasContainer));
//if (columns.HasId((int)SbmContainer.Column.Flags)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Flags));
if (columns.HasId((int)SbmContainer.Column.Status) || columns.HasId((int)SbmContainer.Column.Status_Desc) || columns.HasId((int)SbmContainer.Column.Status_Ind))
if (columns.HasId(SbmContainer.Column.Notes)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Notes, aliasContainer));
//if (columns.HasId(SbmContainer.Column.Flags)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Flags));
if (columns.HasId(SbmContainer.Column.Status) || columns.HasId(SbmContainer.Column.Status_Desc) || columns.HasId(SbmContainer.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Status, aliasContainer));
if (columns.HasId((int)SbmContainer.Column.CreateOn_Date)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_CreateOn, aliasContainer));
if (columns.HasId((int)SbmContainer.Column.UpdateOn_Date)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_UpdateOn, aliasContainer));
if (columns.HasId(SbmContainer.Column.CreateOn_Date)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_CreateOn, aliasContainer));
if (columns.HasId(SbmContainer.Column.UpdateOn_Date)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_UpdateOn, aliasContainer));
//---------------------------------------------------------------
// Supplier Association & Supplier Affiliate.
bool hasSupplierAssCols = false;
bool hasSupplierAffCols = false;
if (!hasSupplierAssCols) hasSupplierAssCols = (columns.HasId((int)SbmContainer.Column.AssIdSupplier));
if (!hasSupplierAffCols) hasSupplierAffCols = (columns.HasId((int)SbmContainer.Column.Supplier_Name));
if (!hasSupplierAssCols) hasSupplierAssCols = (columns.HasId(SbmContainer.Column.AssIdSupplier));
if (!hasSupplierAffCols) hasSupplierAffCols = (columns.HasId(SbmContainer.Column.Supplier_Name));
// Supplier Association columns query.
if (hasSupplierAssCols || hasSupplierAffCols)
@@ -639,8 +681,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Customer Association & Customer Affiliate.
bool hasCustomerAssCols = false;
bool hasCustomerAffCols = false;
if (!hasCustomerAssCols) hasCustomerAssCols = (columns.HasId((int)SbmContainer.Column.AssIdCustomer));
if (!hasCustomerAffCols) hasCustomerAffCols = (columns.HasId((int)SbmContainer.Column.Customer_Name));
if (!hasCustomerAssCols) hasCustomerAssCols = (columns.HasId(SbmContainer.Column.AssIdCustomer));
if (!hasCustomerAffCols) hasCustomerAffCols = (columns.HasId(SbmContainer.Column.Customer_Name));
// Customer Association.
if (hasCustomerAssCols || hasCustomerAffCols)
@@ -676,7 +718,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// ItemCount & MovementCount subordinate data items.
if (columns.HasId((int)SbmContainer.Column.ItemCount))
if (columns.HasId(SbmContainer.Column.ItemCount))
{
// Table aliases for linked container item table.
String aliasTbl_ItemsCount = "ItemCount";
@@ -688,7 +730,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
qryItemCount.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_ContainerId, aliasTbl_ItemsCount) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Container_Id, aliasContainer));
query.Columns.Add("(" + qryItemCount.BuildQuery() + ")", colnameContainer_Items);
}
if (columns.HasId((int)SbmContainer.Column.MovementCount))
if (columns.HasId(SbmContainer.Column.MovementCount))
{
// Table aliases for linked Movement table.
String aliasTbl_MovementsCount = "MoveCount";
@@ -112,12 +112,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create ContainerItem.
public override SbmContainerItem CreateContainerItem(SysId containerItemId, Sbm.ItemType itemType, SysId itemId)
{
return new SbmContainerItem_Dbas(Internals, containerItemId, itemType, itemId, 0);
return new SbmContainerItem_Dbas(containerItemId, itemType, itemId, 0);
}
private SbmContainerItem_Dbas CreateContainerItem(ContainerItem_Db dbContainerItem)
{
ClearErrorState();
SbmContainerItem_Dbas containerItem = new SbmContainerItem_Dbas(Internals, new SysId(dbContainerItem._ContainerId), (Sbm.ItemType)dbContainerItem._ItemType, new SysId(dbContainerItem._ItemId), (ushort)dbContainerItem._Flags);
SbmContainerItem_Dbas containerItem = new SbmContainerItem_Dbas(new SysId(dbContainerItem._ContainerId), (Sbm.ItemType)dbContainerItem._ItemType, new SysId(dbContainerItem._ItemId), (ushort)dbContainerItem._Flags);
PopulateFrom(dbContainerItem, containerItem);
return containerItem;
}
@@ -146,13 +146,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
dbConnection.Open();
ContainerItem_Db dbContainerItem = new ContainerItem_Db(DbInfo);
PopulateTo(dbContainerItem, containerItem, dbUpdateInfo);
if (ContainerItem_Db.FieldsNonId.Contains("Id"))
{
// Generate next Id.
dbContainerItem._ContainerId = SysId.ToInt(Database.GetNextId("ContainerItem", dbUpdateInfo));
}
dbContainerItem.ExecuteInsertCommand(dbCommand);
containerItem.Id = new SysId(dbContainerItem._ContainerId);
containerItem.Changed = false;
if (DebugMode) SaLogger.Debug($"{SysUtil.Fn} Inserted. " + GetLogProperties(containerItem).Concat(": ").Concat("", "\n\t"));
}
@@ -714,44 +708,44 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_ItemType, aliasContainerItem));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_ItemId, aliasContainerItem));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_ItemSeq, aliasContainerItem));
if (columns.HasId((int)SbmContainerItem.Column.SourceItemType) || columns.HasId((int)SbmContainerItem.Column.SourceItemId) || columns.HasId((int)SbmContainerItem.Column.SourceItem))
if (columns.HasId(SbmContainerItem.Column.SourceItemType) || columns.HasId(SbmContainerItem.Column.SourceItemId) || columns.HasId(SbmContainerItem.Column.SourceItem))
{
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_ItemTypeSource));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_ItemIdSource));
}
if (columns.HasId((int)SbmContainerItem.Column.Quantity) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Total_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Total_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Total_Fmt))
if (columns.HasId(SbmContainerItem.Column.Quantity) ||
columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Total) || columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Total_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total) || columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Total) || columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Total_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Total) || columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Total_Fmt))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_Quantity));
if (columns.HasId((int)SbmContainerItem.Column.Notes))
if (columns.HasId(SbmContainerItem.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_Notes));
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_Flags));
if (columns.HasId((int)SbmContainerItem.Column.Status_Desc) || columns.HasId((int)SbmContainerItem.Column.Status_Ind))
if (columns.HasId(SbmContainerItem.Column.Status_Desc) || columns.HasId(SbmContainerItem.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ContainerItem_Status));
//---------------------------------------------------------------------
// Container.
bool hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_CategoryDesc);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_TypeDesc);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_Reference);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_DescBrief);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_TagId);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_Expected);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_Notes);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_StatusDesc);
if (!hasContainerCols) hasContainerCols = columns.HasId((int)SbmContainerItem.Column.Container_StatusInd);
bool hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_CategoryDesc);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_TypeDesc);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_Reference);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_DescBrief);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_TagId);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_Expected);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_Notes);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_StatusDesc);
if (!hasContainerCols) hasContainerCols = columns.HasId(SbmContainerItem.Column.Container_StatusInd);
// Container supplier columns.
bool hasSupplierAssCols = false;
bool hasSupplierAffCols = false;
if (!hasSupplierAssCols) hasSupplierAssCols = (columns.HasId((int)SbmContainerItem.Column.Container_AssIdSupplier));
if (!hasSupplierAffCols) hasSupplierAffCols = (columns.HasId((int)SbmContainerItem.Column.Container_SupplierName));
if (!hasSupplierAssCols) hasSupplierAssCols = (columns.HasId(SbmContainerItem.Column.Container_AssIdSupplier));
if (!hasSupplierAffCols) hasSupplierAffCols = (columns.HasId(SbmContainerItem.Column.Container_SupplierName));
// Container Customer columns.
bool hasCustomerAssCols = false;
bool hasCustomerAffCols = false;
if (!hasCustomerAssCols) hasCustomerAssCols = (columns.HasId((int)SbmContainerItem.Column.Container_AssIdCustomer));
if (!hasCustomerAffCols) hasCustomerAffCols = (columns.HasId((int)SbmContainerItem.Column.Container_CustomerName));
if (!hasCustomerAssCols) hasCustomerAssCols = (columns.HasId(SbmContainerItem.Column.Container_AssIdCustomer));
if (!hasCustomerAffCols) hasCustomerAffCols = (columns.HasId(SbmContainerItem.Column.Container_CustomerName));
if (hasContainerCols)
{
// Join to the container.
@@ -837,31 +831,31 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------------
// Commodity:
bool hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_Id);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_Code);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_DescBrief);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_Dimensions);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_ICNTariffCode);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCurrencyId);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_RRP);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_Image);
if (!hasCommodityCols) hasCommodityCols = columns.HasId((int)SbmContainerItem.Column.Commodity_Notes);
bool hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_Id);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_Code);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_DescBrief);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_Dimensions);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_ICNTariffCode);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_MaterialCurrencyId);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Unit);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Unit_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Total);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Total_Fmt);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_RRP);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_Image);
if (!hasCommodityCols) hasCommodityCols = columns.HasId(SbmContainerItem.Column.Commodity_Notes);
if (hasCommodityCols)
{
// Join to the Commodity:
@@ -873,32 +867,32 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Add the Commodity columns.
List<SbmDbDfn.ColumnIdx> CmdCol = new List<SbmDbDfn.ColumnIdx>();
CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Id);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_Code)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Code);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_DescBrief)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_DescBrief);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_Dimensions)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Dimensions);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_ICNTariffCode)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_ICNTariffCode);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Unit) || columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Unit_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_CostPrice_Total_Fmt))
if (columns.HasId(SbmContainerItem.Column.Commodity_Code)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Code);
if (columns.HasId(SbmContainerItem.Column.Commodity_DescBrief)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_DescBrief);
if (columns.HasId(SbmContainerItem.Column.Commodity_Dimensions)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Dimensions);
if (columns.HasId(SbmContainerItem.Column.Commodity_ICNTariffCode)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_ICNTariffCode);
if (columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Unit) || columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Unit_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Total) || columns.HasId(SbmContainerItem.Column.Commodity_CostPrice_Total_Fmt))
CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_CostPrice);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCurrencyId) || columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Unit_Fmt) || columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt))
if (columns.HasId(SbmContainerItem.Column.Commodity_MaterialCurrencyId) || columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Unit_Fmt) || columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt))
CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_CurrencyIdMaterial);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Unit) || columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Unit_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt))
if (columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Unit) || columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Unit_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total) || columns.HasId(SbmContainerItem.Column.Commodity_MaterialCost_Total_Fmt))
CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_MaterialCost);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Unit) || columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Unit_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_SalesPrice_Total_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_RRP))
if (columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Unit) || columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Unit_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Total) || columns.HasId(SbmContainerItem.Column.Commodity_SalesPrice_Total_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_RRP))
CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_SalesPrice);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Unit) || columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Unit_Fmt) ||
columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Total) || columns.HasId((int)SbmContainerItem.Column.Commodity_RetailPrice_Total_Fmt))
if (columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Unit) || columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Unit_Fmt) ||
columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Total) || columns.HasId(SbmContainerItem.Column.Commodity_RetailPrice_Total_Fmt))
CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_RetailPrice);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_Image)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_ImagePath);
if (columns.HasId((int)SbmContainerItem.Column.Commodity_Notes)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Notes);
if (columns.HasId(SbmContainerItem.Column.Commodity_Image)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_ImagePath);
if (columns.HasId(SbmContainerItem.Column.Commodity_Notes)) CmdCol.Add(SbmDbDfn.ColumnIdx.Commodity_Notes);
foreach (SbmDbDfn.ColumnIdx dbColumn in CmdCol)
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasContainerItem_Commodity), prefixContainerItem_Commodity + SbmDbDfn.GetColumnName(dbColumn, false));
// RRP requires tax rate:
if (columns.HasId((int)SbmContainerItem.Column.Commodity_RRP))
if (columns.HasId(SbmContainerItem.Column.Commodity_RRP))
{
DbQueryJoin joinTax = new DbQueryJoin(DbJoinType.LeftOuter);
joinTax.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.TaxCode), aliasContainerItem_TaxCode);
@@ -914,7 +908,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------------
// Count subordinate data items.
if (columns.HasId((int)SbmContainer.Column.ItemCount))
if (columns.HasId(SbmContainer.Column.ItemCount))
{
// Build sub query to directly return the number of associated items.
String aliasItemCount = "ItmCount";
@@ -925,7 +919,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
query.Columns.Add("(" + qryItemCount.BuildQuery() + ")", dataName_Items);
}
if (columns.HasId((int)SbmContainer.Column.MovementCount))
if (columns.HasId(SbmContainer.Column.MovementCount))
{
// Table aliases for linked Movement table & Build sub query to directly return the number of associated movements.
String aliasMovementCount = "MoveCount";
@@ -1,5 +1,6 @@
using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
@@ -7,6 +8,7 @@ using Sarand.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Dbas;
using Sarand.Net.Standard.Base.ItemDocs;
using Sarand.Net.Standard.Base.Utils;
using Sarand.Net.Standard.Dbas.Base;
using Sarand.Net.Standard.Dbas.Data;
@@ -14,6 +16,7 @@ using System;
using System.Collections.Generic;
using System.Data.Common;
using System.Linq;
using static Sarand.BusinessMgr.Net.Standard.Base.App.Sbm.Config;
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
{
@@ -34,6 +37,72 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
new StringPair("Status",portfolioItem.StatusCode)
};
}
//-------------------------------------------------------------------
// Associated data.
public override bool PortfolioItemHasChildItems(SysId portfolioItemId)
{
return GetChildPortfolioItemCount(portfolioItemId, Sbm.PortfolioItemType.Unknown) > 0;
}
public override long GetChildPortfolioItemCount(SysId portfolioItemIdParent, Sbm.PortfolioItemType portfolioItemType = Sbm.PortfolioItemType.Unknown)
{
ClearErrorState();
if (!SysId.IsValid(portfolioItemIdParent)) return 0;
String tablePortfolioItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.PortfolioItem);
if (Database.TableExists(tablePortfolioItem))
{
List<String> filter = new List<String>();
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdParent)}={SysId.ToLong(portfolioItemIdParent)}");
if (portfolioItemType > 0)
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_Type)}={(int)portfolioItemType}");
return Database.GetRowCount(tablePortfolioItem, filter.Concat(" AND ", "(", ")"));
}
return 0;
}
public override bool IsPortfolioItemReferencedByOtherItems(SysId portfolioItemId)
{
ClearErrorState();
if (!SysId.IsValid(portfolioItemId)) return false;
String tablePortfolioItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.PortfolioItem);
if (Database.TableExists(tablePortfolioItem))
{
List<String> filter = new List<String>();
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdRef)}={SysId.ToLong(portfolioItemId)}");
return Database.GetRowCount(tablePortfolioItem, filter.Concat(" AND ", "(", ")")) > 0;
}
return false;
}
// Clear all descendent items.
public override bool ClearPortfolioItemChildItems(SysId portfolioItemId, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (!SysId.IsValid(portfolioItemId)) return false;
SbmPortfolioItem.Params prmPortfolioItem = new SbmPortfolioItem.Params();
prmPortfolioItem.ParentItemId = portfolioItemId;
foreach (SbmPortfolioItem portfolioItem in CommodityMgr.GetPortfolioItemList(prmPortfolioItem))
{
ClearPortfolioItemChildItems(portfolioItem.Id, dbUpdateInfo);
if (!CommodityMgr.DeletePortfolioItem(portfolioItem, dbUpdateInfo))
return SetErrorState(CommodityMgr.ErrorStateMessage);
}
return true;
}
// Dependent data should only be cleared when removing a portfolio item.
// Data owned by this item is deleted (eg. interface data items & document references).
// NB This method does not clear child portfolio items.
public override bool ClearPortfolioItemDependentData(SbmPortfolioItem portfolioItem, DbUpdateInfo dbUpdateInfo)
{
ClearErrorState();
if (portfolioItem == null || !SysId.IsValid(portfolioItem.Id)) return false;
if (!DataItemMgr.ClearDataItem(portfolioItem.GetItemId(), dbUpdateInfo))
return SetErrorState(DataItemMgr.ErrorStateMessage);
if (!ItemDocConsole.ClearItemDocs(portfolioItem.GetItemId(), SaItemDocConsole.Category.Unknown, dbUpdateInfo))
return SetErrorState(ItemDocConsole.ErrorStateMessage);
return true;
}
//-------------------------------------------------------------------
// Item types.
public override List<Sbm.PortfolioItemType> GetPortfolioItemTypesInUse()
@@ -235,12 +304,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
// Create Item.
public override SbmPortfolioItem CreatePortfolioItem(Sbm.PortfolioItemType portfolioItemType)
{
return new SbmPortfolioItem_Dbas(Internals, new SysId(), AffiliateId_Owner, portfolioItemType, 0);
return new SbmPortfolioItem_Dbas(new SysId(), AffiliateId_Owner, portfolioItemType, 0);
}
private SbmPortfolioItem_Dbas CreatePortfolioItem(PortfolioItem_Db dbPortfolioItem)
{
ClearErrorState();
SbmPortfolioItem_Dbas portfolioItem = new SbmPortfolioItem_Dbas(Internals, new SysId(dbPortfolioItem._Id), new SysId(dbPortfolioItem._AffIdOwner), (Sbm.PortfolioItemType)dbPortfolioItem._Type, (ushort)dbPortfolioItem._Flags);
SbmPortfolioItem_Dbas portfolioItem = new SbmPortfolioItem_Dbas(new SysId(dbPortfolioItem._Id), new SysId(dbPortfolioItem._AffIdOwner), (Sbm.PortfolioItemType)dbPortfolioItem._Type, (ushort)dbPortfolioItem._Flags);
PopulateFrom(dbPortfolioItem, portfolioItem);
return portfolioItem;
}
@@ -938,41 +1007,41 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// PortfolioItem Properties - add columns as defined in query list.
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Id, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.ItemIdParent))
if (columns.HasId(SbmPortfolioItem.Column.ItemIdParent))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdParent, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.CommodityId))
if (columns.HasId(SbmPortfolioItem.Column.CommodityId))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_CommodityId, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.ItemIdRef))
if (columns.HasId(SbmPortfolioItem.Column.ItemIdRef))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_ItemIdRef, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.Type) || columns.HasId((int)SbmPortfolioItem.Column.Type_Desc))
if (columns.HasId(SbmPortfolioItem.Column.Type) || columns.HasId(SbmPortfolioItem.Column.Type_Desc))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Type, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.Sequence))
if (columns.HasId(SbmPortfolioItem.Column.Sequence))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Seq, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.Code))
if (columns.HasId(SbmPortfolioItem.Column.Code))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Code, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.Caption))
if (columns.HasId(SbmPortfolioItem.Column.Caption))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Caption, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.DescBrief))
if (columns.HasId(SbmPortfolioItem.Column.DescBrief))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_DescBrief, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.DescDetail))
if (columns.HasId(SbmPortfolioItem.Column.DescDetail))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_DescDetail, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.ShortCut))
if (columns.HasId(SbmPortfolioItem.Column.ShortCut))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_ShortCut, aliasPortfolioItem));
// Common Properties
if (columns.HasId((int)SbmPortfolioItem.Column.Notes))
if (columns.HasId(SbmPortfolioItem.Column.Notes))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Notes, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.Publish_Y) || columns.HasId((int)SbmPortfolioItem.Column.Publish_Tick))
if (columns.HasId(SbmPortfolioItem.Column.Publish_Y) || columns.HasId(SbmPortfolioItem.Column.Publish_Tick))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Flags, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.Status) || columns.HasId((int)SbmPortfolioItem.Column.Status_Desc) || columns.HasId((int)SbmPortfolioItem.Column.Status_Ind))
if (columns.HasId(SbmPortfolioItem.Column.Status) || columns.HasId(SbmPortfolioItem.Column.Status_Desc) || columns.HasId(SbmPortfolioItem.Column.Status_Ind))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_Status, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.CreateOn_Date))
if (columns.HasId(SbmPortfolioItem.Column.CreateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_CreateOn, aliasPortfolioItem));
if (columns.HasId((int)SbmPortfolioItem.Column.UpdateOn_Date))
if (columns.HasId(SbmPortfolioItem.Column.UpdateOn_Date))
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.PortfolioItem_UpdateOn, aliasPortfolioItem));
//---------------------------------------------------------------
// Parent item.
bool hasParentItemCols = columns.HasId((int)SbmPortfolioItem.Column.Parent_Code) || columns.HasId((int)SbmPortfolioItem.Column.Parent_Caption);
bool hasParentItemCols = columns.HasId(SbmPortfolioItem.Column.Parent_Code) || columns.HasId(SbmPortfolioItem.Column.Parent_Caption);
if (hasParentItemCols)
{
// Parent item join.
@@ -990,8 +1059,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
//---------------------------------------------------------------
// Commodity.
bool hasCommodityCols =
columns.HasId((int)SbmPortfolioItem.Column.Commodity_Code) || columns.HasId((int)SbmPortfolioItem.Column.Commodity_DescBrief) ||
columns.HasId((int)SbmPortfolioItem.Column.Commodity_SalesPrice) || columns.HasId((int)SbmPortfolioItem.Column.Commodity_SalesPrice_Fmt);
columns.HasId(SbmPortfolioItem.Column.Commodity_Code) || columns.HasId(SbmPortfolioItem.Column.Commodity_DescBrief) ||
columns.HasId(SbmPortfolioItem.Column.Commodity_SalesPrice) || columns.HasId(SbmPortfolioItem.Column.Commodity_SalesPrice_Fmt);
if (hasCommodityCols)
{
// Commodity join.

Some files were not shown because too many files have changed in this diff Show More