Rationalise business objects.
This commit is contained in:
@@ -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.
|
||||
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
|
||||
+1
-1
@@ -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
Reference in New Issue
Block a user