Add project files.
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Utils;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.IO;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.IO;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
|
||||
{
|
||||
//=======================================================================
|
||||
public class SbmSystem_WinDbas : SbmSystem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Static initialisation.
|
||||
public static void InitStatics()
|
||||
{
|
||||
// Initialise static environment values.
|
||||
ComputerName = System.Environment.MachineName;
|
||||
UserName = Environment.UserName;
|
||||
ApplicationPath = System.Reflection.Assembly.GetEntryAssembly().Location;
|
||||
ApplicationFolder = Path.GetDirectoryName(ApplicationPath);
|
||||
AssemblyBuildAt = FileUtil.GetFileLastWriteTime(ApplicationPath);
|
||||
|
||||
// Initialise other statics.
|
||||
SbmFileUtil.InitStatics();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmSystem_WinDbas(PropertySet properties) : base(properties)
|
||||
{
|
||||
if (IsExtendedLogging(ExtendedLogginOption.DbQueryExecution))
|
||||
{
|
||||
SacsDatabase.LoggingLevel = SaMessageLevel.Trace;
|
||||
DbResultSet.LoggingLevel = SaMessageLevel.Trace;
|
||||
DbDataItem.LoggingLevel = SaMessageLevel.Trace;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// D a t a M a n a g e r s
|
||||
//-------------------------------------------------------------------
|
||||
public override SbmAccountMgr CreateAccountMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmAccountMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmAssetMgr CreateAssetMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmAssetMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmCommodityMgr CreateCommodityMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmCommodityMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmPriceMgr CreatePriceMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmPriceMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmDataItemMgr CreateDataItemMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmDataItemMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmProcessMgr CreateProcessMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmProcessMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmStockMgr CreateStockMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmStockMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmTransactionMgr CreateTransactionMgr(SbmUserContext userContext)
|
||||
{
|
||||
return new SbmTransactionMgr_Dbas(userContext);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Base
|
||||
{
|
||||
//=======================================================================
|
||||
public class SbmDatabaseConsole : SacsDatabaseConsole
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmSessionContext sessionContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmDatabaseConsole(SbmSessionContext sessionContext)
|
||||
{
|
||||
this.sessionContext = sessionContext;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// D a t a b a s e I n d i c e s
|
||||
//-------------------------------------------------------------------
|
||||
public bool CreateDbIndices(IndexStats indexStats)
|
||||
{
|
||||
ClearErrorState();
|
||||
ISacsDatabase database = SbmGlobals.Application.GetDatabase(sessionContext);
|
||||
if (database == null || database.DbmsType != DbmsType.MsSql) return SetErrorState("");
|
||||
|
||||
// Turn off database exceptions.
|
||||
bool displayDbExceptionsPrev = database.DisplayErrors;
|
||||
database.DisplayErrors = false;
|
||||
|
||||
// ToDo SbmDatabaseConsole Create database indices.
|
||||
|
||||
// Clean-up.
|
||||
database.DisplayErrors = displayDbExceptionsPrev;
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmAddress_Dbas : SbmAddress
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAddress_Dbas(SbmUserContext userContext, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.AddressType addressType, ushort flags) :
|
||||
base(userContext, id, itemType, itemId, addressType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasInterfaceDataItems()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null) return SetErrorState("Database is not available");
|
||||
|
||||
// Delete interface data items.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Association, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorState);
|
||||
}
|
||||
else SetErrorState("failed to initialise interface console");
|
||||
interfaceConsole = null; // Do not delete this global object.
|
||||
}
|
||||
// Remove data item references.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
using (SbmDataItemMgr dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext))
|
||||
{
|
||||
if (dataItemMgr != null)
|
||||
{
|
||||
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Address, Id))
|
||||
SetErrorState(dataItemMgr.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Data item manager is not available");
|
||||
}
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmAffiliate_Dbas : SbmAffiliate
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SbmAccountMgr accountMgr;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAffiliate_Dbas(SbmUserContext userContext, SysId id, Sbm.AffiliateType affiliateType, ushort flags) :
|
||||
base(userContext, id, affiliateType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (accountMgr != null) accountMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override long GetChildAffiliates()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return 0;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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)
|
||||
{
|
||||
if (accountMgr == null) accountMgr = SbmGlobals.System.CreateAccountMgr(userContext);
|
||||
return accountMgr.OwnerAssociationCount(Id, associationType, currentOnly);
|
||||
}
|
||||
public override bool OwnerOfAssociations(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
|
||||
{
|
||||
if (accountMgr == null) accountMgr = SbmGlobals.System.CreateAccountMgr(userContext);
|
||||
return accountMgr.OwnerHasAssociations(Id, associationType, currentOnly);
|
||||
}
|
||||
public override long TargetOfAssociationsCount(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
|
||||
{
|
||||
if (accountMgr == null) accountMgr = SbmGlobals.System.CreateAccountMgr(userContext);
|
||||
return accountMgr.TargetAssociationCount(Id, associationType, currentOnly);
|
||||
}
|
||||
public override bool TargetOfAssociations(Sbm.AssociationType associationType = Sbm.AssociationType.Any, bool currentOnly = true)
|
||||
{
|
||||
if (accountMgr == null) accountMgr = SbmGlobals.System.CreateAccountMgr(userContext);
|
||||
return accountMgr.TargetHasAssociations(Id, associationType, currentOnly);
|
||||
}
|
||||
public override bool HasSystemUsers()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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.GetDatabase(userContext.SessionContext);
|
||||
if (db != null) return SetErrorState("Database is not available");
|
||||
|
||||
// Delete interface data items.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Association, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorState);
|
||||
}
|
||||
else SetErrorState("failed to initialise interface console");
|
||||
interfaceConsole = null; // Do not delete this global object.
|
||||
}
|
||||
// Remove data item references.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
SbmDataItemMgr dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
if (dataItemMgr != null)
|
||||
{
|
||||
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Affiliate, Id))
|
||||
SetErrorState(dataItemMgr.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Data item manager is not available");
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,171 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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 System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmAssetCategory_Dbas : SbmAssetCategory
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SbmProcessMgr processMgr;
|
||||
private List<SbmItemProcess> itemProcesses = new List<SbmItemProcess>();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAssetCategory_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, Sbm.AssetType assetType, ushort flags) :
|
||||
base(userContext, id)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Id = id;
|
||||
AffIdOwner = affIdOwner;
|
||||
AssetType = assetType;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (processMgr != null) processMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
public bool InitProcMgr()
|
||||
{
|
||||
if (processMgr == null)
|
||||
processMgr = SbmGlobals.System.CreateProcessMgr(userContext);
|
||||
return (processMgr != null);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasProcesses()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return SetErrorState("invalid item");
|
||||
if (processMgr == null) return SetErrorState("process manager not available");
|
||||
return false;// processMgr.ItemHasProcesses(Sbm.ItemType.Asset, Id);
|
||||
}
|
||||
|
||||
public override bool HasAssets()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
//DbUpdateInfo dbUpdateInfo = userContext.DbUpdateInfo;
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState(interfaceConsole.ErrorState.ToString());
|
||||
}
|
||||
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.
|
||||
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) && processMgr != null)
|
||||
{
|
||||
// Get the list of processes:
|
||||
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.ErrorState.ToString());*/
|
||||
return !HasErrorState();
|
||||
}
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
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 SbmAssetProcess_Dbas : SbmAssetProcess
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAssetProcess_Dbas(SbmUserContext userContext, SysId id, SysId assetId, SysId processId, ushort flags) :
|
||||
base(userContext, id, assetId, processId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Id = id;
|
||||
AssetId = assetId;
|
||||
ProcessId = processId;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,349 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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 System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmAsset_Dbas : SbmAsset
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SbmAssetMgr assetMgr;
|
||||
private SbmDataItemMgr dataItemMgr;
|
||||
private SbmProcessMgr processMgr;
|
||||
private List<SbmItemProcess> itemProcesses = new List<SbmItemProcess>();
|
||||
private List<SbmItemPrice> itemPrices = new List<SbmItemPrice>();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAsset_Dbas(SbmUserContext userContext, SysId id, SysId assetCatId, ushort flags) :
|
||||
base(userContext, id, assetCatId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Id = id;
|
||||
AssetCategoryId = assetCatId;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (assetMgr != null) assetMgr.Dispose();
|
||||
if (dataItemMgr != null) dataItemMgr.Dispose();
|
||||
if (processMgr != null) processMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
public bool InitAssetMgr()
|
||||
{
|
||||
if (assetMgr == null)
|
||||
assetMgr = SbmGlobals.System.CreateAssetMgr(userContext);
|
||||
return (assetMgr != null);
|
||||
}
|
||||
public bool InitDataItemMgr()
|
||||
{
|
||||
if (dataItemMgr == null)
|
||||
dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
return (dataItemMgr != null);
|
||||
}
|
||||
public bool InitProcessMgr()
|
||||
{
|
||||
if (processMgr == null)
|
||||
processMgr = SbmGlobals.System.CreateProcessMgr(userContext);
|
||||
return (processMgr != null);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasProcesses()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
if (processMgr == null) return SetErrorState("process manager not available");
|
||||
//processMgr.ItemHasProcesses(Sbm.ItemType.Asset, Id);ISacsDatabase db = SbmGlobals.Application.GetDatabase(SessionContext);
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_Id) + "=" + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_AssetId);
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement), filter + "=" + Id.ToString()) > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasInterfaceDataItems()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
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;
|
||||
if (dataItemMgr != null)
|
||||
return dataItemMgr.HasItemLinks(Sbm.ItemType.Asset, Id);
|
||||
return false;
|
||||
}
|
||||
public override bool ClearDependentData()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (this == null || !SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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())
|
||||
{
|
||||
SbmDataItemMgr dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
if (dataItemMgr != null)
|
||||
{
|
||||
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Asset, Id))
|
||||
SetErrorState(dataItemMgr.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve Data Item manager");
|
||||
}
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// Remove interface data items.
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
//DbUpdateInfo dbUpdateInfo = userContext.DbUpdateInfo;
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState(interfaceConsole.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve interface console");
|
||||
interfaceConsole = null; // Do not delete this global object.
|
||||
}
|
||||
}
|
||||
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.
|
||||
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) && processMgr != null)
|
||||
{
|
||||
// Get the list of processes:
|
||||
itemProcesses = 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 (!processMgr.StoreItemProcesses(Sbm.ItemType.Asset, Id, itemProcesses, userContext.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 (assetMgr != null)
|
||||
{
|
||||
if (!assetMgr.UpdateAsset(asset, userContext.DbUpdateInfo))
|
||||
SetErrorState("Failed to update next process id - " + assetMgr.ErrorState);
|
||||
}
|
||||
else SetErrorState("Asset manager is unavailable");
|
||||
}
|
||||
}
|
||||
SetErrorState(processMgr.ErrorState.ToString());
|
||||
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 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) && dataItemMgr != null)
|
||||
{
|
||||
SbmItemLink.Params prm = new SbmItemLink.Params();
|
||||
prm.ItemLinkType = Sbm.ItemLinkType.ItemPrice;
|
||||
prm.ItemTypeFrom = Sbm.ItemType.Asset;
|
||||
prm.ItemIdFrom = Id;
|
||||
List<SbmItemLink> itemLinks = 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) && dataItemMgr != null)
|
||||
{
|
||||
// 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 = 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 (dataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.ItemPrice, Sbm.ItemType.Asset, Id, itemLinks, userContext.DbUpdateInfo))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
SetErrorState("Failed to save asset price item links - " + dataItemMgr.ErrorState);
|
||||
}
|
||||
if (itemLinks != null)
|
||||
itemLinks.Clear();
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,136 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using System;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmAssociation_Dbas : SbmAssociation
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAssociation_Dbas(SbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.AssociationType associationType, SysId affiliateIdTarget, ushort flags) :
|
||||
base(userContext, id, affiliateIdOwner, associationType, affiliateIdTarget)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasTransactions()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null) return SetErrorState("Database is not available");
|
||||
|
||||
// Delete interface data items.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Association, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorState);
|
||||
}
|
||||
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.ErrorState);
|
||||
}
|
||||
else SetErrorState("Failed to retrieve item document console");
|
||||
itemDocConsole = null; // Do not delete this global object.
|
||||
}*/
|
||||
// Remove data item references.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
SbmDataItemMgr dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
if (dataItemMgr != null)
|
||||
{
|
||||
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Association, Id))
|
||||
SetErrorState(dataItemMgr.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Data item manager is not available");
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmCommodityCustomer_Dbas : SbmCommodityCustomer
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmCommodityCustomer_Dbas(SbmUserContext userContext, SysId commodityId, SysId assocIdCustomer, ushort flags) :
|
||||
base(userContext, commodityId, assocIdCustomer)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmCommoditySupplier_Dbas : SbmCommoditySupplier
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmCommoditySupplier_Dbas(SbmUserContext userContext, SysId commodityId, SysId assocIdSupplier, ushort flags) :
|
||||
base(userContext, commodityId, assocIdSupplier)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,422 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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.ItemDocs;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmCommodity_Dbas : SbmCommodity
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SbmDataItemMgr dataItemMgr;
|
||||
private SbmProcessMgr processMgr;
|
||||
private SbmTransactionMgr transactionMgr;
|
||||
private List<SbmCostEstimate> costEstimates = new List<SbmCostEstimate>();
|
||||
private List<SbmItemProcess> itemProcesses = new List<SbmItemProcess>();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmCommodity_Dbas(SbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code, ushort flags) :
|
||||
base(userContext, id, affiliateIdOwner, commodityType, code)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (transactionMgr != null) transactionMgr.Dispose();
|
||||
if (processMgr != null) processMgr.Dispose();
|
||||
if (dataItemMgr != null) dataItemMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
public bool InitDataItemMgr()
|
||||
{
|
||||
if (dataItemMgr == null)
|
||||
dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
return dataItemMgr != null;
|
||||
}
|
||||
public bool InitProcMgr()
|
||||
{
|
||||
if (processMgr == null)
|
||||
processMgr = SbmGlobals.System.CreateProcessMgr(userContext);
|
||||
return processMgr != null;
|
||||
}
|
||||
public bool InitTransactionMgr()
|
||||
{
|
||||
if (transactionMgr == null)
|
||||
transactionMgr = SbmGlobals.System.CreateTransactionMgr(userContext);
|
||||
return transactionMgr != null;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
//-------------------------------------------------------------------
|
||||
public override bool HasProcesses()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return SetErrorState("invalid item");
|
||||
if (processMgr != null) return SetErrorState("process manager not available");
|
||||
return processMgr.HasItemProcesses(Sbm.ItemType.Commodity, Id);
|
||||
}
|
||||
public override bool HasRequirements()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableRequirement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Requirement);
|
||||
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_CommodityId) + "=" + Id.ToString();
|
||||
return db.GetRowCount(tableRequirement, /*SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_Id),*/ filter) > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool IsSalesBudgetTemplate()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableCommodity = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Commodity);
|
||||
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Commodity_CommodityIdSalesProj) + "=" + Id.ToString();
|
||||
return db.GetRowCount(tableCommodity, /*SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Commodity_Id),*/ filter) > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasComponents()
|
||||
{
|
||||
ClearErrorState();
|
||||
return false;
|
||||
}
|
||||
public override bool HasPortfolioItems()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tablePortfolioItem = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.PortfolioItem);
|
||||
if (db.TableExists(tablePortfolioItem))
|
||||
{
|
||||
String colPortfolioItem_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_Id);
|
||||
List<String> filters = new List<String>();
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.PortfolioItem_CommodityId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tablePortfolioItem, /*colPortfolioItem_Id,*/ filters.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasContainers()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableContainer = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Container);
|
||||
if (db.TableExists(tableContainer))
|
||||
{
|
||||
String colContainerItem_ContainerId = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ContainerItem_ContainerId);
|
||||
List<String> filters = new List<String>();
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ContainerItem_ItemType) + "=" + Sbm.ItemType.Commodity.ToString());
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ContainerItem_ItemId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tableContainer, /*colContainerItem_ContainerId,*/ filters.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasCustomerDetails()
|
||||
{
|
||||
ClearErrorState();
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableCommodityCustomer = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommodityCustomer);
|
||||
if (db.TableExists(tableCommodityCustomer))
|
||||
{
|
||||
List<String> filters = new List<String>();
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommodityCustomer_CommodityId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tableCommodityCustomer, /*"1",*/ filters.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasSupplierDetails()
|
||||
{
|
||||
ClearErrorState();
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableCommoditySupplier = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommoditySupplier);
|
||||
if (db.TableExists(tableCommoditySupplier))
|
||||
{
|
||||
List<String> filters = new List<String>();
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommoditySupplier_CommodityId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tableCommoditySupplier, /*"1",*/ filters.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasMovements()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableMovement = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Movement);
|
||||
if (db.TableExists(tableMovement))
|
||||
{
|
||||
String colMovement_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_Id);
|
||||
List<String> filters = new List<String>();
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemType));
|
||||
filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Movement_ItemId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tableMovement, /*colMovement_Id,*/ filters.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool HasStockLevels()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableStockLevel = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.StockLevel);
|
||||
if (db.TableExists(tableStockLevel))
|
||||
{
|
||||
String colStockLevel_CommodityId = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.StockLevel_CommodityId);
|
||||
String filter = colStockLevel_CommodityId + "=" + Id.ToString();
|
||||
return db.GetRowCount(tableStockLevel, filter) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool ClearDependentData()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null && !HasErrorState())
|
||||
{
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// Remove data item references.
|
||||
if (dataItemMgr != null)
|
||||
{
|
||||
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Commodity, Id))
|
||||
SetErrorState(dataItemMgr.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Data item manager is not available");
|
||||
}
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// ToDo SaItemDocConsole for Remove document references.
|
||||
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(userContext);
|
||||
if (itemDocConsole != null)
|
||||
{
|
||||
if (!itemDocConsole.ClearItemDocs(new ItemId((short)Sbm.ItemType.Commodity, Id), SaItemDocConsole.Category.Document, userContext.DbUpdateInfo))
|
||||
SetErrorState(itemDocConsole.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve item document console");
|
||||
itemDocConsole = null;
|
||||
}
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// Remove interface references.
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Commodity, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState(interfaceConsole.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve interface console");
|
||||
interfaceConsole = null;
|
||||
}
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// 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) + "=" + Id.ToString();
|
||||
if (db != null && db.TableExists(tableCommodityCustomer) && db.ExecuteDelete(tableCommodityCustomer, filter) > 0)
|
||||
SetErrorState("Failed to clear customer commodity details");
|
||||
}
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// Remove Supplier commodity details.
|
||||
String tableCommoditySupplier = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.CommoditySupplier);
|
||||
String filter = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.CommoditySupplier_CommodityId) + "=" + Id.ToString();
|
||||
if (db != null && db.TableExists(tableCommoditySupplier) && db.ExecuteDelete(tableCommoditySupplier, filter) > 0)
|
||||
SetErrorState("Failed to clear Supplier commodity details");
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
// Commodity Cost Estimates.
|
||||
public override List<SbmCostEstimate> GetCostEstimates()
|
||||
{
|
||||
//ClearErrorState();
|
||||
List<SbmCostEstimate> costEstimatesCopy = null;
|
||||
if (costEstimates == null && SysId.IsValid(Id) && dataItemMgr != null)
|
||||
{
|
||||
//***************************************************************
|
||||
// 15-Dec MPE Fix - Commodity cost estimates were stored as requirement cost estimates. Here we convert the data for this commodity.
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null /*&& SbmGlobals.GetConsole().GetVersion().GetName() == "MPE" && Id.ToInt() < 6000*/)
|
||||
{
|
||||
String colItemLink_Type = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ItemLink_Type);
|
||||
String colItemLink_ItemTypeFrom = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeFrom);
|
||||
String colItemLink_ItemIdFrom = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ItemLink_ItemIdFrom);
|
||||
String colItemLink_CreateOn = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ItemLink_CreateOn);
|
||||
String colItemLink_UpdateOn = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.ItemLink_UpdateOn);
|
||||
List<String> filters = new List<String>();
|
||||
// Identify cost estimates for requirements with the same Id as this commodity which were created since the 1-Jan-2006
|
||||
// (to avoid updating cost estimates that are more likely to belong to requirements - cost estimates were introduced against commodities during 2006).
|
||||
filters.Add("(" + colItemLink_Type + "=" + Sbm.ItemLinkType.ItemCostEstimate.ToString() + " OR " + colItemLink_Type + "=" + Sbm.ItemLinkType.Requirement_CostEstimate.ToString() + ")");
|
||||
filters.Add(colItemLink_ItemTypeFrom + "=" + Sbm.ItemType.Requirement.ToString());
|
||||
filters.Add(colItemLink_ItemIdFrom + "=" + Id.ToString());
|
||||
filters.Add(colItemLink_CreateOn + ">=" + DbQuery.FormatForCondition(new DateTime(1, 1, 2006/*2006,1,1*/).ToString()));
|
||||
if (db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink), /*colItemLink_Type, rowCount,*/ filters.Concat(" AND ", "(", ")")) > 0)
|
||||
{
|
||||
// The link type and 'From' item type are changed to reflect the commodity relationship.
|
||||
List<StringPair> values = new List<StringPair>();
|
||||
SacsDatabase.AddValuePair(values, colItemLink_Type, ((int)Sbm.ItemLinkType.ItemCostEstimate).ToString(), false);
|
||||
SacsDatabase.AddValuePair(values, colItemLink_ItemTypeFrom, ((int)Sbm.ItemType.Commodity).ToString(), false);
|
||||
SacsDatabase.AddValuePair(values, colItemLink_UpdateOn, DbQuery.FormatForCondition(new DateTime().ToString()), false);
|
||||
db.ExecuteUpdate(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink), values, filters.Concat(" AND ", "(", ")"));
|
||||
}
|
||||
}
|
||||
//***************************************************************
|
||||
SbmItemLink.Params prmItemLink = new SbmItemLink.Params();
|
||||
prmItemLink.ItemLinkType = Sbm.ItemLinkType.ItemCostEstimate;
|
||||
prmItemLink.ItemTypeFrom = Sbm.ItemType.Commodity;
|
||||
prmItemLink.ItemIdFrom = Id;
|
||||
List<SbmItemLink> itemLinks = dataItemMgr.GetItemLinkList(prmItemLink);
|
||||
if (itemLinks != null)
|
||||
{
|
||||
foreach (SbmItemLink itemLink in itemLinks)
|
||||
{
|
||||
SbmCostEstimate costEstimate = new SbmCostEstimate(UserContext, itemLink.DataContent);
|
||||
costEstimate.Notes = itemLink.Notes;
|
||||
costEstimate.Changed = false;
|
||||
if (costEstimates == null) costEstimates = new List<SbmCostEstimate>();
|
||||
costEstimates.Add(costEstimate);
|
||||
}
|
||||
// Clean-up.
|
||||
itemLinks.Clear();
|
||||
}
|
||||
}
|
||||
// Clone the list.
|
||||
costEstimatesCopy = costEstimates.Clone();
|
||||
return costEstimatesCopy;
|
||||
}
|
||||
public override bool SetCostEstimates(List<SbmCostEstimate> costEstimatesNew)
|
||||
{
|
||||
ClearErrorState();
|
||||
// Clear the existing list.
|
||||
if (costEstimates != null) costEstimates.Clear();
|
||||
// Copy all items from the specified list.
|
||||
costEstimates = costEstimatesNew.Clone();
|
||||
return true;
|
||||
}
|
||||
public override bool CommitCostEstimates()
|
||||
{
|
||||
ClearErrorState();// Do not attempt any updates unless the list has been populated.
|
||||
if (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 costEstimates)
|
||||
{
|
||||
if (costEstimate == null) continue;
|
||||
SbmItemLink itemLink = dataItemMgr.CreateItemLink(Sbm.ItemLinkType.ItemCostEstimate, Sbm.ItemType.Commodity, Id, Sbm.ItemType.Unknown, new SysId());
|
||||
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.ItemCostEstimate, Sbm.ItemType.Commodity, Id, itemLinks, userContext.DbUpdateInfo))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
SetErrorState("Failed to save cost estimate item links - " + dataItemMgr.ErrorState);
|
||||
}
|
||||
if (itemLinks != null)
|
||||
itemLinks.Clear();
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
// Commodity processes.
|
||||
public override List<SbmItemProcess> GetProcesses(bool activeOnly)
|
||||
{
|
||||
//ToDo need to creat SbmProcessMgr_Dbas-ItemProcess inorder to do processMgr.???
|
||||
ClearErrorState();
|
||||
List<SbmItemProcess> itemProcesesCopy = null;
|
||||
if (activeOnly)
|
||||
{
|
||||
// Retrieve the list of 'active' processes for this item.
|
||||
processMgr.GetProcessesForItem(Sbm.ItemType.Commodity, Id, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Full list required - check whether the internal list has been populated yet.
|
||||
if (itemProcesses == null && SysId.IsValid(Id) && processMgr != null)
|
||||
{
|
||||
// Get the list of processes.
|
||||
processMgr.GetProcessesForItem(Sbm.ItemType.Commodity, Id, false);
|
||||
}
|
||||
// Clone the list.
|
||||
itemProcesesCopy = itemProcesses.Clone();
|
||||
}
|
||||
if (itemProcesesCopy != null) itemProcesesCopy.Sort();
|
||||
return itemProcesesCopy;
|
||||
}
|
||||
public override bool SetProcesses(List<SbmItemProcess> itemProcessesNew)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (itemProcesses != null) itemProcesses.Clear();
|
||||
// Copy all items from the specified list.
|
||||
itemProcesses = itemProcessesNew.Clone();
|
||||
return !HasErrorState();
|
||||
}
|
||||
public override bool CommitProcesses()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!processMgr.StoreItemProcesses(Sbm.ItemType.Commodity, Id, itemProcesses, userContext.DbUpdateInfo))
|
||||
SetErrorState(processMgr.ErrorState.ToString());
|
||||
return !HasErrorState();
|
||||
}
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using System;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmConstituent_Dbas : SbmConstituent
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmConstituent_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, SysId assocId, Sbm.ConstituentType constituentType, ushort flags) :
|
||||
base(userContext, id, affIdOwner, assocId, constituentType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasConstituents()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.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;
|
||||
}
|
||||
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
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 SbmContainerItem_Dbas : SbmContainerItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmContainerItem_Dbas(SbmUserContext userContext, SysId containerId, Sbm.ItemType itemType, SysId itemId, ushort flags) :
|
||||
base(userContext, containerId, itemType, itemId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
ContainerId = containerId;
|
||||
ItemType = itemType;
|
||||
ItemId = itemId;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated Data Elements.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,103 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
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.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmContainer_Dbas : SbmContainer
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmContainer_Dbas(SbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.ContainerCategory containerCategory, Sbm.ContainerType containerType, ushort flags) :
|
||||
base(userContext, id, affiliateIdOwner, containerCategory, containerType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Id = id;
|
||||
AffiliateIdOwner = affiliateIdOwner;
|
||||
ContainerCategory = containerCategory;
|
||||
ContainerType = containerType;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated Data Elements.
|
||||
public override bool HasItems()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using System;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmItemBatch_Dbas : SbmItemBatch
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmItemBatch_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, Sbm.ItemBatchType itemBatchType, String reference, ushort flags) :
|
||||
base(userContext, id, affIdOwner, itemBatchType, reference)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmItemLink_Dbas : SbmItemLink
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmItemLink_Dbas(SbmUserContext userContext, SysId id, Sbm.ItemLinkType itemLinkType, Sbm.ItemType itemTypeFrom, SysId itemIdFrom, Sbm.ItemType itemTypeTo, SysId itemIdTo, ushort flags) :
|
||||
base(userContext, id, itemLinkType, itemTypeFrom, itemIdFrom, itemTypeTo, itemIdTo)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
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 SbmItemProcess_Dbas : SbmItemProcess
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmItemProcess_Dbas(SbmUserContext userContext, Sbm.ItemType itemType, SysId itemId, SysId processId, ushort flags) :
|
||||
base(userContext, itemType, itemId, processId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
/*public override SbmItemProcess Clone()
|
||||
{
|
||||
SbmItemProcess_Dbas itemProcess_Dbas = new SbmItemProcess_Dbas(SessionProfile, ItemType, ItemId, ProcessId, Flags);
|
||||
itemProcess_Dbas.Seq = Seq;
|
||||
itemProcess_Dbas.Completed = Completed;
|
||||
itemProcess_Dbas.AssocIdContractor = AssocIdContractor;
|
||||
itemProcess_Dbas.AmountNet = AmountNet;
|
||||
itemProcess_Dbas.Notes = Notes;
|
||||
itemProcess_Dbas.Status = Status;
|
||||
//itemProcess_Dbas.ProcessCategory = ProcessCategory;
|
||||
//itemProcess_Dbas.ProcessType = ProcessType;
|
||||
itemProcess_Dbas.ProcessDescBrief
|
||||
itemProcess_Dbas.
|
||||
return itemProcess_Dbas;
|
||||
}*/
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmLocation_Dbas : SbmLocation
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmLocation_Dbas(SbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.LocationCategory locationCategory, ushort flags) :
|
||||
base(userContext, id, affiliateIdOwner, locationCategory)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated Data Elements.
|
||||
public override bool HaveMovement()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
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 SbmMovement_Dbas : SbmMovement
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmMovement_Dbas(SbmUserContext userContext, SysId id, Sbm.ItemType itemType, SysId itemId, Sbm.MovementType movementType, ushort flags) :
|
||||
base(userContext, id, itemType, itemId, movementType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Id = id;
|
||||
MovementType = movementType;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated Data Elements.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,121 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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 System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmPortfolioItem_Dbas : SbmPortfolioItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmPortfolioItem_Dbas(SbmUserContext userContext, SysId id, SysId affiliateIdOwner, Sbm.PortfolioItemType portfolioItemType, ushort flags) :
|
||||
base(userContext, id, affiliateIdOwner, portfolioItemType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.GetItemDocConsole(UserContext);
|
||||
if (!itemDocConsole.ClearItemDocs(new ItemId((short)Sbm.ItemType.PortfolioItem, Id), SaItemDocConsole.Category.Unknown, UserContext.DbUpdateInfo))
|
||||
return SetErrorState(itemDocConsole.ErrorStateMessage);
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmPriceSet_Dbas : SbmPriceSet
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SbmPriceMgr priceMgr;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmPriceSet_Dbas(SbmUserContext userContext, SysId id, SysId affiliateIdOwner, String reference, Sbm.PriceType priceType, ushort flags) :
|
||||
base(userContext, id, affiliateIdOwner, reference, priceType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (priceMgr != null) priceMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
public bool InitPriceMgr()
|
||||
{
|
||||
if (priceMgr == null)
|
||||
priceMgr = SbmGlobals.System.CreatePriceMgr(userContext);
|
||||
return (priceMgr != null);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasPrices()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
InitPriceMgr();
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmPrice_Dbas : SbmPrice
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmPrice_Dbas(SbmUserContext userContext, SysId priceSetId, SysId commodityId, Sbm.PriceType priceType, ushort flags) :
|
||||
base(userContext, priceSetId, commodityId, priceType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.ItemData;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmProcess_Dbas : SbmProcess
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SaItemDataConsole itemDataConsole;
|
||||
private SbmDataItemMgr dataItemMgr;
|
||||
private readonly List<TypeCodeDesc> itemDataTypes;
|
||||
private static readonly String codeDelim = ",";
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmProcess_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, Sbm.ProcessCategory processCategory, ushort flags) :
|
||||
base(userContext, id, affIdOwner, processCategory)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
itemDataTypes = SbmSystem.GetCodesOfType(userContext, Sbm.SystemCode.ItemDataType);
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (dataItemMgr != null) dataItemMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
private SbmDataItemMgr DataItemMgr { get { if (dataItemMgr == null) dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext); return dataItemMgr; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s a t i o n
|
||||
//-------------------------------------------------------------------
|
||||
private void InitItemDataConsole()
|
||||
{
|
||||
if (itemDataConsole == null)
|
||||
itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// 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();
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole == null || !SysId.IsValid(Id)) return false;
|
||||
|
||||
SaItemData.Params prmItemData = new SaItemData.Params();
|
||||
prmItemData.IncludedItemIds.Add(new ItemId((short)Sbm.ItemType.Process, Id));
|
||||
prmItemData.IncludedDataTypes.Add(GetCodeForCostCode(SbmProcessCostCode.Fixed_Unit));
|
||||
prmItemData.IncludedDataTypes.Add(GetCodeForCostCode(SbmProcessCostCode.Fixed_Job));
|
||||
prmItemData.IncludedDataTypes.Add(GetCodeForCostCode(SbmProcessCostCode.Labour_Unit));
|
||||
prmItemData.IncludedDataTypes.Add(GetCodeForCostCode(SbmProcessCostCode.Labour_Job));
|
||||
return itemDataConsole.ItemDataExists(prmItemData);
|
||||
}
|
||||
public override bool HasCostCodes(SbmProcessCostCode processCostCode)
|
||||
{
|
||||
ClearErrorState();
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole == null || !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.IncludedItemIds.Add(new ItemId((short)Sbm.ItemType.Process, Id));
|
||||
prmItemData.IncludedDataTypes.Add(itemDataTypeCode);
|
||||
bHas = 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);
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole != null || !SysId.IsValid(Id) && !StringUtil.IsEmpty(itemDataTypeCode))
|
||||
{
|
||||
SaItemData.Params prmItemData = new SaItemData.Params();
|
||||
prmItemData.IncludedItemIds.Add(new ItemId((short)Sbm.ItemType.Process, Id));
|
||||
prmItemData.IncludedDataTypes.Add(itemDataTypeCode);
|
||||
List<SaItemData> itemDatas = 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);
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole != null || !SysId.IsValid(Id) && !StringUtil.IsEmpty(itemDataTypeCode))
|
||||
{
|
||||
SaItemData.Params prmItemData = new SaItemData.Params();
|
||||
prmItemData.IncludedItemIds.Add(new ItemId((short)Sbm.ItemType.Process, Id));
|
||||
prmItemData.IncludedDataTypes.Add(itemDataTypeCode);
|
||||
List<SaItemData> itemDatas = 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 = 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 (!itemDataConsole.Store(itemData, userContext.DbUpdateInfo))
|
||||
{
|
||||
SetErrorState(itemDataConsole.ErrorStateMessage);
|
||||
}
|
||||
}
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
public override bool ClearCostCodes(SbmProcessCostCode processCostCode)
|
||||
{
|
||||
ClearErrorState();
|
||||
// Identify process code type code.
|
||||
String itemDataTypeCode = GetCodeForCostCode(processCostCode);
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole != null || !SysId.IsValid(Id) && !StringUtil.IsEmpty(itemDataTypeCode))
|
||||
{
|
||||
if (!itemDataConsole.ClearItemData(new ItemId((short)Sbm.ItemType.Process, Id), itemDataTypeCode, userContext.DbUpdateInfo))
|
||||
{
|
||||
SetErrorState(itemDataConsole.ErrorStateMessage);
|
||||
}
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
public override bool ClearCostCodes()
|
||||
{
|
||||
ClearErrorState();
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasReferences()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
if (DataItemMgr.HasItemLinks(Sbm.ItemType.Process, Id)) return true;
|
||||
// Is this process referenced by Constituents.
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.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();
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole == null || !SysId.IsValid(Id)) return false;
|
||||
SaItemData.Params prmItemData = new SaItemData.Params();
|
||||
prmItemData.IncludedItemIds.Add(new ItemId((short)Sbm.ItemType.Process, Id));
|
||||
return itemDataConsole.ItemDataExists(prmItemData);
|
||||
}
|
||||
public override bool ClearAssociatedData()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return SetErrorState("item not specified");
|
||||
// Clear Item data records.
|
||||
InitItemDataConsole();
|
||||
if (itemDataConsole != null)
|
||||
{
|
||||
SaItemData.Params prmItemData = new SaItemData.Params();
|
||||
prmItemData.IncludedItemIds.Add(new ItemId((short)Sbm.ItemType.Process, Id));
|
||||
List<SaItemData> itemDatas = itemDataConsole.GetItemDataList(prmItemData);
|
||||
foreach (SaItemData itemData in itemDatas)
|
||||
{
|
||||
itemDataConsole.Remove(itemData, userContext.DbUpdateInfo);
|
||||
}
|
||||
itemDatas.Clear();
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,377 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmRequirement_Dbas : SbmRequirement
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private class Managers
|
||||
{
|
||||
public SbmDataItemMgr DataItemMgr { get; set; }
|
||||
public SbmProcessMgr ProcessMgr { get; set; }
|
||||
public SbmStockMgr StockMgr { get; set; }
|
||||
public SbmTransactionMgr TransactionMgr { get; set; }
|
||||
}
|
||||
private readonly Managers mgrs = new Managers();
|
||||
private readonly String statusCancelled = SacsSystem.GetStatusCode(SaStatus.Cancelled);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmRequirement_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, SysId assocId, SysId transId, Sbm.RequirementType requirementType, ushort flags) :
|
||||
base(userContext, id, affIdOwner, assocId, transId, requirementType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (mgrs.StockMgr != null) mgrs.StockMgr.Dispose();
|
||||
if (mgrs.TransactionMgr != null) mgrs.TransactionMgr.Dispose();
|
||||
if (mgrs.ProcessMgr != null) mgrs.ProcessMgr.Dispose();
|
||||
if (mgrs.DataItemMgr != null) mgrs.DataItemMgr.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
private SbmTransactionMgr TransactionMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgrs.TransactionMgr == null)
|
||||
mgrs.TransactionMgr = SbmGlobals.System.CreateTransactionMgr(userContext);
|
||||
return mgrs.TransactionMgr;
|
||||
}
|
||||
}
|
||||
private SbmDataItemMgr DataItemMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgrs.DataItemMgr == null)
|
||||
mgrs.DataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
return mgrs.DataItemMgr;
|
||||
}
|
||||
}
|
||||
private SbmProcessMgr ProcessMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgrs.ProcessMgr == null)
|
||||
mgrs.ProcessMgr = SbmGlobals.System.CreateProcessMgr(userContext);
|
||||
return mgrs.ProcessMgr;
|
||||
}
|
||||
}
|
||||
private SbmStockMgr StockMgr
|
||||
{
|
||||
get
|
||||
{
|
||||
if (mgrs.StockMgr == null)
|
||||
mgrs.StockMgr = SbmGlobals.System.CreateStockMgr(userContext);
|
||||
return mgrs.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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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, Sbm.ItemType.Requirement, Id, itemLinks, userContext.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, userContext.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, userContext.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, userContext.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,37 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using System;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmSysParam_Dbas : SbmSysParam
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmSysParam_Dbas(SbmUserContext userContext, SysId id, Sbm.SysParamCategory category, String name, ushort flags) :
|
||||
base(userContext, id, category, name)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmSystemAccountUser_Dbas : SbmSystemAccountUser
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmSystemAccountUser_Dbas(SbmUserContext userContext, SysId accountId, SysId userId, ushort flags) :
|
||||
base(userContext, accountId, userId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmSystemAccount_Dbas : SbmSystemAccount
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmSystemAccount_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId assocId, ushort flags) :
|
||||
base(userContext, id, affIdOwner, systemAccountType, interfaceId, assocId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasUsers()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmSystemUser_Dbas : SbmSystemUser
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmSystemUser_Dbas(SbmUserContext userContext, SysId id, SysId affIdOwner, SysId interfaceId, SysId affiliateId, ushort flags) :
|
||||
base(userContext, id, affIdOwner, interfaceId, affiliateId)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,523 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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.Base;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmTransaction_Dbas : SbmTransaction
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
private SbmAccountMgr accountMgr;
|
||||
private SbmDataItemMgr dataItemMgr;
|
||||
private SbmStockMgr stockMgr;
|
||||
private SbmTransactionMgr transactionMgr;
|
||||
private SbmAccountsDfn accountDfn = null;
|
||||
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(SbmUserContext userContext, SysId id, SysId affIdOwner, SysId assocId, Sbm.TransactionType transactionType, ushort flags) :
|
||||
base(userContext, id, affIdOwner, assocId, transactionType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
transactionTypes = SbmSystem.GetCodesOfType(userContext, Sbm.SystemCode.TransactionType);
|
||||
transactionStatusCats = SbmSystem.GetCodesOfType(userContext, Sbm.SystemCode.TransactionStatusCat);
|
||||
requirementStatusCats = SbmSystem.GetCodesOfType(userContext, Sbm.SystemCode.RequirementStatusCat);
|
||||
constituentStatusCats = SbmSystem.GetCodesOfType(userContext, Sbm.SystemCode.ConstituentStatusCat);
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
if (accountMgr != null) accountMgr.Dispose();
|
||||
if (transactionMgr != null) transactionMgr.Dispose();
|
||||
if (dataItemMgr != null) dataItemMgr.Dispose();
|
||||
if (accountDfn != null) accountDfn.Dispose();
|
||||
}
|
||||
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 (accountDfn == null) accountDfn = new SbmAccountsDfn(userContext);
|
||||
if (accountDfn != null)
|
||||
{
|
||||
if (accountDfn.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, userContext.GetOwnerOption_UpdateLimit(Sbm.OrgOption_PeriodDays.UpdateClosedTransaction, 0));
|
||||
DateTime closed = Closed;
|
||||
detailsAreReadOnly = (DateUtil.IsValid(closed) && closed <= DateTime.Today.AddDays(-graceDaysUpdateClosedTrans));
|
||||
}
|
||||
}
|
||||
|
||||
return detailsAreReadOnly;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Internal Processing.
|
||||
public bool InitAccountMgr()
|
||||
{
|
||||
if (accountMgr == null)
|
||||
accountMgr = SbmGlobals.System.CreateAccountMgr(userContext);
|
||||
return (accountMgr != null);
|
||||
}
|
||||
public bool InitDataItemMgr()
|
||||
{
|
||||
if (dataItemMgr == null)
|
||||
dataItemMgr = SbmGlobals.System.CreateDataItemMgr(userContext);
|
||||
return (dataItemMgr != null);
|
||||
}
|
||||
public bool InitStockMgr()
|
||||
{
|
||||
if (stockMgr == null)
|
||||
stockMgr = SbmGlobals.System.CreateStockMgr(userContext);
|
||||
return (stockMgr != null);
|
||||
}
|
||||
public bool InitTransactionMgr()
|
||||
{
|
||||
if (transactionMgr == null)
|
||||
transactionMgr = SbmGlobals.System.CreateTransactionMgr(userContext);
|
||||
return (transactionMgr != null);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool IsReferencedByOtherTransactions()
|
||||
{
|
||||
ClearErrorState();
|
||||
InitTransactionMgr();
|
||||
return 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();
|
||||
InitTransactionMgr();
|
||||
return transactionMgr.TransactionHasConstituents(Id, constituentStatusCat);
|
||||
}
|
||||
public override bool HasContainerItems()
|
||||
{
|
||||
ClearErrorState();
|
||||
InitTransactionMgr();
|
||||
return transactionMgr.TransactionHasContainerItems(Id);
|
||||
}
|
||||
public override bool HasStockMovements()
|
||||
{
|
||||
ClearErrorState();
|
||||
InitTransactionMgr();
|
||||
return transactionMgr.TransactionHasStockMovements(Id);
|
||||
}
|
||||
public override bool HasPendingStockMovements()
|
||||
{
|
||||
ClearErrorState();
|
||||
InitTransactionMgr();
|
||||
return 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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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) && InitTransactionMgr())
|
||||
{
|
||||
// Retrieve the current set of requirements for this transaction.
|
||||
SbmRequirement.Params prmRequirement = new SbmRequirement.Params();
|
||||
//prmRequirement.RequirementStatusCat = requirementStatusCat;
|
||||
prmRequirement.TransIncludedIds.Add(Id);
|
||||
return transactionMgr.GetRequirementList(prmRequirement);
|
||||
}
|
||||
return new List<SbmRequirement>();
|
||||
}
|
||||
public override bool ItemsRequireJobNumber()
|
||||
{
|
||||
// Check whether Job Number should be allocated:
|
||||
SbmConfigConsole configConsole = SbmGlobals.GetConfigConsole(userContext.SessionContext);
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.SalesOrderItemJobNumber) && SbmGlobals.Application.ColumnExists(userContext.SessionContext, 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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext) as SacsDatabase;
|
||||
if (db == null) return SetErrorState("Database not available");
|
||||
if (!SysId.IsValid(Id)) return SetErrorState("transaction does not exist");
|
||||
if (!InitTransactionMgr()) return SetErrorState("requirement manager is not available");
|
||||
// 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(userContext.Organisation.AffiliateId);
|
||||
/*
|
||||
// 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, 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() && InitTransactionMgr())
|
||||
{
|
||||
List<ColumnDfn> columnsQuery = new List<ColumnDfn>();
|
||||
String colRequirement_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Requirement_Id);
|
||||
SbmRequirement.Params prmRequirement = new SbmRequirement.Params();
|
||||
prmRequirement.TransIncludedIds.Add(Id);
|
||||
using (DbResultSet dbResultSet = 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 (transactionMgr.UpdateRequirement(requirement, userContext.DbUpdateInfo))
|
||||
{
|
||||
if (!requirement.CommitAssociatedData())
|
||||
SetErrorState("Failed to update requirement's data: " + requirement.ErrorState);
|
||||
}
|
||||
else SetErrorState("Failed to update requirement: " + transactionMgr.ErrorState);
|
||||
requirementsNotUpdated.Remove(requirement);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Requirement not in list - remove it.
|
||||
SbmRequirement requirement = transactionMgr.GetRequirement(prmRequirement);
|
||||
if (requirement != null)
|
||||
{
|
||||
if (!transactionMgr.DeleteRequirement(requirement, TransactionType, userContext.DbUpdateInfo))
|
||||
SetErrorState("Failed to remove requirement: " + transactionMgr.ErrorState);
|
||||
}
|
||||
else SetErrorState("Failed to retrieve requirement for deletion: " + transactionMgr.ErrorState);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 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 (transactionMgr.InsertRequirement(requirementNotUpdate, userContext.DbUpdateInfo))
|
||||
{
|
||||
if (!requirementNotUpdate.CommitAssociatedData())
|
||||
SetErrorState("Failed to update requirement's data: " + requirementNotUpdate.ErrorState);
|
||||
}
|
||||
else SetErrorState("Failed to create requirement: " + transactionMgr.ErrorState);
|
||||
}
|
||||
}
|
||||
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 = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
if (!HasErrorState())
|
||||
{
|
||||
// Delete interface data items.
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.Transaction, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState("Failed to clear interface data items - " + interfaceConsole.ErrorState);
|
||||
}
|
||||
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.ErrorState());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve item document console");
|
||||
itemDocConsole = null; // Do not delete this global object.*/
|
||||
}
|
||||
// Delete any associated items links.
|
||||
if (!HasErrorState())
|
||||
{
|
||||
if (InitDataItemMgr())
|
||||
{
|
||||
if (!dataItemMgr.ClearDataItem(Sbm.ItemType.Transaction, Id))
|
||||
SetErrorState("failed to clear transaction item links");
|
||||
}
|
||||
else SetErrorState("failed to initialise data item manager");
|
||||
}
|
||||
// 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() && InitTransactionMgr())
|
||||
{
|
||||
List<SbmRequirement> requirements = GetRequirements();
|
||||
if (requirements != null && requirements.Count > 0)
|
||||
{
|
||||
foreach (SbmRequirement requirement in requirements)
|
||||
{
|
||||
if (!transactionMgr.DeleteRequirement(requirement, TransactionType, userContext.DbUpdateInfo))
|
||||
SetErrorState(transactionMgr.ErrorState.ToString());
|
||||
requirements = null;
|
||||
}
|
||||
}
|
||||
if (requirements != null) requirements.Clear();
|
||||
}
|
||||
// Clear addresses.
|
||||
if (!HasErrorState() && InitAccountMgr())
|
||||
{
|
||||
if (!accountMgr.ClearAddressesFor(Sbm.ItemType.Transaction, new ItemId()))
|
||||
SetErrorState("failed to clear addresses - " + accountMgr.ErrorState);
|
||||
}
|
||||
// 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);
|
||||
SetErrorState("failed to clear Transaction references");
|
||||
}
|
||||
}
|
||||
else SetErrorState("database is unavailable");
|
||||
return !HasErrorState();
|
||||
}
|
||||
public override bool HasPayments()
|
||||
{
|
||||
if (transactionPayments != null) return true;
|
||||
else if (SysId.IsValid(Id) && InitDataItemMgr() && dataItemMgr != null)
|
||||
{
|
||||
SbmItemLink.Params prmItemLink = new SbmItemLink.Params
|
||||
{
|
||||
ItemLinkType = Sbm.ItemLinkType.Transaction_Payment,
|
||||
ItemTypeFrom = Sbm.ItemType.Transaction,
|
||||
ItemIdFrom = Id
|
||||
};
|
||||
foreach (SbmItemLink itemLink in 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) && InitDataItemMgr() && dataItemMgr != null)
|
||||
{
|
||||
SbmItemLink.Params prm = new SbmItemLink.Params();
|
||||
prm.ItemLinkType = Sbm.ItemLinkType.Transaction_Payment;
|
||||
prm.ItemTypeFrom = Sbm.ItemType.Transaction;
|
||||
prm.ItemIdFrom = Id;
|
||||
List<SbmItemLink> itemLinks = 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) && InitDataItemMgr() && dataItemMgr != null)
|
||||
{
|
||||
// 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 = 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 (dataItemMgr.StoreFromItemLinks(Sbm.ItemLinkType.Transaction_Payment, Sbm.ItemType.Transaction, Id, itemLinks, userContext.DbUpdateInfo))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
SetErrorState("Failed to save transaction payment item links - " + dataItemMgr.ErrorState);
|
||||
}
|
||||
if (itemLinks != null)
|
||||
itemLinks.Clear();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,140 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
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.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmVehicleClass_Dbas : SbmVehicleClass
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmVehicleClass_Dbas(SbmUserContext userContext, SysId id, ushort flags) :
|
||||
base(userContext, id)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// ToDo SbmVehicleClass ~ ConstructionCaption on GtDescForCode
|
||||
public override String ConstructCaption(String makeCode, String model, String derivative)
|
||||
{
|
||||
String make = "";
|
||||
SbmSystem system = SbmGlobals.System;
|
||||
|
||||
SaCodeTypeConsole codeTypeConsole = SbmGlobals.Application.GetCodeTypeConsole(userContext);
|
||||
// Identify make:
|
||||
if (system == null && codeTypeConsole == null)
|
||||
{
|
||||
//make = codeTypeConsole.GetDescForCode(SbmSystem.GetCodeTypeCode(Sbm.ApplCodeType.VehicleMake), makeCode);
|
||||
}
|
||||
if (StringUtil.IsEmpty(make)) make = makeCode;
|
||||
// Build class description:
|
||||
String caption = derivative;
|
||||
if (caption.IndexOf(make, 0) < 0 && caption.IndexOf(model, 0) < 0)
|
||||
{
|
||||
// Prefix the make and model if neither is found in the caption:
|
||||
caption = make + " " + model + " " + derivative;
|
||||
}
|
||||
return caption.Trim();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override long GetVehicleCount()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return 0;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableVehicle = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle);
|
||||
if (db.TableExists(tableVehicle))
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId) + "=" + Id.ToString());
|
||||
db.GetRowCount(tableVehicle, filter.Concat(" AND ", "(", ")"));
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
public override bool HasVehicles()
|
||||
{
|
||||
return GetVehicleCount() > 0;
|
||||
}
|
||||
public override bool ClearDependentData()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (this == null || !SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null && !HasErrorState())
|
||||
{
|
||||
if (!HasErrorState())
|
||||
{
|
||||
/* ToDo SaItemDocConsole for Remove document references:
|
||||
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(userContext.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(userContext.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 = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
//DbUpdateInfo dbUpdateInfo = userContext.DbUpdateInfo;
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState(interfaceConsole.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve interface console");
|
||||
interfaceConsole = null; // Do not delete this global object.
|
||||
}
|
||||
}
|
||||
else SetErrorState("database is unavailable");
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmVehicleEvent_Dbas : SbmVehicleEvent
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmVehicleEvent_Dbas(SbmUserContext userContext, SysId vehicleId, Sbm.VehicleEventType vehicleEventType, ushort flags) :
|
||||
base(userContext, vehicleId, vehicleEventType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
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 SbmVehicleFeature_Dbas : SbmVehicleFeature
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmVehicleFeature_Dbas(SbmUserContext userContext, SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType, ushort flags) :
|
||||
base(userContext, vehicleId, vehicleFeatureSource, vehicleFeatureType)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,272 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
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 System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus
|
||||
{
|
||||
//=======================================================================
|
||||
class SbmVehicle_Dbas : SbmVehicle
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmUserContext userContext;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmVehicle_Dbas(SbmUserContext userContext, SysId id, ushort flags) :
|
||||
base(userContext, id)
|
||||
{
|
||||
this.userContext = userContext;
|
||||
Flags = flags;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// O d o m e t e r R e a d i n g
|
||||
//-------------------------------------------------------------------
|
||||
public override bool SetOdometerReading(decimal odometer)
|
||||
{
|
||||
if (SysId.IsValid(Id) || odometer < 1) return false;
|
||||
DateTime todayDate = DateTime.MinValue;
|
||||
SbmAssetMgr assetMgr = SbmGlobals.System.CreateAssetMgr(userContext);
|
||||
if (assetMgr != null)
|
||||
{
|
||||
// Check whether there is already a reading for today.
|
||||
SbmVehicleEvent vehicleEventUpdated = null;
|
||||
SbmVehicleEvent.Params prm = new SbmVehicleEvent.Params();
|
||||
prm.VehicleId = Id;
|
||||
prm.VehicleEventType = Sbm.VehicleEventType.Odometer;
|
||||
foreach (SbmVehicleEvent vehicleEvent in assetMgr.GetVehicleEventList(prm))
|
||||
{
|
||||
// Check whether this event should be used in preference to any previously found.
|
||||
if (vehicleEvent.StartOn.Date == todayDate)
|
||||
{
|
||||
// Always refresh any odometer reading recorded today.
|
||||
vehicleEventUpdated = vehicleEvent;
|
||||
break;
|
||||
}
|
||||
else if (vehicleEventUpdated == null && vehicleEvent.Odometer == odometer)
|
||||
vehicleEventUpdated = vehicleEvent; // Events with the same reading can be updated (to refresh the date).
|
||||
else if (vehicleEventUpdated == null && vehicleEvent.StartOn.Date > vehicleEventUpdated.StartOn.Date && vehicleEvent.Odometer == odometer)
|
||||
vehicleEventUpdated = vehicleEvent; // Events with the same reading and more recent date can be refreshed.
|
||||
}
|
||||
if (vehicleEventUpdated != null)
|
||||
{
|
||||
vehicleEventUpdated.StartOn = todayDate;
|
||||
vehicleEventUpdated.FinishOn = todayDate;
|
||||
vehicleEventUpdated.Odometer = odometer;
|
||||
if (assetMgr.UpdateVehicleEvent(vehicleEventUpdated, userContext.DbUpdateInfo))
|
||||
{
|
||||
}
|
||||
#if _DEBUG
|
||||
else TRACE("SapVehicle::SetOdometerReading: Failed to update vehicle event - %s\n", assetMgr.ErrorState.Message.ToString());
|
||||
#endif
|
||||
}
|
||||
else
|
||||
{
|
||||
// Create a new reading.
|
||||
SbmVehicleEvent vehicleEvent = assetMgr.CreateVehicleEvent(Id, Sbm.VehicleEventType.Odometer);
|
||||
if (vehicleEvent != null)
|
||||
{
|
||||
vehicleEventUpdated.StartOn = todayDate;
|
||||
vehicleEventUpdated.FinishOn = todayDate;
|
||||
vehicleEventUpdated.Odometer = odometer;
|
||||
if (assetMgr.InsertVehicleEvent(vehicleEvent, userContext.DbUpdateInfo))
|
||||
{
|
||||
}
|
||||
#if _DEBUG
|
||||
else TRACE("SapVehicle::SetOdometerReading: Failed to add vehicle event - %s\n", assetMgr.ErrorState.Message.ToString());
|
||||
#endif
|
||||
}
|
||||
#if _DEBUG
|
||||
else TRACE("SapVehicle::SetOdometerReading: Failed to create vehicle event - %s\n", assetMgr.ErrorState.Message.ToString());
|
||||
#endif
|
||||
}
|
||||
// Update this vehicle itself.
|
||||
LatestOdo = odometer;
|
||||
LatestOdoOn = todayDate;
|
||||
assetMgr.UpdateVehicle(this, userContext.DbUpdateInfo);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool HasAssets()
|
||||
{
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableAsset = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset);
|
||||
if (db.TableExists(tableAsset))
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_ItemType) + "=" + ((int)Sbm.ItemType.Vehicle).ToString());
|
||||
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_ItemId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tableAsset, filter.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public override bool HasProcesses()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
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 HasEvents()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableVehicleEvent = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent);
|
||||
if (db.TableExists(tableVehicleEvent))
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId) + "=" + Id.ToString());
|
||||
return db.GetRowCount(tableVehicleEvent, filter.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override long GetFeatureCount()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return 0;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
String tableVehicleFeature = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature);
|
||||
if (db.TableExists(tableVehicleFeature))
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId) + "=" + Id.ToString());
|
||||
db.GetRowCount(tableVehicleFeature, filter.Concat(" AND ", "(", ")"));
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
public override bool HasFeatures()
|
||||
{
|
||||
return GetFeatureCount() > 0;
|
||||
}
|
||||
public override bool HasInterfaceDataItems()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
SaInterfaceConsole interfaceConsole = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole == null) return false;
|
||||
return interfaceConsole.ItemHasDataItems(new ItemId((short)Sbm.ItemType.Vehicle, Id));
|
||||
}
|
||||
public override bool HpiCheckCount()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
|
||||
// ToDo ItemDataConsole & SbmItemData.Params for HpiCheckCount
|
||||
/*SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext);
|
||||
if (itemDataConsole == null)
|
||||
{
|
||||
SbmItemData.Params prmData = new SbmItemData.Params();
|
||||
prmData.lItemId.Add(SaItemId.Id, Sbm.ItemType.Vehicle);
|
||||
List<TypeCodeDesc> itemDataTypes = SbmSystem.GetCodesOfType(Sbm.SystemCode.ItemDataType);
|
||||
prmData.lDataType.Add(itemDataTypes.GetCodeForType(Sbm.ItemData.Vehicle_HpiResponse));
|
||||
prmData.lDataType.RemoveEmpty();
|
||||
if (!StringUtil.IsEmpty(prmData.lDataType))
|
||||
itemDataConsole.GetItemDataCount(prmData);
|
||||
}*/
|
||||
return false;
|
||||
}
|
||||
public override bool HasItemData()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(Id)) return false;
|
||||
// ToDo ItemDataConsole & SbmItemData.Params for HasItemData
|
||||
/*SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext);
|
||||
SbmItemData.Params prmData = new SbmItemData.Params();
|
||||
prmData.lItemId.Add(Id, Sbm.ItemType.Vehicle);
|
||||
itemDataConsole != null && itemDataConsole.ItemDataExists(prmData);*/
|
||||
return false;
|
||||
}
|
||||
public override bool ClearDependentData()
|
||||
{
|
||||
ClearErrorState();
|
||||
if (this == null || !SysId.IsValid(Id)) return false;
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(userContext.SessionContext);
|
||||
if (db != null && !HasErrorState())
|
||||
{
|
||||
if (!HasErrorState())
|
||||
{
|
||||
/* ToDo SaItemDocConsole for Remove document references:
|
||||
SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(userContext.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(userContext.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 = SbmGlobals.Application.GetInterfaceConsole(userContext);
|
||||
if (interfaceConsole != null)
|
||||
{
|
||||
if (!interfaceConsole.ClearInterfaceDataItems(new ItemId((short)Sbm.ItemType.AssetCategory, Id), userContext.DbUpdateInfo))
|
||||
SetErrorState(interfaceConsole.ErrorState.ToString());
|
||||
}
|
||||
else SetErrorState("Failed to retrieve interface console");
|
||||
interfaceConsole = null; // Do not delete this global object.
|
||||
}
|
||||
}
|
||||
else SetErrorState("database is unavailable");
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.CodeTypes;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmCodeTypeConsole_Dbas : SaCodeTypeConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmCodeTypeConsole_Dbas(SacsDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.Diary;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmDiaryConsole_Dbas : SaDiaryConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmDiaryConsole_Dbas(SacsDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,163 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
using Sarand.Net.Standard.Base.ItemOptions;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.Interfaces;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmInterfaceConsole_Dbas : SaInterfaceConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly List<TypeCodeDesc> dataItemTypes;
|
||||
private readonly List<TypeCodeDesc> interfaceDataTypes;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmInterfaceConsole_Dbas(SbmUserContext userContext) : base(SbmGlobals.Application.GetDatabase(userContext.SessionContext) as SacsDatabase)
|
||||
{
|
||||
UserContext = userContext;
|
||||
dataItemTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ItemType);
|
||||
interfaceDataTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.InterfaceDataType);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
public override short InterfaceDataType { get { return (short)Sbm.ItemType.Interface; } }
|
||||
public override SaItemOptionConsole ItemOptionConsole { get { return SbmGlobals.Application.GetItemOptionConsole(UserContext); } }
|
||||
public override SaUpdateLogConsole UpdateLogConsole { get { return SbmGlobals.Application.GetUpdateLogConsole(UserContext); } }
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Utilities.
|
||||
public override String GetItemTypeDesc(short itemType)
|
||||
{
|
||||
return dataItemTypes.GetDescForType(itemType);
|
||||
}
|
||||
public override String GetItemCaption(ItemId itemId)
|
||||
{
|
||||
return GetItemTypeDesc(itemId.Type) + " #" + SysId.ToString(itemId.Id);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// R e g i s t e r I n t e r f a c e s
|
||||
//-------------------------------------------------------------------
|
||||
private List<TypeCodeDesc> GetInterfaceTypesForCategory(SaInterfaceCategory interfaceCategory)
|
||||
{
|
||||
if (interfaceCategory == SaInterfaceCategory.Website)
|
||||
return SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.InterfaceType_Website);
|
||||
if (interfaceCategory == SaInterfaceCategory.Accounts)
|
||||
return SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.InterfaceType_Accounts);
|
||||
if (interfaceCategory == SaInterfaceCategory.System)
|
||||
return SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.InterfaceType_System);
|
||||
if (interfaceCategory == SaInterfaceCategory.File)
|
||||
return SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.InterfaceType_File);
|
||||
return new List<TypeCodeDesc>();
|
||||
}
|
||||
public void RegisterInterfaces(String context)
|
||||
{
|
||||
foreach (SaInterfaceCategory interfaceCategory in EnumUtil.GetValues<SaInterfaceCategory>())
|
||||
{
|
||||
List<TypeCodeDesc> interfaceTypesForCategory = new List<TypeCodeDesc>();
|
||||
foreach (TypeCodeDesc interfaceType in GetInterfaceTypesForCategory(interfaceCategory))
|
||||
{
|
||||
if (InterfaceTypeValidForContextCategory(interfaceCategory, (short)interfaceType.Type))
|
||||
interfaceTypesForCategory.Add(interfaceType);
|
||||
}
|
||||
if (interfaceTypesForCategory.Count > 0)
|
||||
RegisterInterfaces(context, interfaceCategory, interfaceTypesForCategory, InterfaceAllowsDuplicates(interfaceCategory));
|
||||
}
|
||||
}
|
||||
public bool InterfaceAllowsDuplicates(SaInterfaceCategory interfaceCategory)
|
||||
{
|
||||
switch (interfaceCategory)
|
||||
{
|
||||
case SaInterfaceCategory.File:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public bool InterfaceTypeValidForContextCategory(SaInterfaceCategory interfaceCategory, short interfaceType)
|
||||
{
|
||||
return SbmGlobals.GetConfigConsole(UserContext.SessionContext).AllowInterface(UserContext, interfaceCategory, interfaceType);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n t e r f a c e A c c e s s C o n t r o l
|
||||
//-------------------------------------------------------------------
|
||||
public override bool CanCreateInterfaces()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
public override bool CanCreateInterfaces(String context, SaInterfaceCategory interfaceCategory)
|
||||
{
|
||||
switch (interfaceCategory)
|
||||
{
|
||||
case SaInterfaceCategory.System:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool CanCreateInterface(String context, SaInterfaceCategory interfaceCategory, short interfaceType)
|
||||
{
|
||||
switch (interfaceCategory)
|
||||
{
|
||||
case SaInterfaceCategory.System:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public override bool CanUpdateInterface(SaInterface interfaceObj)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
public override bool CanCopyInterfaces()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public override bool CanCopyInterfaces(String context, SaInterfaceCategory interfaceCategory)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public override bool CanCopyInterface(String context, SaInterfaceCategory interfaceCategory, short interfaceType)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public override bool CanCopyInterface(SaInterface interfaceObj)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public override bool IsCompatibleForInterfaceCopy(String context, SaInterfaceCategory interfaceCategory, int typeFrom, int typeTo)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
public override bool CanRemoveInterface(SaInterface interfaceObj)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// I n t e r f a c e E v e n t s
|
||||
//---------------------------------------------------------------
|
||||
public override void OnInterfaceCreated(SysId interfaceId)
|
||||
{
|
||||
}
|
||||
public override void OnInterfaceUpdated(SysId interfaceId)
|
||||
{
|
||||
}
|
||||
public override void OnInterfaceRemoved(SysId interfaceId)
|
||||
{
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ItemData;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmItemDataConsole_Dbas : SaItemDataConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmItemDataConsole_Dbas(SacsDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ItemDocs;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmItemDocConsole_Dbas : SaItemDocConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmItemDocConsole_Dbas(SacsDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.ItemOptions;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ItemOptions;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmItemOptionConsole_Dbas : SaItemOptionConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private SbmAccountMgr accountMgr = null;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmItemOptionConsole_Dbas(SacsDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
public override short ItemOptionDataType { get { return (short)Sbm.ItemType.ItemOption; } }
|
||||
public override SaUpdateLogConsole UpdateLogConsole { get { return SbmGlobals.Application.GetUpdateLogConsole(UserContext); } }
|
||||
private SbmAccountMgr AccountMgr { get { if (accountMgr == null) accountMgr = SbmGlobals.System.CreateAccountMgr(UserContext); return accountMgr; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I t e m O p t i o n D e f i n i t i o n s
|
||||
//-------------------------------------------------------------------
|
||||
public override List<SaItemOptionDfn> GetItemOptionDfnsForItem(ItemId itemId)
|
||||
{
|
||||
if (itemId.Type == (int)Sbm.ItemType.Association)
|
||||
return AccountMgr.GetOrganisationItemOptionDfns(itemId.Id);
|
||||
if (itemId.Type == (int)Sbm.ItemType.Interface)
|
||||
return SbmGlobals.Application.GetInterfaceConsole(UserContext).GetInterfaceItemOptionDfns(itemId.Id);
|
||||
return new List<SaItemOptionDfn>();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ReferenceData;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmReferenceDataConsole_Dbas : SaReferenceDataConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmReferenceDataConsole_Dbas(SbmUserContext userContext, SacsDatabase database) :
|
||||
base(database)
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmSessionContext SessionContext { get; }
|
||||
public SbmUserContext UserContext { get; }
|
||||
public override SaUpdateLogConsole UpdateLogConsole { get { return SbmGlobals.Application.GetUpdateLogConsole(UserContext); } }
|
||||
// Item types.
|
||||
public override short LanguageItemType { get { return (short)Sbm.ItemDataType.Unknown; } }
|
||||
public override short RegionItemType { get { return (short)Sbm.ItemDataType.Region; } }
|
||||
public override short CurrencyItemType { get { return (short)Sbm.ItemDataType.Currency; } }
|
||||
public override short TaxCodeItemType { get { return (short)Sbm.ItemDataType.Unknown; } }
|
||||
public override short UnitMeasureItemType { get { return (short)Sbm.ItemDataType.Unknown; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,264 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.Security;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmSecurityConsole_Dbas : SaSecurityConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SbmConfigConsole configConsole;
|
||||
private List<TypeCodeDesc> securityRights;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmSecurityConsole_Dbas(SacsDatabase database, SbmConfigConsole configConsole) : base(database)
|
||||
{
|
||||
this.configConsole = configConsole;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
public override short SecurityItemDataType { get { return (short)Sbm.ItemType.SecurityItem; } }
|
||||
public override short SecurityLinkDataType { get { return (short)Sbm.ItemType.SecurityLink; } }
|
||||
public override SaUpdateLogConsole UpdateLogConsole { get { return SbmGlobals.Application.GetUpdateLogConsole(UserContext); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// S e c u r i t y R i g h t s
|
||||
//-------------------------------------------------------------------
|
||||
protected List<TypeCodeDesc> GetSecurityRights()
|
||||
{
|
||||
if (securityRights == null)
|
||||
{
|
||||
securityRights = new List<TypeCodeDesc>();
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.AllowContacts))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.Affiliate_Create, "AffIns", "Affiliates - Create");
|
||||
securityRights.Add(Sbm.SecurityRight.Affiliate_Update, "AffUpd", "Affiliates - Update");
|
||||
securityRights.Add(Sbm.SecurityRight.Association_Create, "AssIns", "Associations - Create");
|
||||
securityRights.Add(Sbm.SecurityRight.Association_Update, "AssUpd", "Associations - Update");
|
||||
}
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.AllowCommodities))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.Commodity_Create, "CmdIns", "Commodities - Create");
|
||||
securityRights.Add(Sbm.SecurityRight.Commodity_Update, "CmdUpd", "Commodities - Update");
|
||||
if (configConsole.GetStockControlConfig(UserContext).AllowStockControl())
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.StockTake, "CmdStkTak", "Commodities - Stock Take");
|
||||
}
|
||||
}
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.AllowAssets))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.Asset_Create, "AssetIns", "Assets - Create");
|
||||
securityRights.Add(Sbm.SecurityRight.Asset_Update, "AssetUpd", "Assets - Update");
|
||||
}
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.AllowTransactions))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.Transaction_Create, "TraIns", "Transactions - Create");
|
||||
securityRights.Add(Sbm.SecurityRight.Transaction_Update, "TraUpd", "Transactions - Update");
|
||||
securityRights.Add(Sbm.SecurityRight.Transaction_Remove, "TraRem", "Transactions - Remove");
|
||||
securityRights.Add(Sbm.SecurityRight.Transaction_ByType, "TransType", "Transactions - Allow by type");
|
||||
securityRights.Add(Sbm.SecurityRight.Transaction_UpdateByTypeStatus, "UpdTransTypeStat", "Transactions - Update by type and status");
|
||||
}
|
||||
securityRights.Add(Sbm.SecurityRight.Security_Admin, "SecAdm", "Admin - Security");
|
||||
securityRights.Add(Sbm.SecurityRight.Database_Admin, "DbAdm", "Admin - Database");
|
||||
securityRights.Add(Sbm.SecurityRight.ReferenceData_Admin, "RefAdm", "Admin - Reference data");
|
||||
if (configConsole != null && configConsole.AllowInterfaces(UserContext))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.InterfaceConfig, "IntCfg", "Interfaces - Configuration");
|
||||
securityRights.Add(Sbm.SecurityRight.InterfaceByCategory, "IntCategory", "Interfaces - Allow by category");
|
||||
}
|
||||
securityRights.Add(Sbm.SecurityRight.Financial_Update, "FinUpd", "Financials - Update");
|
||||
securityRights.Add(Sbm.SecurityRight.Financial_View, "FinLst", "Financials - View");
|
||||
securityRights.Add(Sbm.SecurityRight.Financial_ViewByType, "FinType", "Financials - View by type");
|
||||
securityRights.Add(Sbm.SecurityRight.Financial_UpdateByType, "FinTypeUpd", "Financials - Update by type");
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.TimeRecording))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.TimesheetManager, "TimMgr", "Manage - Timesheets");
|
||||
}
|
||||
if (configConsole != null && configConsole.AllowOption(UserContext, Sbm.ConfigOption.AllowTasks))
|
||||
{
|
||||
securityRights.Add(Sbm.SecurityRight.TaskManager, "TskMgr", "Manage - Tasks");
|
||||
}
|
||||
}
|
||||
return securityRights;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// T r a n s a c t i o n s
|
||||
//-------------------------------------------------------------------
|
||||
private List<SysIdString> GetTransactionTypeStatusRights(bool fullList)
|
||||
{
|
||||
// Construct list of transaction types and statuses to use in security rights.
|
||||
List<SysIdString> transactionTypesStatus = new List<SysIdString>();
|
||||
foreach (TypeCodeDesc transactionType in SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.TransactionType))
|
||||
{
|
||||
Sbm.TransactionType transType = (Sbm.TransactionType)transactionType.Type;
|
||||
// Only interested in sales quotes and orders for now.
|
||||
bool bValidTransType = false;
|
||||
if (!bValidTransType) bValidTransType = (transType == Sbm.TransactionType.SalesQuote);
|
||||
if (!bValidTransType) bValidTransType = (transType == Sbm.TransactionType.SalesOrder);
|
||||
if (fullList || bValidTransType && configConsole.AllowTransactionType(UserContext, transType))
|
||||
{
|
||||
// Retrieve status categories for transaction type:
|
||||
foreach (TypeCodeDesc transactionStatus in GetTransactionStatusCats(transType))
|
||||
{
|
||||
SbmTransaction.StatusCat transStatusCat = (SbmTransaction.StatusCat)transactionStatus.Type;
|
||||
String sDesc = transactionType.Desc + " - " + transactionType.Desc;
|
||||
SysId transactionTypeIdStatus = GetTransactionTypeStatusId(transType, transStatusCat);
|
||||
if (fullList || configConsole.AllowTransactionType(UserContext, transType))
|
||||
transactionTypesStatus.Add(transactionTypeIdStatus, transactionStatus.Desc);
|
||||
}
|
||||
}
|
||||
}
|
||||
return transactionTypesStatus;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Status Cats
|
||||
private List<TypeCodeDesc> GetTransactionStatusCats(Sbm.TransactionType eType)
|
||||
{
|
||||
List<TypeCodeDesc> transactionStatusCats = new List<TypeCodeDesc>();
|
||||
List<TypeCodeDesc> transactionStatusCatsAllowed = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.TransactionStatusCat);
|
||||
switch (eType)
|
||||
{
|
||||
// NB Changes here may also need to be made in SapTransaction::GetTaxEffectiveDate()
|
||||
// and SapphireConsole::UseInProgressTaxDateAsTaxPoint():
|
||||
// Transaction types that have no 'Pending' stage:
|
||||
case Sbm.TransactionType.SalesLead:
|
||||
transactionStatusCatsAllowed.Add(transactionStatusCats.Find(item => item.Type == (int)SbmTransaction.StatusCat.Open));
|
||||
transactionStatusCatsAllowed.Add(transactionStatusCats.Find(item => item.Type == (int)SbmTransaction.StatusCat.Closed));
|
||||
break;
|
||||
// Transaction types that have no 'Open' stage:
|
||||
case Sbm.TransactionType.ProformaSalesOrder:
|
||||
case Sbm.TransactionType.SalesDispatch:
|
||||
case Sbm.TransactionType.ProformaPurchaseOrder:
|
||||
case Sbm.TransactionType.PurchaseDelivery:
|
||||
case Sbm.TransactionType.ProformaSalesInvoice:
|
||||
transactionStatusCatsAllowed.Add(transactionStatusCatsAllowed.Find(item => item.Type == (int)SbmTransaction.StatusCat.Pending));
|
||||
transactionStatusCatsAllowed.Add(transactionStatusCatsAllowed.Find(item => item.Type == (int)SbmTransaction.StatusCat.Closed));
|
||||
break;
|
||||
default:
|
||||
// All other types have the complete set:
|
||||
transactionStatusCats = transactionStatusCatsAllowed;
|
||||
break;
|
||||
}
|
||||
return transactionStatusCats;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Status Id.
|
||||
private SysId GetTransactionTypeStatusId(Sbm.TransactionType transactionType, SbmTransaction.StatusCat transactionStatusCat)
|
||||
{
|
||||
return new SysId(((int)transactionType * 100) + (int)transactionStatusCat);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// R e g i t e r S e c u r i t y R i g h t s
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
// Register Security Rights.
|
||||
public override void RegisterSecurityRights()
|
||||
{
|
||||
//---------------------------------------------------------------
|
||||
// Register data item types. [Not used - to demonstrate option]
|
||||
RegisterDataItemType((short)Sbm.ItemType.Commodity, "Commodity");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Register security rights.
|
||||
foreach (TypeCodeDesc securityRight in GetSecurityRights())
|
||||
{
|
||||
TypeCodeDesc secRight = securityRight;
|
||||
switch (secRight.Type)
|
||||
{
|
||||
case (int)Sbm.SecurityRight.Transaction_ByType:
|
||||
RegisterSecurityRight(secRight.Code, secRight.Desc, (short)Sbm.ItemType.TransactionType);
|
||||
break;
|
||||
case (int)Sbm.SecurityRight.Transaction_UpdateByTypeStatus:
|
||||
RegisterSecurityRight(secRight.Code, secRight.Desc, (short)Sbm.ItemType.TransactionTypeStatus);
|
||||
break;
|
||||
case (int)Sbm.SecurityRight.InterfaceByCategory:
|
||||
RegisterSecurityRight(secRight.Code, secRight.Desc, (short)Sbm.ItemType.InterfaceCategory);
|
||||
break;
|
||||
case (int)Sbm.SecurityRight.Financial_ViewByType:
|
||||
RegisterSecurityRight(secRight.Code, secRight.Desc, (short)Sbm.ItemType.FinancialType);
|
||||
break;
|
||||
case (int)Sbm.SecurityRight.Financial_UpdateByType:
|
||||
RegisterSecurityRight(secRight.Code, secRight.Desc, (short)Sbm.ItemType.FinancialType);
|
||||
break;
|
||||
default:
|
||||
RegisterSecurityRight(secRight.Code, secRight.Desc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Register the security data item types.
|
||||
if (configConsole != null)
|
||||
{
|
||||
// Transaction types:
|
||||
List<SysIdString> transactionTypesDesc = new List<SysIdString>();
|
||||
List<SysIdString> transactionTypesDescAllowed = new List<SysIdString>();
|
||||
foreach (TypeCodeDesc transactionType in SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.TransactionType))
|
||||
{
|
||||
if (configConsole.AllowTransactionType(UserContext, (Sbm.TransactionType)transactionType.Type))
|
||||
transactionTypesDescAllowed.Add(new SysId(transactionType.Type), transactionType.Desc);
|
||||
transactionTypesDesc.Add(new SysId(transactionType.Type), transactionType.Desc);
|
||||
}
|
||||
RegisterDataItems((short)Sbm.ItemType.TransactionType, transactionTypesDescAllowed, transactionTypesDesc);
|
||||
|
||||
// Transaction types with statuses:
|
||||
List<SysIdString> transactionTypesDescStatus = GetTransactionTypeStatusRights(false);
|
||||
List<SysIdString> transactionTypesDescStatusAllowed = GetTransactionTypeStatusRights(true);
|
||||
RegisterDataItems((short)Sbm.ItemType.TransactionTypeStatus, transactionTypesDescStatusAllowed, transactionTypesDescStatus);
|
||||
|
||||
// Interface Categories:
|
||||
List<SysIdString> interfaceCategoriesDesc = new List<SysIdString>();
|
||||
List<SysIdString> interfaceCategoriesDescAllowed = new List<SysIdString>();
|
||||
foreach (TypeCodeDesc interfaceCategory in SacsSystem.GetCodesOfType(SaSysCodeType.InterfaceCategory))
|
||||
{
|
||||
if (configConsole.AllowInterfaceCategory(UserContext, (SaInterfaceCategory)interfaceCategory.Type))
|
||||
interfaceCategoriesDescAllowed.Add(new SysId(interfaceCategory.Type), interfaceCategory.Desc);
|
||||
interfaceCategoriesDesc.Add(new SysId(interfaceCategory.Type), interfaceCategory.Desc);
|
||||
}
|
||||
RegisterDataItems((short)Sbm.ItemType.InterfaceCategory, interfaceCategoriesDescAllowed, interfaceCategoriesDesc);
|
||||
|
||||
// Financial types:
|
||||
List<SysIdString> financialTypesDesc = new List<SysIdString>();
|
||||
List<SysIdString> financialTypesDescAllowed = new List<SysIdString>();
|
||||
foreach (TypeCodeDesc financialType in SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.FinancialType))
|
||||
{
|
||||
financialTypesDescAllowed.Add(new SysId(financialType.Type), financialType.Desc);
|
||||
financialTypesDesc.Add(new SysId(financialType.Type), financialType.Desc);
|
||||
}
|
||||
RegisterDataItems((short)Sbm.ItemType.FinancialType, financialTypesDescAllowed, financialTypesDesc);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
}
|
||||
|
||||
CodeDesc GetSecurityRight(Sbm.SecurityRight securityRight)
|
||||
{
|
||||
return securityRights.GetCodeDescForType(securityRight);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.UpdateLog;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmUpdateLogConsole_Dbas : SaUpdateLogConsole_Dbas
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmUpdateLogConsole_Dbas(SacsDatabase database) : base(database)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get name for User Id.
|
||||
public override Dictionary<SysId, String> GetNameForUserIds(List<SysId> userIds)
|
||||
{
|
||||
Dictionary<SysId, String> userNames = new Dictionary<SysId, String>();
|
||||
SaSecurityConsole securityConsole = SbmGlobals.Application.GetSecurityConsole(UserContext);
|
||||
if (securityConsole != null)
|
||||
{
|
||||
userNames = securityConsole.GetSecurityItemDescriptions(userIds);
|
||||
}
|
||||
return userNames;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Data
|
||||
{
|
||||
//=======================================================================
|
||||
public abstract class SbmDbDataItem : DbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
/// <summary>
|
||||
/// Database information - object supplied by main application.
|
||||
/// <para>NB Application may have multiple databases with schema differences.</para>
|
||||
/// <para>Each instance of a DbDataItem must be database specific.</para>
|
||||
/// </summary>
|
||||
public class SbmDatabaseInfo : IDatabaseInfo
|
||||
{
|
||||
// Data members.
|
||||
private readonly List<DbDfnTable> tables;
|
||||
private static readonly String defaultSchemaName = "dbo";
|
||||
// Construction.
|
||||
public SbmDatabaseInfo(String databaseName, List<DbDfnTable> tables)
|
||||
{
|
||||
this.DatabaseName = databaseName;
|
||||
this.tables = tables;
|
||||
}
|
||||
// Properties.
|
||||
public String DatabaseName { get; }
|
||||
public String Context { get { return StringUtil.OnEmpty(DatabaseName, "UnknownDb"); } }
|
||||
// Database schema.
|
||||
public DbDfnTable GetTableDefinition(String schemaName, String tableName)
|
||||
{
|
||||
foreach (DbDfnTable table in tables.FindAll(item => item.Name.EqualsCI(tableName)))
|
||||
{
|
||||
if (StringUtil.OnEmpty(table.Schema, defaultSchemaName).EqualsCI(StringUtil.OnEmpty(schemaName, defaultSchemaName)))
|
||||
return table;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
public bool TableExists(String schemaName, String tableName)
|
||||
{
|
||||
return GetTableDefinition(schemaName, tableName) != null;
|
||||
}
|
||||
public bool ColumnExists(String schemaName, String tableName, String columnName)
|
||||
{
|
||||
DbDfnTable table = GetTableDefinition(schemaName, tableName);
|
||||
if (table == null) return false;
|
||||
return table.HasColumnByName(columnName);
|
||||
}
|
||||
public List<DbDfnColumn> GetColumnsForTable(String schemaName, String tableName)
|
||||
{
|
||||
DbDfnTable table = GetTableDefinition(schemaName, tableName);
|
||||
if (table != null) return table.Columns;
|
||||
return new List<DbDfnColumn>();
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmDbDataItem(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,385 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Address_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _AddIdRef { get; } = new ColumnDataInt32("AddIdRef");
|
||||
public ColumnDataString _RefExt { get; } = new ColumnDataString("RefExt");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _Line1 { get; } = new ColumnDataString("Line1");
|
||||
public ColumnDataString _Line2 { get; } = new ColumnDataString("Line2");
|
||||
public ColumnDataString _Line3 { get; } = new ColumnDataString("Line3");
|
||||
public ColumnDataString _City { get; } = new ColumnDataString("City");
|
||||
public ColumnDataString _Province { get; } = new ColumnDataString("Province");
|
||||
public ColumnDataString _Postcode { get; } = new ColumnDataString("Postcode");
|
||||
public ColumnDataString _PostcodeFmt { get; } = new ColumnDataString("PostcodeFmt");
|
||||
public ColumnDataString _Country { get; } = new ColumnDataString("Country");
|
||||
public ColumnDataInt32 _CityRgn { get; } = new ColumnDataInt32("CityRgn");
|
||||
public ColumnDataInt32 _ProvinceRgn { get; } = new ColumnDataInt32("ProvinceRgn");
|
||||
public ColumnDataInt32 _CountryRgn { get; } = new ColumnDataInt32("CountryRgn");
|
||||
public ColumnDataString _Contact { get; } = new ColumnDataString("Contact");
|
||||
public ColumnDataString _Phone { get; } = new ColumnDataString("Phone");
|
||||
public ColumnDataString _Fax { get; } = new ColumnDataString("Fax");
|
||||
public ColumnDataString _Email { get; } = new ColumnDataString("Email");
|
||||
public ColumnDataString _AccountManagerCode { get; } = new ColumnDataString("AccountManagerCode");
|
||||
public ColumnDataString _AccountHandlerCode { get; } = new ColumnDataString("AccountHandlerCode");
|
||||
public ColumnDataString _ContactAreaCode { get; } = new ColumnDataString("ContactAreaCode");
|
||||
public ColumnDataString _ContactHandlerCode { get; } = new ColumnDataString("ContactHandlerCode");
|
||||
public ColumnDataString _DeliveryTypeCode { get; } = new ColumnDataString("DeliveryTypeCode");
|
||||
public ColumnDataString _DeliveryMethodCode { get; } = new ColumnDataString("DeliveryMethodCode");
|
||||
public ColumnDataString _DeliveryBookInCode { get; } = new ColumnDataString("DeliveryBookInCode");
|
||||
public ColumnDataDateTime _LastVisitOn { get; } = new ColumnDataDateTime("LastVisitOn");
|
||||
public ColumnDataDateTime _NextVisitOn { get; } = new ColumnDataDateTime("NextVisitOn");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"AffIdOwner",
|
||||
"AddIdRef",
|
||||
"RefExt",
|
||||
"Type",
|
||||
"Name",
|
||||
"DescBrief",
|
||||
"Line1",
|
||||
"Line2",
|
||||
"Line3",
|
||||
"City",
|
||||
"Province",
|
||||
"Postcode",
|
||||
"PostcodeFmt",
|
||||
"Country",
|
||||
"CityRgn",
|
||||
"ProvinceRgn",
|
||||
"CountryRgn",
|
||||
"Contact",
|
||||
"Phone",
|
||||
"Fax",
|
||||
"Email",
|
||||
"AccountManagerCode",
|
||||
"AccountHandlerCode",
|
||||
"ContactAreaCode",
|
||||
"ContactHandlerCode",
|
||||
"DeliveryTypeCode",
|
||||
"DeliveryMethodCode",
|
||||
"DeliveryBookInCode",
|
||||
"LastVisitOn",
|
||||
"NextVisitOn",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Address_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Address";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _AddIdRef { get { return Cols._AddIdRef.Value; } set { Cols._AddIdRef.Value = value; } }
|
||||
public String _RefExt { get { return Cols._RefExt.Value; } set { Cols._RefExt.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _Line1 { get { return Cols._Line1.Value; } set { Cols._Line1.Value = value; } }
|
||||
public String _Line2 { get { return Cols._Line2.Value; } set { Cols._Line2.Value = value; } }
|
||||
public String _Line3 { get { return Cols._Line3.Value; } set { Cols._Line3.Value = value; } }
|
||||
public String _City { get { return Cols._City.Value; } set { Cols._City.Value = value; } }
|
||||
public String _Province { get { return Cols._Province.Value; } set { Cols._Province.Value = value; } }
|
||||
public String _Postcode { get { return Cols._Postcode.Value; } set { Cols._Postcode.Value = value; } }
|
||||
public String _PostcodeFmt { get { return Cols._PostcodeFmt.Value; } set { Cols._PostcodeFmt.Value = value; } }
|
||||
public String _Country { get { return Cols._Country.Value; } set { Cols._Country.Value = value; } }
|
||||
public Int32 _CityRgn { get { return Cols._CityRgn.Value; } set { Cols._CityRgn.Value = value; } }
|
||||
public Int32 _ProvinceRgn { get { return Cols._ProvinceRgn.Value; } set { Cols._ProvinceRgn.Value = value; } }
|
||||
public Int32 _CountryRgn { get { return Cols._CountryRgn.Value; } set { Cols._CountryRgn.Value = value; } }
|
||||
public String _Contact { get { return Cols._Contact.Value; } set { Cols._Contact.Value = value; } }
|
||||
public String _Phone { get { return Cols._Phone.Value; } set { Cols._Phone.Value = value; } }
|
||||
public String _Fax { get { return Cols._Fax.Value; } set { Cols._Fax.Value = value; } }
|
||||
public String _Email { get { return Cols._Email.Value; } set { Cols._Email.Value = value; } }
|
||||
public String _AccountManagerCode { get { return Cols._AccountManagerCode.Value; } set { Cols._AccountManagerCode.Value = value; } }
|
||||
public String _AccountHandlerCode { get { return Cols._AccountHandlerCode.Value; } set { Cols._AccountHandlerCode.Value = value; } }
|
||||
public String _ContactAreaCode { get { return Cols._ContactAreaCode.Value; } set { Cols._ContactAreaCode.Value = value; } }
|
||||
public String _ContactHandlerCode { get { return Cols._ContactHandlerCode.Value; } set { Cols._ContactHandlerCode.Value = value; } }
|
||||
public String _DeliveryTypeCode { get { return Cols._DeliveryTypeCode.Value; } set { Cols._DeliveryTypeCode.Value = value; } }
|
||||
public String _DeliveryMethodCode { get { return Cols._DeliveryMethodCode.Value; } set { Cols._DeliveryMethodCode.Value = value; } }
|
||||
public String _DeliveryBookInCode { get { return Cols._DeliveryBookInCode.Value; } set { Cols._DeliveryBookInCode.Value = value; } }
|
||||
public DateTime _LastVisitOn { get { return Cols._LastVisitOn.Value; } set { Cols._LastVisitOn.Value = value; } }
|
||||
public DateTime _NextVisitOn { get { return Cols._NextVisitOn.Value; } set { Cols._NextVisitOn.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AddIdRef = GetFieldInt32(dbDataReader, "AddIdRef", _AddIdRef);
|
||||
_RefExt = GetFieldString(dbDataReader, "RefExt", _RefExt);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_Line1 = GetFieldString(dbDataReader, "Line1", _Line1);
|
||||
_Line2 = GetFieldString(dbDataReader, "Line2", _Line2);
|
||||
_Line3 = GetFieldString(dbDataReader, "Line3", _Line3);
|
||||
_City = GetFieldString(dbDataReader, "City", _City);
|
||||
_Province = GetFieldString(dbDataReader, "Province", _Province);
|
||||
_Postcode = GetFieldString(dbDataReader, "Postcode", _Postcode);
|
||||
_PostcodeFmt = GetFieldString(dbDataReader, "PostcodeFmt", _PostcodeFmt);
|
||||
_Country = GetFieldString(dbDataReader, "Country", _Country);
|
||||
_CityRgn = GetFieldInt32(dbDataReader, "CityRgn", _CityRgn);
|
||||
_ProvinceRgn = GetFieldInt32(dbDataReader, "ProvinceRgn", _ProvinceRgn);
|
||||
_CountryRgn = GetFieldInt32(dbDataReader, "CountryRgn", _CountryRgn);
|
||||
_Contact = GetFieldString(dbDataReader, "Contact", _Contact);
|
||||
_Phone = GetFieldString(dbDataReader, "Phone", _Phone);
|
||||
_Fax = GetFieldString(dbDataReader, "Fax", _Fax);
|
||||
_Email = GetFieldString(dbDataReader, "Email", _Email);
|
||||
_AccountManagerCode = GetFieldString(dbDataReader, "AccountManagerCode", _AccountManagerCode);
|
||||
_AccountHandlerCode = GetFieldString(dbDataReader, "AccountHandlerCode", _AccountHandlerCode);
|
||||
_ContactAreaCode = GetFieldString(dbDataReader, "ContactAreaCode", _ContactAreaCode);
|
||||
_ContactHandlerCode = GetFieldString(dbDataReader, "ContactHandlerCode", _ContactHandlerCode);
|
||||
_DeliveryTypeCode = GetFieldString(dbDataReader, "DeliveryTypeCode", _DeliveryTypeCode);
|
||||
_DeliveryMethodCode = GetFieldString(dbDataReader, "DeliveryMethodCode", _DeliveryMethodCode);
|
||||
_DeliveryBookInCode = GetFieldString(dbDataReader, "DeliveryBookInCode", _DeliveryBookInCode);
|
||||
_LastVisitOn = GetFieldDateTime(dbDataReader, "LastVisitOn", _LastVisitOn);
|
||||
_NextVisitOn = GetFieldDateTime(dbDataReader, "NextVisitOn", _NextVisitOn);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AddIdRef")) AddCommandParameter(dbCommand, "@AddIdRef", _AddIdRef);
|
||||
if (columnNames.ContainsCI("RefExt")) AddCommandParameter(dbCommand, "@RefExt", _RefExt);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("Line1")) AddCommandParameter(dbCommand, "@Line1", _Line1);
|
||||
if (columnNames.ContainsCI("Line2")) AddCommandParameter(dbCommand, "@Line2", _Line2);
|
||||
if (columnNames.ContainsCI("Line3")) AddCommandParameter(dbCommand, "@Line3", _Line3);
|
||||
if (columnNames.ContainsCI("City")) AddCommandParameter(dbCommand, "@City", _City);
|
||||
if (columnNames.ContainsCI("Province")) AddCommandParameter(dbCommand, "@Province", _Province);
|
||||
if (columnNames.ContainsCI("Postcode")) AddCommandParameter(dbCommand, "@Postcode", _Postcode);
|
||||
if (columnNames.ContainsCI("PostcodeFmt")) AddCommandParameter(dbCommand, "@PostcodeFmt", _PostcodeFmt);
|
||||
if (columnNames.ContainsCI("Country")) AddCommandParameter(dbCommand, "@Country", _Country);
|
||||
if (columnNames.ContainsCI("CityRgn")) AddCommandParameter(dbCommand, "@CityRgn", _CityRgn);
|
||||
if (columnNames.ContainsCI("ProvinceRgn")) AddCommandParameter(dbCommand, "@ProvinceRgn", _ProvinceRgn);
|
||||
if (columnNames.ContainsCI("CountryRgn")) AddCommandParameter(dbCommand, "@CountryRgn", _CountryRgn);
|
||||
if (columnNames.ContainsCI("Contact")) AddCommandParameter(dbCommand, "@Contact", _Contact);
|
||||
if (columnNames.ContainsCI("Phone")) AddCommandParameter(dbCommand, "@Phone", _Phone);
|
||||
if (columnNames.ContainsCI("Fax")) AddCommandParameter(dbCommand, "@Fax", _Fax);
|
||||
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||
if (columnNames.ContainsCI("AccountManagerCode")) AddCommandParameter(dbCommand, "@AccountManagerCode", _AccountManagerCode);
|
||||
if (columnNames.ContainsCI("AccountHandlerCode")) AddCommandParameter(dbCommand, "@AccountHandlerCode", _AccountHandlerCode);
|
||||
if (columnNames.ContainsCI("ContactAreaCode")) AddCommandParameter(dbCommand, "@ContactAreaCode", _ContactAreaCode);
|
||||
if (columnNames.ContainsCI("ContactHandlerCode")) AddCommandParameter(dbCommand, "@ContactHandlerCode", _ContactHandlerCode);
|
||||
if (columnNames.ContainsCI("DeliveryTypeCode")) AddCommandParameter(dbCommand, "@DeliveryTypeCode", _DeliveryTypeCode);
|
||||
if (columnNames.ContainsCI("DeliveryMethodCode")) AddCommandParameter(dbCommand, "@DeliveryMethodCode", _DeliveryMethodCode);
|
||||
if (columnNames.ContainsCI("DeliveryBookInCode")) AddCommandParameter(dbCommand, "@DeliveryBookInCode", _DeliveryBookInCode);
|
||||
if (columnNames.ContainsCI("LastVisitOn")) AddCommandParameter(dbCommand, "@LastVisitOn", _LastVisitOn);
|
||||
if (columnNames.ContainsCI("NextVisitOn")) AddCommandParameter(dbCommand, "@NextVisitOn", _NextVisitOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AddIdRef")) AddCommandParameter(dbCommand, "@AddIdRef", _AddIdRef);
|
||||
if (columnNames.ContainsCI("RefExt")) AddCommandParameter(dbCommand, "@RefExt", _RefExt);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("Line1")) AddCommandParameter(dbCommand, "@Line1", _Line1);
|
||||
if (columnNames.ContainsCI("Line2")) AddCommandParameter(dbCommand, "@Line2", _Line2);
|
||||
if (columnNames.ContainsCI("Line3")) AddCommandParameter(dbCommand, "@Line3", _Line3);
|
||||
if (columnNames.ContainsCI("City")) AddCommandParameter(dbCommand, "@City", _City);
|
||||
if (columnNames.ContainsCI("Province")) AddCommandParameter(dbCommand, "@Province", _Province);
|
||||
if (columnNames.ContainsCI("Postcode")) AddCommandParameter(dbCommand, "@Postcode", _Postcode);
|
||||
if (columnNames.ContainsCI("PostcodeFmt")) AddCommandParameter(dbCommand, "@PostcodeFmt", _PostcodeFmt);
|
||||
if (columnNames.ContainsCI("Country")) AddCommandParameter(dbCommand, "@Country", _Country);
|
||||
if (columnNames.ContainsCI("CityRgn")) AddCommandParameter(dbCommand, "@CityRgn", _CityRgn);
|
||||
if (columnNames.ContainsCI("ProvinceRgn")) AddCommandParameter(dbCommand, "@ProvinceRgn", _ProvinceRgn);
|
||||
if (columnNames.ContainsCI("CountryRgn")) AddCommandParameter(dbCommand, "@CountryRgn", _CountryRgn);
|
||||
if (columnNames.ContainsCI("Contact")) AddCommandParameter(dbCommand, "@Contact", _Contact);
|
||||
if (columnNames.ContainsCI("Phone")) AddCommandParameter(dbCommand, "@Phone", _Phone);
|
||||
if (columnNames.ContainsCI("Fax")) AddCommandParameter(dbCommand, "@Fax", _Fax);
|
||||
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||
if (columnNames.ContainsCI("AccountManagerCode")) AddCommandParameter(dbCommand, "@AccountManagerCode", _AccountManagerCode);
|
||||
if (columnNames.ContainsCI("AccountHandlerCode")) AddCommandParameter(dbCommand, "@AccountHandlerCode", _AccountHandlerCode);
|
||||
if (columnNames.ContainsCI("ContactAreaCode")) AddCommandParameter(dbCommand, "@ContactAreaCode", _ContactAreaCode);
|
||||
if (columnNames.ContainsCI("ContactHandlerCode")) AddCommandParameter(dbCommand, "@ContactHandlerCode", _ContactHandlerCode);
|
||||
if (columnNames.ContainsCI("DeliveryTypeCode")) AddCommandParameter(dbCommand, "@DeliveryTypeCode", _DeliveryTypeCode);
|
||||
if (columnNames.ContainsCI("DeliveryMethodCode")) AddCommandParameter(dbCommand, "@DeliveryMethodCode", _DeliveryMethodCode);
|
||||
if (columnNames.ContainsCI("DeliveryBookInCode")) AddCommandParameter(dbCommand, "@DeliveryBookInCode", _DeliveryBookInCode);
|
||||
if (columnNames.ContainsCI("LastVisitOn")) AddCommandParameter(dbCommand, "@LastVisitOn", _LastVisitOn);
|
||||
if (columnNames.ContainsCI("NextVisitOn")) AddCommandParameter(dbCommand, "@NextVisitOn", _NextVisitOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,361 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Affiliate_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataString _Abbrev { get; } = new ColumnDataString("Abbrev");
|
||||
public ColumnDataInt32 _AffIdParent { get; } = new ColumnDataInt32("AffIdParent");
|
||||
public ColumnDataString _Title { get; } = new ColumnDataString("Title");
|
||||
public ColumnDataString _Initials { get; } = new ColumnDataString("Initials");
|
||||
public ColumnDataString _LastName { get; } = new ColumnDataString("LastName");
|
||||
public ColumnDataString _FirstName { get; } = new ColumnDataString("FirstName");
|
||||
public ColumnDataString _Salutation { get; } = new ColumnDataString("Salutation");
|
||||
public ColumnDataString _Nature { get; } = new ColumnDataString("Nature");
|
||||
public ColumnDataString _CompanyNo { get; } = new ColumnDataString("CompanyNo");
|
||||
public ColumnDataString _VatReg { get; } = new ColumnDataString("VatReg");
|
||||
public ColumnDataString _Contact { get; } = new ColumnDataString("Contact");
|
||||
public ColumnDataString _PhoneMain { get; } = new ColumnDataString("PhoneMain");
|
||||
public ColumnDataString _PhoneAlt { get; } = new ColumnDataString("PhoneAlt");
|
||||
public ColumnDataString _PhoneFax { get; } = new ColumnDataString("PhoneFax");
|
||||
public ColumnDataString _PhoneMobile { get; } = new ColumnDataString("PhoneMobile");
|
||||
public ColumnDataString _PhoneDirect { get; } = new ColumnDataString("PhoneDirect");
|
||||
public ColumnDataString _Email { get; } = new ColumnDataString("Email");
|
||||
public ColumnDataString _Website { get; } = new ColumnDataString("Website");
|
||||
public ColumnDataByte _BirthDay { get; } = new ColumnDataByte("BirthDay");
|
||||
public ColumnDataByte _BirthMonth { get; } = new ColumnDataByte("BirthMonth");
|
||||
public ColumnDataInt16 _BirthYear { get; } = new ColumnDataInt16("BirthYear");
|
||||
public ColumnDataString _MaritalStatus { get; } = new ColumnDataString("MaritalStatus");
|
||||
public ColumnDataString _Spouse { get; } = new ColumnDataString("Spouse");
|
||||
public ColumnDataString _Children { get; } = new ColumnDataString("Children");
|
||||
public ColumnDataString _Hometown { get; } = new ColumnDataString("Hometown");
|
||||
public ColumnDataInt32 _UserId { get; } = new ColumnDataInt32("UserId");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Type",
|
||||
"Name",
|
||||
"Abbrev",
|
||||
"AffIdParent",
|
||||
"Title",
|
||||
"Initials",
|
||||
"LastName",
|
||||
"FirstName",
|
||||
"Salutation",
|
||||
"Nature",
|
||||
"CompanyNo",
|
||||
"VatReg",
|
||||
"Contact",
|
||||
"PhoneMain",
|
||||
"PhoneAlt",
|
||||
"PhoneFax",
|
||||
"PhoneMobile",
|
||||
"PhoneDirect",
|
||||
"Email",
|
||||
"Website",
|
||||
"BirthDay",
|
||||
"BirthMonth",
|
||||
"BirthYear",
|
||||
"MaritalStatus",
|
||||
"Spouse",
|
||||
"Children",
|
||||
"Hometown",
|
||||
"UserId",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Affiliate_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Affiliate";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public String _Abbrev { get { return Cols._Abbrev.Value; } set { Cols._Abbrev.Value = value; } }
|
||||
public Int32 _AffIdParent { get { return Cols._AffIdParent.Value; } set { Cols._AffIdParent.Value = value; } }
|
||||
public String _Title { get { return Cols._Title.Value; } set { Cols._Title.Value = value; } }
|
||||
public String _Initials { get { return Cols._Initials.Value; } set { Cols._Initials.Value = value; } }
|
||||
public String _LastName { get { return Cols._LastName.Value; } set { Cols._LastName.Value = value; } }
|
||||
public String _FirstName { get { return Cols._FirstName.Value; } set { Cols._FirstName.Value = value; } }
|
||||
public String _Salutation { get { return Cols._Salutation.Value; } set { Cols._Salutation.Value = value; } }
|
||||
public String _Nature { get { return Cols._Nature.Value; } set { Cols._Nature.Value = value; } }
|
||||
public String _CompanyNo { get { return Cols._CompanyNo.Value; } set { Cols._CompanyNo.Value = value; } }
|
||||
public String _VatReg { get { return Cols._VatReg.Value; } set { Cols._VatReg.Value = value; } }
|
||||
public String _Contact { get { return Cols._Contact.Value; } set { Cols._Contact.Value = value; } }
|
||||
public String _PhoneMain { get { return Cols._PhoneMain.Value; } set { Cols._PhoneMain.Value = value; } }
|
||||
public String _PhoneAlt { get { return Cols._PhoneAlt.Value; } set { Cols._PhoneAlt.Value = value; } }
|
||||
public String _PhoneFax { get { return Cols._PhoneFax.Value; } set { Cols._PhoneFax.Value = value; } }
|
||||
public String _PhoneMobile { get { return Cols._PhoneMobile.Value; } set { Cols._PhoneMobile.Value = value; } }
|
||||
public String _PhoneDirect { get { return Cols._PhoneDirect.Value; } set { Cols._PhoneDirect.Value = value; } }
|
||||
public String _Email { get { return Cols._Email.Value; } set { Cols._Email.Value = value; } }
|
||||
public String _Website { get { return Cols._Website.Value; } set { Cols._Website.Value = value; } }
|
||||
public Byte _BirthDay { get { return Cols._BirthDay.Value; } set { Cols._BirthDay.Value = value; } }
|
||||
public Byte _BirthMonth { get { return Cols._BirthMonth.Value; } set { Cols._BirthMonth.Value = value; } }
|
||||
public Int16 _BirthYear { get { return Cols._BirthYear.Value; } set { Cols._BirthYear.Value = value; } }
|
||||
public String _MaritalStatus { get { return Cols._MaritalStatus.Value; } set { Cols._MaritalStatus.Value = value; } }
|
||||
public String _Spouse { get { return Cols._Spouse.Value; } set { Cols._Spouse.Value = value; } }
|
||||
public String _Children { get { return Cols._Children.Value; } set { Cols._Children.Value = value; } }
|
||||
public String _Hometown { get { return Cols._Hometown.Value; } set { Cols._Hometown.Value = value; } }
|
||||
public Int32 _UserId { get { return Cols._UserId.Value; } set { Cols._UserId.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_Abbrev = GetFieldString(dbDataReader, "Abbrev", _Abbrev);
|
||||
_AffIdParent = GetFieldInt32(dbDataReader, "AffIdParent", _AffIdParent);
|
||||
_Title = GetFieldString(dbDataReader, "Title", _Title);
|
||||
_Initials = GetFieldString(dbDataReader, "Initials", _Initials);
|
||||
_LastName = GetFieldString(dbDataReader, "LastName", _LastName);
|
||||
_FirstName = GetFieldString(dbDataReader, "FirstName", _FirstName);
|
||||
_Salutation = GetFieldString(dbDataReader, "Salutation", _Salutation);
|
||||
_Nature = GetFieldString(dbDataReader, "Nature", _Nature);
|
||||
_CompanyNo = GetFieldString(dbDataReader, "CompanyNo", _CompanyNo);
|
||||
_VatReg = GetFieldString(dbDataReader, "VatReg", _VatReg);
|
||||
_Contact = GetFieldString(dbDataReader, "Contact", _Contact);
|
||||
_PhoneMain = GetFieldString(dbDataReader, "PhoneMain", _PhoneMain);
|
||||
_PhoneAlt = GetFieldString(dbDataReader, "PhoneAlt", _PhoneAlt);
|
||||
_PhoneFax = GetFieldString(dbDataReader, "PhoneFax", _PhoneFax);
|
||||
_PhoneMobile = GetFieldString(dbDataReader, "PhoneMobile", _PhoneMobile);
|
||||
_PhoneDirect = GetFieldString(dbDataReader, "PhoneDirect", _PhoneDirect);
|
||||
_Email = GetFieldString(dbDataReader, "Email", _Email);
|
||||
_Website = GetFieldString(dbDataReader, "Website", _Website);
|
||||
_BirthDay = GetFieldByte(dbDataReader, "BirthDay", _BirthDay);
|
||||
_BirthMonth = GetFieldByte(dbDataReader, "BirthMonth", _BirthMonth);
|
||||
_BirthYear = GetFieldInt16(dbDataReader, "BirthYear", _BirthYear);
|
||||
_MaritalStatus = GetFieldString(dbDataReader, "MaritalStatus", _MaritalStatus);
|
||||
_Spouse = GetFieldString(dbDataReader, "Spouse", _Spouse);
|
||||
_Children = GetFieldString(dbDataReader, "Children", _Children);
|
||||
_Hometown = GetFieldString(dbDataReader, "Hometown", _Hometown);
|
||||
_UserId = GetFieldInt32(dbDataReader, "UserId", _UserId);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Abbrev")) AddCommandParameter(dbCommand, "@Abbrev", _Abbrev);
|
||||
if (columnNames.ContainsCI("AffIdParent")) AddCommandParameter(dbCommand, "@AffIdParent", _AffIdParent);
|
||||
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||
if (columnNames.ContainsCI("Initials")) AddCommandParameter(dbCommand, "@Initials", _Initials);
|
||||
if (columnNames.ContainsCI("LastName")) AddCommandParameter(dbCommand, "@LastName", _LastName);
|
||||
if (columnNames.ContainsCI("FirstName")) AddCommandParameter(dbCommand, "@FirstName", _FirstName);
|
||||
if (columnNames.ContainsCI("Salutation")) AddCommandParameter(dbCommand, "@Salutation", _Salutation);
|
||||
if (columnNames.ContainsCI("Nature")) AddCommandParameter(dbCommand, "@Nature", _Nature);
|
||||
if (columnNames.ContainsCI("CompanyNo")) AddCommandParameter(dbCommand, "@CompanyNo", _CompanyNo);
|
||||
if (columnNames.ContainsCI("VatReg")) AddCommandParameter(dbCommand, "@VatReg", _VatReg);
|
||||
if (columnNames.ContainsCI("Contact")) AddCommandParameter(dbCommand, "@Contact", _Contact);
|
||||
if (columnNames.ContainsCI("PhoneMain")) AddCommandParameter(dbCommand, "@PhoneMain", _PhoneMain);
|
||||
if (columnNames.ContainsCI("PhoneAlt")) AddCommandParameter(dbCommand, "@PhoneAlt", _PhoneAlt);
|
||||
if (columnNames.ContainsCI("PhoneFax")) AddCommandParameter(dbCommand, "@PhoneFax", _PhoneFax);
|
||||
if (columnNames.ContainsCI("PhoneMobile")) AddCommandParameter(dbCommand, "@PhoneMobile", _PhoneMobile);
|
||||
if (columnNames.ContainsCI("PhoneDirect")) AddCommandParameter(dbCommand, "@PhoneDirect", _PhoneDirect);
|
||||
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||
if (columnNames.ContainsCI("Website")) AddCommandParameter(dbCommand, "@Website", _Website);
|
||||
if (columnNames.ContainsCI("BirthDay")) AddCommandParameter(dbCommand, "@BirthDay", _BirthDay);
|
||||
if (columnNames.ContainsCI("BirthMonth")) AddCommandParameter(dbCommand, "@BirthMonth", _BirthMonth);
|
||||
if (columnNames.ContainsCI("BirthYear")) AddCommandParameter(dbCommand, "@BirthYear", _BirthYear);
|
||||
if (columnNames.ContainsCI("MaritalStatus")) AddCommandParameter(dbCommand, "@MaritalStatus", _MaritalStatus);
|
||||
if (columnNames.ContainsCI("Spouse")) AddCommandParameter(dbCommand, "@Spouse", _Spouse);
|
||||
if (columnNames.ContainsCI("Children")) AddCommandParameter(dbCommand, "@Children", _Children);
|
||||
if (columnNames.ContainsCI("Hometown")) AddCommandParameter(dbCommand, "@Hometown", _Hometown);
|
||||
if (columnNames.ContainsCI("UserId")) AddCommandParameter(dbCommand, "@UserId", _UserId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Abbrev")) AddCommandParameter(dbCommand, "@Abbrev", _Abbrev);
|
||||
if (columnNames.ContainsCI("AffIdParent")) AddCommandParameter(dbCommand, "@AffIdParent", _AffIdParent);
|
||||
if (columnNames.ContainsCI("Title")) AddCommandParameter(dbCommand, "@Title", _Title);
|
||||
if (columnNames.ContainsCI("Initials")) AddCommandParameter(dbCommand, "@Initials", _Initials);
|
||||
if (columnNames.ContainsCI("LastName")) AddCommandParameter(dbCommand, "@LastName", _LastName);
|
||||
if (columnNames.ContainsCI("FirstName")) AddCommandParameter(dbCommand, "@FirstName", _FirstName);
|
||||
if (columnNames.ContainsCI("Salutation")) AddCommandParameter(dbCommand, "@Salutation", _Salutation);
|
||||
if (columnNames.ContainsCI("Nature")) AddCommandParameter(dbCommand, "@Nature", _Nature);
|
||||
if (columnNames.ContainsCI("CompanyNo")) AddCommandParameter(dbCommand, "@CompanyNo", _CompanyNo);
|
||||
if (columnNames.ContainsCI("VatReg")) AddCommandParameter(dbCommand, "@VatReg", _VatReg);
|
||||
if (columnNames.ContainsCI("Contact")) AddCommandParameter(dbCommand, "@Contact", _Contact);
|
||||
if (columnNames.ContainsCI("PhoneMain")) AddCommandParameter(dbCommand, "@PhoneMain", _PhoneMain);
|
||||
if (columnNames.ContainsCI("PhoneAlt")) AddCommandParameter(dbCommand, "@PhoneAlt", _PhoneAlt);
|
||||
if (columnNames.ContainsCI("PhoneFax")) AddCommandParameter(dbCommand, "@PhoneFax", _PhoneFax);
|
||||
if (columnNames.ContainsCI("PhoneMobile")) AddCommandParameter(dbCommand, "@PhoneMobile", _PhoneMobile);
|
||||
if (columnNames.ContainsCI("PhoneDirect")) AddCommandParameter(dbCommand, "@PhoneDirect", _PhoneDirect);
|
||||
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||
if (columnNames.ContainsCI("Website")) AddCommandParameter(dbCommand, "@Website", _Website);
|
||||
if (columnNames.ContainsCI("BirthDay")) AddCommandParameter(dbCommand, "@BirthDay", _BirthDay);
|
||||
if (columnNames.ContainsCI("BirthMonth")) AddCommandParameter(dbCommand, "@BirthMonth", _BirthMonth);
|
||||
if (columnNames.ContainsCI("BirthYear")) AddCommandParameter(dbCommand, "@BirthYear", _BirthYear);
|
||||
if (columnNames.ContainsCI("MaritalStatus")) AddCommandParameter(dbCommand, "@MaritalStatus", _MaritalStatus);
|
||||
if (columnNames.ContainsCI("Spouse")) AddCommandParameter(dbCommand, "@Spouse", _Spouse);
|
||||
if (columnNames.ContainsCI("Children")) AddCommandParameter(dbCommand, "@Children", _Children);
|
||||
if (columnNames.ContainsCI("Hometown")) AddCommandParameter(dbCommand, "@Hometown", _Hometown);
|
||||
if (columnNames.ContainsCI("UserId")) AddCommandParameter(dbCommand, "@UserId", _UserId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,427 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Association_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _AffIdTarget { get; } = new ColumnDataInt32("AffIdTarget");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _ExtRef { get; } = new ColumnDataString("ExtRef");
|
||||
public ColumnDataString _Location { get; } = new ColumnDataString("Location");
|
||||
public ColumnDataString _Role { get; } = new ColumnDataString("Role");
|
||||
public ColumnDataString _PhoneMain { get; } = new ColumnDataString("PhoneMain");
|
||||
public ColumnDataString _Email { get; } = new ColumnDataString("Email");
|
||||
public ColumnDataString _Group { get; } = new ColumnDataString("Group");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataString _DefaultNominalCode { get; } = new ColumnDataString("DefaultNominalCode");
|
||||
public ColumnDataString _AccountManagerCode { get; } = new ColumnDataString("AccountManagerCode");
|
||||
public ColumnDataString _AccountHandlerCode { get; } = new ColumnDataString("AccountHandlerCode");
|
||||
public ColumnDataString _AccountTypeCode { get; } = new ColumnDataString("AccountTypeCode");
|
||||
public ColumnDataString _AccountRatingCode { get; } = new ColumnDataString("AccountRatingCode");
|
||||
public ColumnDataString _ContactAreaCode { get; } = new ColumnDataString("ContactAreaCode");
|
||||
public ColumnDataString _ContactHandlerCode { get; } = new ColumnDataString("ContactHandlerCode");
|
||||
public ColumnDataString _ContactMethodCode { get; } = new ColumnDataString("ContactMethodCode");
|
||||
public ColumnDataString _ContactCallCycleCode { get; } = new ColumnDataString("ContactCallCycleCode");
|
||||
public ColumnDataInt16 _CallsPerYear { get; } = new ColumnDataInt16("CallsPerYear");
|
||||
public ColumnDataDateTime _LastCall { get; } = new ColumnDataDateTime("LastCall");
|
||||
public ColumnDataInt32 _CommodityIdSalesDefault { get; } = new ColumnDataInt32("CommodityIdSalesDefault");
|
||||
public ColumnDataString _OrderLeadTimeCode { get; } = new ColumnDataString("OrderLeadTimeCode");
|
||||
public ColumnDataString _DeliveryTypeCode { get; } = new ColumnDataString("DeliveryTypeCode");
|
||||
public ColumnDataString _DeliveryMethodCode { get; } = new ColumnDataString("DeliveryMethodCode");
|
||||
public ColumnDataString _DeliveryCourierCode { get; } = new ColumnDataString("DeliveryCourierCode");
|
||||
public ColumnDataString _DeliveryBookInCode { get; } = new ColumnDataString("DeliveryBookInCode");
|
||||
public ColumnDataDecimal _AmountTransMax { get; } = new ColumnDataDecimal("AmountTransMax");
|
||||
public ColumnDataDecimal _AnnualSalesTarget { get; } = new ColumnDataDecimal("AnnualSalesTarget");
|
||||
public ColumnDataDecimal _CreditLimit { get; } = new ColumnDataDecimal("CreditLimit");
|
||||
public ColumnDataDecimal _AccountBalance { get; } = new ColumnDataDecimal("AccountBalance");
|
||||
public ColumnDataInt16 _DiscountType { get; } = new ColumnDataInt16("DiscountType");
|
||||
public ColumnDataDecimal _DiscountRate { get; } = new ColumnDataDecimal("DiscountRate");
|
||||
public ColumnDataInt32 _PriceSetId { get; } = new ColumnDataInt32("PriceSetId");
|
||||
public ColumnDataInt32 _TaxCodeId { get; } = new ColumnDataInt32("TaxCodeId");
|
||||
public ColumnDataInt16 _PaymentTerms { get; } = new ColumnDataInt16("PaymentTerms");
|
||||
public ColumnDataString _InvoiceDesc { get; } = new ColumnDataString("InvoiceDesc");
|
||||
public ColumnDataInt32 _Terminated { get; } = new ColumnDataInt32("Terminated");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"AffIdTarget",
|
||||
"Type",
|
||||
"Code",
|
||||
"ExtRef",
|
||||
"Location",
|
||||
"Role",
|
||||
"PhoneMain",
|
||||
"Email",
|
||||
"Group",
|
||||
"DescDetail",
|
||||
"DefaultNominalCode",
|
||||
"AccountManagerCode",
|
||||
"AccountHandlerCode",
|
||||
"AccountTypeCode",
|
||||
"AccountRatingCode",
|
||||
"ContactAreaCode",
|
||||
"ContactHandlerCode",
|
||||
"ContactMethodCode",
|
||||
"ContactCallCycleCode",
|
||||
"CallsPerYear",
|
||||
"LastCall",
|
||||
"CommodityIdSalesDefault",
|
||||
"OrderLeadTimeCode",
|
||||
"DeliveryTypeCode",
|
||||
"DeliveryMethodCode",
|
||||
"DeliveryCourierCode",
|
||||
"DeliveryBookInCode",
|
||||
"AmountTransMax",
|
||||
"AnnualSalesTarget",
|
||||
"CreditLimit",
|
||||
"AccountBalance",
|
||||
"DiscountType",
|
||||
"DiscountRate",
|
||||
"PriceSetId",
|
||||
"TaxCodeId",
|
||||
"PaymentTerms",
|
||||
"InvoiceDesc",
|
||||
"Terminated",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Association_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Association";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _AffIdTarget { get { return Cols._AffIdTarget.Value; } set { Cols._AffIdTarget.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _ExtRef { get { return Cols._ExtRef.Value; } set { Cols._ExtRef.Value = value; } }
|
||||
public String _Location { get { return Cols._Location.Value; } set { Cols._Location.Value = value; } }
|
||||
public String _Role { get { return Cols._Role.Value; } set { Cols._Role.Value = value; } }
|
||||
public String _PhoneMain { get { return Cols._PhoneMain.Value; } set { Cols._PhoneMain.Value = value; } }
|
||||
public String _Email { get { return Cols._Email.Value; } set { Cols._Email.Value = value; } }
|
||||
public String _Group { get { return Cols._Group.Value; } set { Cols._Group.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public String _DefaultNominalCode { get { return Cols._DefaultNominalCode.Value; } set { Cols._DefaultNominalCode.Value = value; } }
|
||||
public String _AccountManagerCode { get { return Cols._AccountManagerCode.Value; } set { Cols._AccountManagerCode.Value = value; } }
|
||||
public String _AccountHandlerCode { get { return Cols._AccountHandlerCode.Value; } set { Cols._AccountHandlerCode.Value = value; } }
|
||||
public String _AccountTypeCode { get { return Cols._AccountTypeCode.Value; } set { Cols._AccountTypeCode.Value = value; } }
|
||||
public String _AccountRatingCode { get { return Cols._AccountRatingCode.Value; } set { Cols._AccountRatingCode.Value = value; } }
|
||||
public String _ContactAreaCode { get { return Cols._ContactAreaCode.Value; } set { Cols._ContactAreaCode.Value = value; } }
|
||||
public String _ContactHandlerCode { get { return Cols._ContactHandlerCode.Value; } set { Cols._ContactHandlerCode.Value = value; } }
|
||||
public String _ContactMethodCode { get { return Cols._ContactMethodCode.Value; } set { Cols._ContactMethodCode.Value = value; } }
|
||||
public String _ContactCallCycleCode { get { return Cols._ContactCallCycleCode.Value; } set { Cols._ContactCallCycleCode.Value = value; } }
|
||||
public Int16 _CallsPerYear { get { return Cols._CallsPerYear.Value; } set { Cols._CallsPerYear.Value = value; } }
|
||||
public DateTime _LastCall { get { return Cols._LastCall.Value; } set { Cols._LastCall.Value = value; } }
|
||||
public Int32 _CommodityIdSalesDefault { get { return Cols._CommodityIdSalesDefault.Value; } set { Cols._CommodityIdSalesDefault.Value = value; } }
|
||||
public String _OrderLeadTimeCode { get { return Cols._OrderLeadTimeCode.Value; } set { Cols._OrderLeadTimeCode.Value = value; } }
|
||||
public String _DeliveryTypeCode { get { return Cols._DeliveryTypeCode.Value; } set { Cols._DeliveryTypeCode.Value = value; } }
|
||||
public String _DeliveryMethodCode { get { return Cols._DeliveryMethodCode.Value; } set { Cols._DeliveryMethodCode.Value = value; } }
|
||||
public String _DeliveryCourierCode { get { return Cols._DeliveryCourierCode.Value; } set { Cols._DeliveryCourierCode.Value = value; } }
|
||||
public String _DeliveryBookInCode { get { return Cols._DeliveryBookInCode.Value; } set { Cols._DeliveryBookInCode.Value = value; } }
|
||||
public Decimal _AmountTransMax { get { return Cols._AmountTransMax.Value; } set { Cols._AmountTransMax.Value = value; } }
|
||||
public Decimal _AnnualSalesTarget { get { return Cols._AnnualSalesTarget.Value; } set { Cols._AnnualSalesTarget.Value = value; } }
|
||||
public Decimal _CreditLimit { get { return Cols._CreditLimit.Value; } set { Cols._CreditLimit.Value = value; } }
|
||||
public Decimal _AccountBalance { get { return Cols._AccountBalance.Value; } set { Cols._AccountBalance.Value = value; } }
|
||||
public Int16 _DiscountType { get { return Cols._DiscountType.Value; } set { Cols._DiscountType.Value = value; } }
|
||||
public Decimal _DiscountRate { get { return Cols._DiscountRate.Value; } set { Cols._DiscountRate.Value = value; } }
|
||||
public Int32 _PriceSetId { get { return Cols._PriceSetId.Value; } set { Cols._PriceSetId.Value = value; } }
|
||||
public Int32 _TaxCodeId { get { return Cols._TaxCodeId.Value; } set { Cols._TaxCodeId.Value = value; } }
|
||||
public Int16 _PaymentTerms { get { return Cols._PaymentTerms.Value; } set { Cols._PaymentTerms.Value = value; } }
|
||||
public String _InvoiceDesc { get { return Cols._InvoiceDesc.Value; } set { Cols._InvoiceDesc.Value = value; } }
|
||||
public Int32 _Terminated { get { return Cols._Terminated.Value; } set { Cols._Terminated.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AffIdTarget = GetFieldInt32(dbDataReader, "AffIdTarget", _AffIdTarget);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_ExtRef = GetFieldString(dbDataReader, "ExtRef", _ExtRef);
|
||||
_Location = GetFieldString(dbDataReader, "Location", _Location);
|
||||
_Role = GetFieldString(dbDataReader, "Role", _Role);
|
||||
_PhoneMain = GetFieldString(dbDataReader, "PhoneMain", _PhoneMain);
|
||||
_Email = GetFieldString(dbDataReader, "Email", _Email);
|
||||
_Group = GetFieldString(dbDataReader, "Group", _Group);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_DefaultNominalCode = GetFieldString(dbDataReader, "DefaultNominalCode", _DefaultNominalCode);
|
||||
_AccountManagerCode = GetFieldString(dbDataReader, "AccountManagerCode", _AccountManagerCode);
|
||||
_AccountHandlerCode = GetFieldString(dbDataReader, "AccountHandlerCode", _AccountHandlerCode);
|
||||
_AccountTypeCode = GetFieldString(dbDataReader, "AccountTypeCode", _AccountTypeCode);
|
||||
_AccountRatingCode = GetFieldString(dbDataReader, "AccountRatingCode", _AccountRatingCode);
|
||||
_ContactAreaCode = GetFieldString(dbDataReader, "ContactAreaCode", _ContactAreaCode);
|
||||
_ContactHandlerCode = GetFieldString(dbDataReader, "ContactHandlerCode", _ContactHandlerCode);
|
||||
_ContactMethodCode = GetFieldString(dbDataReader, "ContactMethodCode", _ContactMethodCode);
|
||||
_ContactCallCycleCode = GetFieldString(dbDataReader, "ContactCallCycleCode", _ContactCallCycleCode);
|
||||
_CallsPerYear = GetFieldInt16(dbDataReader, "CallsPerYear", _CallsPerYear);
|
||||
_LastCall = GetFieldDateTime(dbDataReader, "LastCall", _LastCall);
|
||||
_CommodityIdSalesDefault = GetFieldInt32(dbDataReader, "CommodityIdSalesDefault", _CommodityIdSalesDefault);
|
||||
_OrderLeadTimeCode = GetFieldString(dbDataReader, "OrderLeadTimeCode", _OrderLeadTimeCode);
|
||||
_DeliveryTypeCode = GetFieldString(dbDataReader, "DeliveryTypeCode", _DeliveryTypeCode);
|
||||
_DeliveryMethodCode = GetFieldString(dbDataReader, "DeliveryMethodCode", _DeliveryMethodCode);
|
||||
_DeliveryCourierCode = GetFieldString(dbDataReader, "DeliveryCourierCode", _DeliveryCourierCode);
|
||||
_DeliveryBookInCode = GetFieldString(dbDataReader, "DeliveryBookInCode", _DeliveryBookInCode);
|
||||
_AmountTransMax = GetFieldDecimal(dbDataReader, "AmountTransMax", _AmountTransMax);
|
||||
_AnnualSalesTarget = GetFieldDecimal(dbDataReader, "AnnualSalesTarget", _AnnualSalesTarget);
|
||||
_CreditLimit = GetFieldDecimal(dbDataReader, "CreditLimit", _CreditLimit);
|
||||
_AccountBalance = GetFieldDecimal(dbDataReader, "AccountBalance", _AccountBalance);
|
||||
_DiscountType = GetFieldInt16(dbDataReader, "DiscountType", _DiscountType);
|
||||
_DiscountRate = GetFieldDecimal(dbDataReader, "DiscountRate", _DiscountRate);
|
||||
_PriceSetId = GetFieldInt32(dbDataReader, "PriceSetId", _PriceSetId);
|
||||
_TaxCodeId = GetFieldInt32(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_PaymentTerms = GetFieldInt16(dbDataReader, "PaymentTerms", _PaymentTerms);
|
||||
_InvoiceDesc = GetFieldString(dbDataReader, "InvoiceDesc", _InvoiceDesc);
|
||||
_Terminated = GetFieldInt32(dbDataReader, "Terminated", _Terminated);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AffIdTarget")) AddCommandParameter(dbCommand, "@AffIdTarget", _AffIdTarget);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("ExtRef")) AddCommandParameter(dbCommand, "@ExtRef", _ExtRef);
|
||||
if (columnNames.ContainsCI("Location")) AddCommandParameter(dbCommand, "@Location", _Location);
|
||||
if (columnNames.ContainsCI("Role")) AddCommandParameter(dbCommand, "@Role", _Role);
|
||||
if (columnNames.ContainsCI("PhoneMain")) AddCommandParameter(dbCommand, "@PhoneMain", _PhoneMain);
|
||||
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||
if (columnNames.ContainsCI("Group")) AddCommandParameter(dbCommand, "@Group", _Group);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("DefaultNominalCode")) AddCommandParameter(dbCommand, "@DefaultNominalCode", _DefaultNominalCode);
|
||||
if (columnNames.ContainsCI("AccountManagerCode")) AddCommandParameter(dbCommand, "@AccountManagerCode", _AccountManagerCode);
|
||||
if (columnNames.ContainsCI("AccountHandlerCode")) AddCommandParameter(dbCommand, "@AccountHandlerCode", _AccountHandlerCode);
|
||||
if (columnNames.ContainsCI("AccountTypeCode")) AddCommandParameter(dbCommand, "@AccountTypeCode", _AccountTypeCode);
|
||||
if (columnNames.ContainsCI("AccountRatingCode")) AddCommandParameter(dbCommand, "@AccountRatingCode", _AccountRatingCode);
|
||||
if (columnNames.ContainsCI("ContactAreaCode")) AddCommandParameter(dbCommand, "@ContactAreaCode", _ContactAreaCode);
|
||||
if (columnNames.ContainsCI("ContactHandlerCode")) AddCommandParameter(dbCommand, "@ContactHandlerCode", _ContactHandlerCode);
|
||||
if (columnNames.ContainsCI("ContactMethodCode")) AddCommandParameter(dbCommand, "@ContactMethodCode", _ContactMethodCode);
|
||||
if (columnNames.ContainsCI("ContactCallCycleCode")) AddCommandParameter(dbCommand, "@ContactCallCycleCode", _ContactCallCycleCode);
|
||||
if (columnNames.ContainsCI("CallsPerYear")) AddCommandParameter(dbCommand, "@CallsPerYear", _CallsPerYear);
|
||||
if (columnNames.ContainsCI("LastCall")) AddCommandParameter(dbCommand, "@LastCall", _LastCall);
|
||||
if (columnNames.ContainsCI("CommodityIdSalesDefault")) AddCommandParameter(dbCommand, "@CommodityIdSalesDefault", _CommodityIdSalesDefault);
|
||||
if (columnNames.ContainsCI("OrderLeadTimeCode")) AddCommandParameter(dbCommand, "@OrderLeadTimeCode", _OrderLeadTimeCode);
|
||||
if (columnNames.ContainsCI("DeliveryTypeCode")) AddCommandParameter(dbCommand, "@DeliveryTypeCode", _DeliveryTypeCode);
|
||||
if (columnNames.ContainsCI("DeliveryMethodCode")) AddCommandParameter(dbCommand, "@DeliveryMethodCode", _DeliveryMethodCode);
|
||||
if (columnNames.ContainsCI("DeliveryCourierCode")) AddCommandParameter(dbCommand, "@DeliveryCourierCode", _DeliveryCourierCode);
|
||||
if (columnNames.ContainsCI("DeliveryBookInCode")) AddCommandParameter(dbCommand, "@DeliveryBookInCode", _DeliveryBookInCode);
|
||||
if (columnNames.ContainsCI("AmountTransMax")) AddCommandParameter(dbCommand, "@AmountTransMax", _AmountTransMax);
|
||||
if (columnNames.ContainsCI("AnnualSalesTarget")) AddCommandParameter(dbCommand, "@AnnualSalesTarget", _AnnualSalesTarget);
|
||||
if (columnNames.ContainsCI("CreditLimit")) AddCommandParameter(dbCommand, "@CreditLimit", _CreditLimit);
|
||||
if (columnNames.ContainsCI("AccountBalance")) AddCommandParameter(dbCommand, "@AccountBalance", _AccountBalance);
|
||||
if (columnNames.ContainsCI("DiscountType")) AddCommandParameter(dbCommand, "@DiscountType", _DiscountType);
|
||||
if (columnNames.ContainsCI("DiscountRate")) AddCommandParameter(dbCommand, "@DiscountRate", _DiscountRate);
|
||||
if (columnNames.ContainsCI("PriceSetId")) AddCommandParameter(dbCommand, "@PriceSetId", _PriceSetId);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("PaymentTerms")) AddCommandParameter(dbCommand, "@PaymentTerms", _PaymentTerms);
|
||||
if (columnNames.ContainsCI("InvoiceDesc")) AddCommandParameter(dbCommand, "@InvoiceDesc", _InvoiceDesc);
|
||||
if (columnNames.ContainsCI("Terminated")) AddCommandParameter(dbCommand, "@Terminated", _Terminated);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AffIdTarget")) AddCommandParameter(dbCommand, "@AffIdTarget", _AffIdTarget);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("ExtRef")) AddCommandParameter(dbCommand, "@ExtRef", _ExtRef);
|
||||
if (columnNames.ContainsCI("Location")) AddCommandParameter(dbCommand, "@Location", _Location);
|
||||
if (columnNames.ContainsCI("Role")) AddCommandParameter(dbCommand, "@Role", _Role);
|
||||
if (columnNames.ContainsCI("PhoneMain")) AddCommandParameter(dbCommand, "@PhoneMain", _PhoneMain);
|
||||
if (columnNames.ContainsCI("Email")) AddCommandParameter(dbCommand, "@Email", _Email);
|
||||
if (columnNames.ContainsCI("Group")) AddCommandParameter(dbCommand, "@Group", _Group);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("DefaultNominalCode")) AddCommandParameter(dbCommand, "@DefaultNominalCode", _DefaultNominalCode);
|
||||
if (columnNames.ContainsCI("AccountManagerCode")) AddCommandParameter(dbCommand, "@AccountManagerCode", _AccountManagerCode);
|
||||
if (columnNames.ContainsCI("AccountHandlerCode")) AddCommandParameter(dbCommand, "@AccountHandlerCode", _AccountHandlerCode);
|
||||
if (columnNames.ContainsCI("AccountTypeCode")) AddCommandParameter(dbCommand, "@AccountTypeCode", _AccountTypeCode);
|
||||
if (columnNames.ContainsCI("AccountRatingCode")) AddCommandParameter(dbCommand, "@AccountRatingCode", _AccountRatingCode);
|
||||
if (columnNames.ContainsCI("ContactAreaCode")) AddCommandParameter(dbCommand, "@ContactAreaCode", _ContactAreaCode);
|
||||
if (columnNames.ContainsCI("ContactHandlerCode")) AddCommandParameter(dbCommand, "@ContactHandlerCode", _ContactHandlerCode);
|
||||
if (columnNames.ContainsCI("ContactMethodCode")) AddCommandParameter(dbCommand, "@ContactMethodCode", _ContactMethodCode);
|
||||
if (columnNames.ContainsCI("ContactCallCycleCode")) AddCommandParameter(dbCommand, "@ContactCallCycleCode", _ContactCallCycleCode);
|
||||
if (columnNames.ContainsCI("CallsPerYear")) AddCommandParameter(dbCommand, "@CallsPerYear", _CallsPerYear);
|
||||
if (columnNames.ContainsCI("LastCall")) AddCommandParameter(dbCommand, "@LastCall", _LastCall);
|
||||
if (columnNames.ContainsCI("CommodityIdSalesDefault")) AddCommandParameter(dbCommand, "@CommodityIdSalesDefault", _CommodityIdSalesDefault);
|
||||
if (columnNames.ContainsCI("OrderLeadTimeCode")) AddCommandParameter(dbCommand, "@OrderLeadTimeCode", _OrderLeadTimeCode);
|
||||
if (columnNames.ContainsCI("DeliveryTypeCode")) AddCommandParameter(dbCommand, "@DeliveryTypeCode", _DeliveryTypeCode);
|
||||
if (columnNames.ContainsCI("DeliveryMethodCode")) AddCommandParameter(dbCommand, "@DeliveryMethodCode", _DeliveryMethodCode);
|
||||
if (columnNames.ContainsCI("DeliveryCourierCode")) AddCommandParameter(dbCommand, "@DeliveryCourierCode", _DeliveryCourierCode);
|
||||
if (columnNames.ContainsCI("DeliveryBookInCode")) AddCommandParameter(dbCommand, "@DeliveryBookInCode", _DeliveryBookInCode);
|
||||
if (columnNames.ContainsCI("AmountTransMax")) AddCommandParameter(dbCommand, "@AmountTransMax", _AmountTransMax);
|
||||
if (columnNames.ContainsCI("AnnualSalesTarget")) AddCommandParameter(dbCommand, "@AnnualSalesTarget", _AnnualSalesTarget);
|
||||
if (columnNames.ContainsCI("CreditLimit")) AddCommandParameter(dbCommand, "@CreditLimit", _CreditLimit);
|
||||
if (columnNames.ContainsCI("AccountBalance")) AddCommandParameter(dbCommand, "@AccountBalance", _AccountBalance);
|
||||
if (columnNames.ContainsCI("DiscountType")) AddCommandParameter(dbCommand, "@DiscountType", _DiscountType);
|
||||
if (columnNames.ContainsCI("DiscountRate")) AddCommandParameter(dbCommand, "@DiscountRate", _DiscountRate);
|
||||
if (columnNames.ContainsCI("PriceSetId")) AddCommandParameter(dbCommand, "@PriceSetId", _PriceSetId);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("PaymentTerms")) AddCommandParameter(dbCommand, "@PaymentTerms", _PaymentTerms);
|
||||
if (columnNames.ContainsCI("InvoiceDesc")) AddCommandParameter(dbCommand, "@InvoiceDesc", _InvoiceDesc);
|
||||
if (columnNames.ContainsCI("Terminated")) AddCommandParameter(dbCommand, "@Terminated", _Terminated);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,224 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class CommodityCustomer_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _CommodityId { get; } = new ColumnDataInt32("CommodityId");
|
||||
public ColumnDataInt32 _AssocIdCustomer { get; } = new ColumnDataInt32("AssocIdCustomer");
|
||||
public ColumnDataString _ProductCode { get; } = new ColumnDataString("ProductCode");
|
||||
public ColumnDataDecimal _AmountRetail { get; } = new ColumnDataDecimal("AmountRetail");
|
||||
public ColumnDataInt32 _CurrencyIdRetail { get; } = new ColumnDataInt32("CurrencyIdRetail");
|
||||
public ColumnDataString _PromotionCode { get; } = new ColumnDataString("PromotionCode");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"CommodityId",
|
||||
"AssocIdCustomer",
|
||||
"ProductCode",
|
||||
"AmountRetail",
|
||||
"CurrencyIdRetail",
|
||||
"PromotionCode",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"CommodityId",
|
||||
"AssocIdCustomer",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal CommodityCustomer_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "CommodityCustomer";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
|
||||
public Int32 _AssocIdCustomer { get { return Cols._AssocIdCustomer.Value; } set { Cols._AssocIdCustomer.Value = value; } }
|
||||
public String _ProductCode { get { return Cols._ProductCode.Value; } set { Cols._ProductCode.Value = value; } }
|
||||
public Decimal _AmountRetail { get { return Cols._AmountRetail.Value; } set { Cols._AmountRetail.Value = value; } }
|
||||
public Int32 _CurrencyIdRetail { get { return Cols._CurrencyIdRetail.Value; } set { Cols._CurrencyIdRetail.Value = value; } }
|
||||
public String _PromotionCode { get { return Cols._PromotionCode.Value; } set { Cols._PromotionCode.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
|
||||
_AssocIdCustomer = GetFieldInt32(dbDataReader, "AssocIdCustomer", _AssocIdCustomer);
|
||||
_ProductCode = GetFieldString(dbDataReader, "ProductCode", _ProductCode);
|
||||
_AmountRetail = GetFieldDecimal(dbDataReader, "AmountRetail", _AmountRetail);
|
||||
_CurrencyIdRetail = GetFieldInt32(dbDataReader, "CurrencyIdRetail", _CurrencyIdRetail);
|
||||
_PromotionCode = GetFieldString(dbDataReader, "PromotionCode", _PromotionCode);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("AssocIdCustomer")) AddCommandParameter(dbCommand, "@AssocIdCustomer", _AssocIdCustomer);
|
||||
if (columnNames.ContainsCI("ProductCode")) AddCommandParameter(dbCommand, "@ProductCode", _ProductCode);
|
||||
if (columnNames.ContainsCI("AmountRetail")) AddCommandParameter(dbCommand, "@AmountRetail", _AmountRetail);
|
||||
if (columnNames.ContainsCI("CurrencyIdRetail")) AddCommandParameter(dbCommand, "@CurrencyIdRetail", _CurrencyIdRetail);
|
||||
if (columnNames.ContainsCI("PromotionCode")) AddCommandParameter(dbCommand, "@PromotionCode", _PromotionCode);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE CommodityId=@CommodityId AND AssocIdCustomer=@AssocIdCustomer;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE CommodityId=? AND AssocIdCustomer=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ProductCode")) AddCommandParameter(dbCommand, "@ProductCode", _ProductCode);
|
||||
if (columnNames.ContainsCI("AmountRetail")) AddCommandParameter(dbCommand, "@AmountRetail", _AmountRetail);
|
||||
if (columnNames.ContainsCI("CurrencyIdRetail")) AddCommandParameter(dbCommand, "@CurrencyIdRetail", _CurrencyIdRetail);
|
||||
if (columnNames.ContainsCI("PromotionCode")) AddCommandParameter(dbCommand, "@PromotionCode", _PromotionCode);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
AddCommandParameter(dbCommand, "@AssocIdCustomer", _AssocIdCustomer);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,218 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class CommoditySupplier_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _CommodityId { get; } = new ColumnDataInt32("CommodityId");
|
||||
public ColumnDataInt32 _AssocIdSupplier { get; } = new ColumnDataInt32("AssocIdSupplier");
|
||||
public ColumnDataString _ProductCode { get; } = new ColumnDataString("ProductCode");
|
||||
public ColumnDataDecimal _AmountCost { get; } = new ColumnDataDecimal("AmountCost");
|
||||
public ColumnDataInt32 _CurrencyIdCost { get; } = new ColumnDataInt32("CurrencyIdCost");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"CommodityId",
|
||||
"AssocIdSupplier",
|
||||
"ProductCode",
|
||||
"AmountCost",
|
||||
"CurrencyIdCost",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"CommodityId",
|
||||
"AssocIdSupplier",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal CommoditySupplier_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "CommoditySupplier";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
|
||||
public Int32 _AssocIdSupplier { get { return Cols._AssocIdSupplier.Value; } set { Cols._AssocIdSupplier.Value = value; } }
|
||||
public String _ProductCode { get { return Cols._ProductCode.Value; } set { Cols._ProductCode.Value = value; } }
|
||||
public Decimal _AmountCost { get { return Cols._AmountCost.Value; } set { Cols._AmountCost.Value = value; } }
|
||||
public Int32 _CurrencyIdCost { get { return Cols._CurrencyIdCost.Value; } set { Cols._CurrencyIdCost.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
|
||||
_AssocIdSupplier = GetFieldInt32(dbDataReader, "AssocIdSupplier", _AssocIdSupplier);
|
||||
_ProductCode = GetFieldString(dbDataReader, "ProductCode", _ProductCode);
|
||||
_AmountCost = GetFieldDecimal(dbDataReader, "AmountCost", _AmountCost);
|
||||
_CurrencyIdCost = GetFieldInt32(dbDataReader, "CurrencyIdCost", _CurrencyIdCost);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("AssocIdSupplier")) AddCommandParameter(dbCommand, "@AssocIdSupplier", _AssocIdSupplier);
|
||||
if (columnNames.ContainsCI("ProductCode")) AddCommandParameter(dbCommand, "@ProductCode", _ProductCode);
|
||||
if (columnNames.ContainsCI("AmountCost")) AddCommandParameter(dbCommand, "@AmountCost", _AmountCost);
|
||||
if (columnNames.ContainsCI("CurrencyIdCost")) AddCommandParameter(dbCommand, "@CurrencyIdCost", _CurrencyIdCost);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE CommodityId=@CommodityId AND AssocIdSupplier=@AssocIdSupplier;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE CommodityId=? AND AssocIdSupplier=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ProductCode")) AddCommandParameter(dbCommand, "@ProductCode", _ProductCode);
|
||||
if (columnNames.ContainsCI("AmountCost")) AddCommandParameter(dbCommand, "@AmountCost", _AmountCost);
|
||||
if (columnNames.ContainsCI("CurrencyIdCost")) AddCommandParameter(dbCommand, "@CurrencyIdCost", _CurrencyIdCost);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
AddCommandParameter(dbCommand, "@AssocIdSupplier", _AssocIdSupplier);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,703 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Commodity_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescOrder { get; } = new ColumnDataString("DescOrder");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataString _DrawingNo { get; } = new ColumnDataString("DrawingNo");
|
||||
public ColumnDataString _DrawingIssue { get; } = new ColumnDataString("DrawingIssue");
|
||||
public ColumnDataInt32 _AssetCatId { get; } = new ColumnDataInt32("AssetCatId");
|
||||
public ColumnDataString _ImagePath { get; } = new ColumnDataString("ImagePath");
|
||||
public ColumnDataString _Category { get; } = new ColumnDataString("Category");
|
||||
public ColumnDataString _Category2 { get; } = new ColumnDataString("Category2");
|
||||
public ColumnDataString _Category3 { get; } = new ColumnDataString("Category3");
|
||||
public ColumnDataString _Location { get; } = new ColumnDataString("Location");
|
||||
public ColumnDataString _Department { get; } = new ColumnDataString("Department");
|
||||
public ColumnDataString _CatalogRef { get; } = new ColumnDataString("CatalogRef");
|
||||
public ColumnDataDecimal _Weight { get; } = new ColumnDataDecimal("Weight");
|
||||
public ColumnDataInt32 _UomIdWeight { get; } = new ColumnDataInt32("UomIdWeight");
|
||||
public ColumnDataDecimal _Length { get; } = new ColumnDataDecimal("Length");
|
||||
public ColumnDataInt32 _UomIdLength { get; } = new ColumnDataInt32("UomIdLength");
|
||||
public ColumnDataDecimal _Volume { get; } = new ColumnDataDecimal("Volume");
|
||||
public ColumnDataInt32 _UomIdVolume { get; } = new ColumnDataInt32("UomIdVolume");
|
||||
public ColumnDataDecimal _Density { get; } = new ColumnDataDecimal("Density");
|
||||
public ColumnDataInt32 _UomIdDensity { get; } = new ColumnDataInt32("UomIdDensity");
|
||||
public ColumnDataDecimal _BoxQuantity { get; } = new ColumnDataDecimal("BoxQuantity");
|
||||
public ColumnDataInt32 _UomIdBox { get; } = new ColumnDataInt32("UomIdBox");
|
||||
public ColumnDataString _Dimensions { get; } = new ColumnDataString("Dimensions");
|
||||
public ColumnDataString _SpecSummary { get; } = new ColumnDataString("SpecSummary");
|
||||
public ColumnDataString _NominalCode { get; } = new ColumnDataString("NominalCode");
|
||||
public ColumnDataString _NominalCodePurchase { get; } = new ColumnDataString("NominalCodePurchase");
|
||||
public ColumnDataString _ICNTariffCode { get; } = new ColumnDataString("ICNTariffCode");
|
||||
public ColumnDataDecimal _TimeProd { get; } = new ColumnDataDecimal("TimeProd");
|
||||
public ColumnDataInt32 _UomIdTimeProd { get; } = new ColumnDataInt32("UomIdTimeProd");
|
||||
public ColumnDataString _RangeCode { get; } = new ColumnDataString("RangeCode");
|
||||
public ColumnDataString _ColourCode { get; } = new ColumnDataString("ColourCode");
|
||||
public ColumnDataString _SourceCode { get; } = new ColumnDataString("SourceCode");
|
||||
public ColumnDataString _SupplyMethodCode { get; } = new ColumnDataString("SupplyMethodCode");
|
||||
public ColumnDataString _HandlingCode { get; } = new ColumnDataString("HandlingCode");
|
||||
public ColumnDataString _DeliveryCode { get; } = new ColumnDataString("DeliveryCode");
|
||||
public ColumnDataString _MaterialCode { get; } = new ColumnDataString("MaterialCode");
|
||||
public ColumnDataString _FinishCode { get; } = new ColumnDataString("FinishCode");
|
||||
public ColumnDataString _PromotionCode { get; } = new ColumnDataString("PromotionCode");
|
||||
public ColumnDataInt32 _AssIdSupplier { get; } = new ColumnDataInt32("AssIdSupplier");
|
||||
public ColumnDataString _SupplierRef { get; } = new ColumnDataString("SupplierRef");
|
||||
public ColumnDataDecimal _CostPrice { get; } = new ColumnDataDecimal("CostPrice");
|
||||
public ColumnDataString _PlaceOfOrigin { get; } = new ColumnDataString("PlaceOfOrigin");
|
||||
public ColumnDataDecimal _MaterialCost { get; } = new ColumnDataDecimal("MaterialCost");
|
||||
public ColumnDataInt32 _CurrencyIdMaterial { get; } = new ColumnDataInt32("CurrencyIdMaterial");
|
||||
public ColumnDataDecimal _ExWorksCost { get; } = new ColumnDataDecimal("ExWorksCost");
|
||||
public ColumnDataInt32 _CurrencyIdExWorks { get; } = new ColumnDataInt32("CurrencyIdExWorks");
|
||||
public ColumnDataDecimal _ReorderLevel { get; } = new ColumnDataDecimal("ReorderLevel");
|
||||
public ColumnDataDecimal _ReorderQty { get; } = new ColumnDataDecimal("ReorderQty");
|
||||
public ColumnDataDecimal _QtyOnOrder { get; } = new ColumnDataDecimal("QtyOnOrder");
|
||||
public ColumnDataInt32 _AssIdCustomer { get; } = new ColumnDataInt32("AssIdCustomer");
|
||||
public ColumnDataDecimal _SalesPrice { get; } = new ColumnDataDecimal("SalesPrice");
|
||||
public ColumnDataDecimal _RetailPrice { get; } = new ColumnDataDecimal("RetailPrice");
|
||||
public ColumnDataDecimal _RetailPricePlanned { get; } = new ColumnDataDecimal("RetailPricePlanned");
|
||||
public ColumnDataInt32 _UomIdSale { get; } = new ColumnDataInt32("UomIdSale");
|
||||
public ColumnDataDecimal _PackQty { get; } = new ColumnDataDecimal("PackQty");
|
||||
public ColumnDataDecimal _CarriageCostIndicative { get; } = new ColumnDataDecimal("CarriageCostIndicative");
|
||||
public ColumnDataDecimal _MinOrderQty { get; } = new ColumnDataDecimal("MinOrderQty");
|
||||
public ColumnDataInt32 _TaxCodeId { get; } = new ColumnDataInt32("TaxCodeId");
|
||||
public ColumnDataDateTime _LastOrderDate { get; } = new ColumnDataDateTime("LastOrderDate");
|
||||
public ColumnDataDecimal _LastOrderQty { get; } = new ColumnDataDecimal("LastOrderQty");
|
||||
public ColumnDataDecimal _QtyInStock { get; } = new ColumnDataDecimal("QtyInStock");
|
||||
public ColumnDataDecimal _QtyAllocated { get; } = new ColumnDataDecimal("QtyAllocated");
|
||||
public ColumnDataDecimal _FreeStock { get; } = new ColumnDataDecimal("FreeStock");
|
||||
public ColumnDataDateTime _StockTakeDate { get; } = new ColumnDataDateTime("StockTakeDate");
|
||||
public ColumnDataDecimal _StockTakeQty { get; } = new ColumnDataDecimal("StockTakeQty");
|
||||
public ColumnDataInt16 _OrderQtyDecimals { get; } = new ColumnDataInt16("OrderQtyDecimals");
|
||||
public ColumnDataInt32 _CommodityIdSalesProj { get; } = new ColumnDataInt32("CommodityIdSalesProj");
|
||||
public ColumnDataString _SalesProjMonthlyProp { get; } = new ColumnDataString("SalesProjMonthlyProp");
|
||||
public ColumnDataDecimal _SalesProjAnnual { get; } = new ColumnDataDecimal("SalesProjAnnual");
|
||||
public ColumnDataDecimal _SalesProjMonth01 { get; } = new ColumnDataDecimal("SalesProjMonth01");
|
||||
public ColumnDataDecimal _SalesProjMonth02 { get; } = new ColumnDataDecimal("SalesProjMonth02");
|
||||
public ColumnDataDecimal _SalesProjMonth03 { get; } = new ColumnDataDecimal("SalesProjMonth03");
|
||||
public ColumnDataDecimal _SalesProjMonth04 { get; } = new ColumnDataDecimal("SalesProjMonth04");
|
||||
public ColumnDataDecimal _SalesProjMonth05 { get; } = new ColumnDataDecimal("SalesProjMonth05");
|
||||
public ColumnDataDecimal _SalesProjMonth06 { get; } = new ColumnDataDecimal("SalesProjMonth06");
|
||||
public ColumnDataDecimal _SalesProjMonth07 { get; } = new ColumnDataDecimal("SalesProjMonth07");
|
||||
public ColumnDataDecimal _SalesProjMonth08 { get; } = new ColumnDataDecimal("SalesProjMonth08");
|
||||
public ColumnDataDecimal _SalesProjMonth09 { get; } = new ColumnDataDecimal("SalesProjMonth09");
|
||||
public ColumnDataDecimal _SalesProjMonth10 { get; } = new ColumnDataDecimal("SalesProjMonth10");
|
||||
public ColumnDataDecimal _SalesProjMonth11 { get; } = new ColumnDataDecimal("SalesProjMonth11");
|
||||
public ColumnDataDecimal _SalesProjMonth12 { get; } = new ColumnDataDecimal("SalesProjMonth12");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Type",
|
||||
"Code",
|
||||
"DescBrief",
|
||||
"DescOrder",
|
||||
"DescDetail",
|
||||
"DrawingNo",
|
||||
"DrawingIssue",
|
||||
"AssetCatId",
|
||||
"ImagePath",
|
||||
"Category",
|
||||
"Category2",
|
||||
"Category3",
|
||||
"Location",
|
||||
"Department",
|
||||
"CatalogRef",
|
||||
"Weight",
|
||||
"UomIdWeight",
|
||||
"Length",
|
||||
"UomIdLength",
|
||||
"Volume",
|
||||
"UomIdVolume",
|
||||
"Density",
|
||||
"UomIdDensity",
|
||||
"BoxQuantity",
|
||||
"UomIdBox",
|
||||
"Dimensions",
|
||||
"SpecSummary",
|
||||
"NominalCode",
|
||||
"NominalCodePurchase",
|
||||
"ICNTariffCode",
|
||||
"TimeProd",
|
||||
"UomIdTimeProd",
|
||||
"RangeCode",
|
||||
"ColourCode",
|
||||
"SourceCode",
|
||||
"SupplyMethodCode",
|
||||
"HandlingCode",
|
||||
"DeliveryCode",
|
||||
"MaterialCode",
|
||||
"FinishCode",
|
||||
"PromotionCode",
|
||||
"AssIdSupplier",
|
||||
"SupplierRef",
|
||||
"CostPrice",
|
||||
"PlaceOfOrigin",
|
||||
"MaterialCost",
|
||||
"CurrencyIdMaterial",
|
||||
"ExWorksCost",
|
||||
"CurrencyIdExWorks",
|
||||
"ReorderLevel",
|
||||
"ReorderQty",
|
||||
"QtyOnOrder",
|
||||
"AssIdCustomer",
|
||||
"SalesPrice",
|
||||
"RetailPrice",
|
||||
"RetailPricePlanned",
|
||||
"UomIdSale",
|
||||
"PackQty",
|
||||
"CarriageCostIndicative",
|
||||
"MinOrderQty",
|
||||
"TaxCodeId",
|
||||
"LastOrderDate",
|
||||
"LastOrderQty",
|
||||
"QtyInStock",
|
||||
"QtyAllocated",
|
||||
"FreeStock",
|
||||
"StockTakeDate",
|
||||
"StockTakeQty",
|
||||
"OrderQtyDecimals",
|
||||
"CommodityIdSalesProj",
|
||||
"SalesProjMonthlyProp",
|
||||
"SalesProjAnnual",
|
||||
"SalesProjMonth01",
|
||||
"SalesProjMonth02",
|
||||
"SalesProjMonth03",
|
||||
"SalesProjMonth04",
|
||||
"SalesProjMonth05",
|
||||
"SalesProjMonth06",
|
||||
"SalesProjMonth07",
|
||||
"SalesProjMonth08",
|
||||
"SalesProjMonth09",
|
||||
"SalesProjMonth10",
|
||||
"SalesProjMonth11",
|
||||
"SalesProjMonth12",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Commodity_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Commodity";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescOrder { get { return Cols._DescOrder.Value; } set { Cols._DescOrder.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public String _DrawingNo { get { return Cols._DrawingNo.Value; } set { Cols._DrawingNo.Value = value; } }
|
||||
public String _DrawingIssue { get { return Cols._DrawingIssue.Value; } set { Cols._DrawingIssue.Value = value; } }
|
||||
public Int32 _AssetCatId { get { return Cols._AssetCatId.Value; } set { Cols._AssetCatId.Value = value; } }
|
||||
public String _ImagePath { get { return Cols._ImagePath.Value; } set { Cols._ImagePath.Value = value; } }
|
||||
public String _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public String _Category2 { get { return Cols._Category2.Value; } set { Cols._Category2.Value = value; } }
|
||||
public String _Category3 { get { return Cols._Category3.Value; } set { Cols._Category3.Value = value; } }
|
||||
public String _Location { get { return Cols._Location.Value; } set { Cols._Location.Value = value; } }
|
||||
public String _Department { get { return Cols._Department.Value; } set { Cols._Department.Value = value; } }
|
||||
public String _CatalogRef { get { return Cols._CatalogRef.Value; } set { Cols._CatalogRef.Value = value; } }
|
||||
public Decimal _Weight { get { return Cols._Weight.Value; } set { Cols._Weight.Value = value; } }
|
||||
public Int32 _UomIdWeight { get { return Cols._UomIdWeight.Value; } set { Cols._UomIdWeight.Value = value; } }
|
||||
public Decimal _Length { get { return Cols._Length.Value; } set { Cols._Length.Value = value; } }
|
||||
public Int32 _UomIdLength { get { return Cols._UomIdLength.Value; } set { Cols._UomIdLength.Value = value; } }
|
||||
public Decimal _Volume { get { return Cols._Volume.Value; } set { Cols._Volume.Value = value; } }
|
||||
public Int32 _UomIdVolume { get { return Cols._UomIdVolume.Value; } set { Cols._UomIdVolume.Value = value; } }
|
||||
public Decimal _Density { get { return Cols._Density.Value; } set { Cols._Density.Value = value; } }
|
||||
public Int32 _UomIdDensity { get { return Cols._UomIdDensity.Value; } set { Cols._UomIdDensity.Value = value; } }
|
||||
public Decimal _BoxQuantity { get { return Cols._BoxQuantity.Value; } set { Cols._BoxQuantity.Value = value; } }
|
||||
public Int32 _UomIdBox { get { return Cols._UomIdBox.Value; } set { Cols._UomIdBox.Value = value; } }
|
||||
public String _Dimensions { get { return Cols._Dimensions.Value; } set { Cols._Dimensions.Value = value; } }
|
||||
public String _SpecSummary { get { return Cols._SpecSummary.Value; } set { Cols._SpecSummary.Value = value; } }
|
||||
public String _NominalCode { get { return Cols._NominalCode.Value; } set { Cols._NominalCode.Value = value; } }
|
||||
public String _NominalCodePurchase { get { return Cols._NominalCodePurchase.Value; } set { Cols._NominalCodePurchase.Value = value; } }
|
||||
public String _ICNTariffCode { get { return Cols._ICNTariffCode.Value; } set { Cols._ICNTariffCode.Value = value; } }
|
||||
public Decimal _TimeProd { get { return Cols._TimeProd.Value; } set { Cols._TimeProd.Value = value; } }
|
||||
public Int32 _UomIdTimeProd { get { return Cols._UomIdTimeProd.Value; } set { Cols._UomIdTimeProd.Value = value; } }
|
||||
public String _RangeCode { get { return Cols._RangeCode.Value; } set { Cols._RangeCode.Value = value; } }
|
||||
public String _ColourCode { get { return Cols._ColourCode.Value; } set { Cols._ColourCode.Value = value; } }
|
||||
public String _SourceCode { get { return Cols._SourceCode.Value; } set { Cols._SourceCode.Value = value; } }
|
||||
public String _SupplyMethodCode { get { return Cols._SupplyMethodCode.Value; } set { Cols._SupplyMethodCode.Value = value; } }
|
||||
public String _HandlingCode { get { return Cols._HandlingCode.Value; } set { Cols._HandlingCode.Value = value; } }
|
||||
public String _DeliveryCode { get { return Cols._DeliveryCode.Value; } set { Cols._DeliveryCode.Value = value; } }
|
||||
public String _MaterialCode { get { return Cols._MaterialCode.Value; } set { Cols._MaterialCode.Value = value; } }
|
||||
public String _FinishCode { get { return Cols._FinishCode.Value; } set { Cols._FinishCode.Value = value; } }
|
||||
public String _PromotionCode { get { return Cols._PromotionCode.Value; } set { Cols._PromotionCode.Value = value; } }
|
||||
public Int32 _AssIdSupplier { get { return Cols._AssIdSupplier.Value; } set { Cols._AssIdSupplier.Value = value; } }
|
||||
public String _SupplierRef { get { return Cols._SupplierRef.Value; } set { Cols._SupplierRef.Value = value; } }
|
||||
public Decimal _CostPrice { get { return Cols._CostPrice.Value; } set { Cols._CostPrice.Value = value; } }
|
||||
public String _PlaceOfOrigin { get { return Cols._PlaceOfOrigin.Value; } set { Cols._PlaceOfOrigin.Value = value; } }
|
||||
public Decimal _MaterialCost { get { return Cols._MaterialCost.Value; } set { Cols._MaterialCost.Value = value; } }
|
||||
public Int32 _CurrencyIdMaterial { get { return Cols._CurrencyIdMaterial.Value; } set { Cols._CurrencyIdMaterial.Value = value; } }
|
||||
public Decimal _ExWorksCost { get { return Cols._ExWorksCost.Value; } set { Cols._ExWorksCost.Value = value; } }
|
||||
public Int32 _CurrencyIdExWorks { get { return Cols._CurrencyIdExWorks.Value; } set { Cols._CurrencyIdExWorks.Value = value; } }
|
||||
public Decimal _ReorderLevel { get { return Cols._ReorderLevel.Value; } set { Cols._ReorderLevel.Value = value; } }
|
||||
public Decimal _ReorderQty { get { return Cols._ReorderQty.Value; } set { Cols._ReorderQty.Value = value; } }
|
||||
public Decimal _QtyOnOrder { get { return Cols._QtyOnOrder.Value; } set { Cols._QtyOnOrder.Value = value; } }
|
||||
public Int32 _AssIdCustomer { get { return Cols._AssIdCustomer.Value; } set { Cols._AssIdCustomer.Value = value; } }
|
||||
public Decimal _SalesPrice { get { return Cols._SalesPrice.Value; } set { Cols._SalesPrice.Value = value; } }
|
||||
public Decimal _RetailPrice { get { return Cols._RetailPrice.Value; } set { Cols._RetailPrice.Value = value; } }
|
||||
public Decimal _RetailPricePlanned { get { return Cols._RetailPricePlanned.Value; } set { Cols._RetailPricePlanned.Value = value; } }
|
||||
public Int32 _UomIdSale { get { return Cols._UomIdSale.Value; } set { Cols._UomIdSale.Value = value; } }
|
||||
public Decimal _PackQty { get { return Cols._PackQty.Value; } set { Cols._PackQty.Value = value; } }
|
||||
public Decimal _CarriageCostIndicative { get { return Cols._CarriageCostIndicative.Value; } set { Cols._CarriageCostIndicative.Value = value; } }
|
||||
public Decimal _MinOrderQty { get { return Cols._MinOrderQty.Value; } set { Cols._MinOrderQty.Value = value; } }
|
||||
public Int32 _TaxCodeId { get { return Cols._TaxCodeId.Value; } set { Cols._TaxCodeId.Value = value; } }
|
||||
public DateTime _LastOrderDate { get { return Cols._LastOrderDate.Value; } set { Cols._LastOrderDate.Value = value; } }
|
||||
public Decimal _LastOrderQty { get { return Cols._LastOrderQty.Value; } set { Cols._LastOrderQty.Value = value; } }
|
||||
public Decimal _QtyInStock { get { return Cols._QtyInStock.Value; } set { Cols._QtyInStock.Value = value; } }
|
||||
public Decimal _QtyAllocated { get { return Cols._QtyAllocated.Value; } set { Cols._QtyAllocated.Value = value; } }
|
||||
public Decimal _FreeStock { get { return Cols._FreeStock.Value; } set { Cols._FreeStock.Value = value; } }
|
||||
public DateTime _StockTakeDate { get { return Cols._StockTakeDate.Value; } set { Cols._StockTakeDate.Value = value; } }
|
||||
public Decimal _StockTakeQty { get { return Cols._StockTakeQty.Value; } set { Cols._StockTakeQty.Value = value; } }
|
||||
public Int16 _OrderQtyDecimals { get { return Cols._OrderQtyDecimals.Value; } set { Cols._OrderQtyDecimals.Value = value; } }
|
||||
public Int32 _CommodityIdSalesProj { get { return Cols._CommodityIdSalesProj.Value; } set { Cols._CommodityIdSalesProj.Value = value; } }
|
||||
public String _SalesProjMonthlyProp { get { return Cols._SalesProjMonthlyProp.Value; } set { Cols._SalesProjMonthlyProp.Value = value; } }
|
||||
public Decimal _SalesProjAnnual { get { return Cols._SalesProjAnnual.Value; } set { Cols._SalesProjAnnual.Value = value; } }
|
||||
public Decimal _SalesProjMonth01 { get { return Cols._SalesProjMonth01.Value; } set { Cols._SalesProjMonth01.Value = value; } }
|
||||
public Decimal _SalesProjMonth02 { get { return Cols._SalesProjMonth02.Value; } set { Cols._SalesProjMonth02.Value = value; } }
|
||||
public Decimal _SalesProjMonth03 { get { return Cols._SalesProjMonth03.Value; } set { Cols._SalesProjMonth03.Value = value; } }
|
||||
public Decimal _SalesProjMonth04 { get { return Cols._SalesProjMonth04.Value; } set { Cols._SalesProjMonth04.Value = value; } }
|
||||
public Decimal _SalesProjMonth05 { get { return Cols._SalesProjMonth05.Value; } set { Cols._SalesProjMonth05.Value = value; } }
|
||||
public Decimal _SalesProjMonth06 { get { return Cols._SalesProjMonth06.Value; } set { Cols._SalesProjMonth06.Value = value; } }
|
||||
public Decimal _SalesProjMonth07 { get { return Cols._SalesProjMonth07.Value; } set { Cols._SalesProjMonth07.Value = value; } }
|
||||
public Decimal _SalesProjMonth08 { get { return Cols._SalesProjMonth08.Value; } set { Cols._SalesProjMonth08.Value = value; } }
|
||||
public Decimal _SalesProjMonth09 { get { return Cols._SalesProjMonth09.Value; } set { Cols._SalesProjMonth09.Value = value; } }
|
||||
public Decimal _SalesProjMonth10 { get { return Cols._SalesProjMonth10.Value; } set { Cols._SalesProjMonth10.Value = value; } }
|
||||
public Decimal _SalesProjMonth11 { get { return Cols._SalesProjMonth11.Value; } set { Cols._SalesProjMonth11.Value = value; } }
|
||||
public Decimal _SalesProjMonth12 { get { return Cols._SalesProjMonth12.Value; } set { Cols._SalesProjMonth12.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescOrder = GetFieldString(dbDataReader, "DescOrder", _DescOrder);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_DrawingNo = GetFieldString(dbDataReader, "DrawingNo", _DrawingNo);
|
||||
_DrawingIssue = GetFieldString(dbDataReader, "DrawingIssue", _DrawingIssue);
|
||||
_AssetCatId = GetFieldInt32(dbDataReader, "AssetCatId", _AssetCatId);
|
||||
_ImagePath = GetFieldString(dbDataReader, "ImagePath", _ImagePath);
|
||||
_Category = GetFieldString(dbDataReader, "Category", _Category);
|
||||
_Category2 = GetFieldString(dbDataReader, "Category2", _Category2);
|
||||
_Category3 = GetFieldString(dbDataReader, "Category3", _Category3);
|
||||
_Location = GetFieldString(dbDataReader, "Location", _Location);
|
||||
_Department = GetFieldString(dbDataReader, "Department", _Department);
|
||||
_CatalogRef = GetFieldString(dbDataReader, "CatalogRef", _CatalogRef);
|
||||
_Weight = GetFieldDecimal(dbDataReader, "Weight", _Weight);
|
||||
_UomIdWeight = GetFieldInt32(dbDataReader, "UomIdWeight", _UomIdWeight);
|
||||
_Length = GetFieldDecimal(dbDataReader, "Length", _Length);
|
||||
_UomIdLength = GetFieldInt32(dbDataReader, "UomIdLength", _UomIdLength);
|
||||
_Volume = GetFieldDecimal(dbDataReader, "Volume", _Volume);
|
||||
_UomIdVolume = GetFieldInt32(dbDataReader, "UomIdVolume", _UomIdVolume);
|
||||
_Density = GetFieldDecimal(dbDataReader, "Density", _Density);
|
||||
_UomIdDensity = GetFieldInt32(dbDataReader, "UomIdDensity", _UomIdDensity);
|
||||
_BoxQuantity = GetFieldDecimal(dbDataReader, "BoxQuantity", _BoxQuantity);
|
||||
_UomIdBox = GetFieldInt32(dbDataReader, "UomIdBox", _UomIdBox);
|
||||
_Dimensions = GetFieldString(dbDataReader, "Dimensions", _Dimensions);
|
||||
_SpecSummary = GetFieldString(dbDataReader, "SpecSummary", _SpecSummary);
|
||||
_NominalCode = GetFieldString(dbDataReader, "NominalCode", _NominalCode);
|
||||
_NominalCodePurchase = GetFieldString(dbDataReader, "NominalCodePurchase", _NominalCodePurchase);
|
||||
_ICNTariffCode = GetFieldString(dbDataReader, "ICNTariffCode", _ICNTariffCode);
|
||||
_TimeProd = GetFieldDecimal(dbDataReader, "TimeProd", _TimeProd);
|
||||
_UomIdTimeProd = GetFieldInt32(dbDataReader, "UomIdTimeProd", _UomIdTimeProd);
|
||||
_RangeCode = GetFieldString(dbDataReader, "RangeCode", _RangeCode);
|
||||
_ColourCode = GetFieldString(dbDataReader, "ColourCode", _ColourCode);
|
||||
_SourceCode = GetFieldString(dbDataReader, "SourceCode", _SourceCode);
|
||||
_SupplyMethodCode = GetFieldString(dbDataReader, "SupplyMethodCode", _SupplyMethodCode);
|
||||
_HandlingCode = GetFieldString(dbDataReader, "HandlingCode", _HandlingCode);
|
||||
_DeliveryCode = GetFieldString(dbDataReader, "DeliveryCode", _DeliveryCode);
|
||||
_MaterialCode = GetFieldString(dbDataReader, "MaterialCode", _MaterialCode);
|
||||
_FinishCode = GetFieldString(dbDataReader, "FinishCode", _FinishCode);
|
||||
_PromotionCode = GetFieldString(dbDataReader, "PromotionCode", _PromotionCode);
|
||||
_AssIdSupplier = GetFieldInt32(dbDataReader, "AssIdSupplier", _AssIdSupplier);
|
||||
_SupplierRef = GetFieldString(dbDataReader, "SupplierRef", _SupplierRef);
|
||||
_CostPrice = GetFieldDecimal(dbDataReader, "CostPrice", _CostPrice);
|
||||
_PlaceOfOrigin = GetFieldString(dbDataReader, "PlaceOfOrigin", _PlaceOfOrigin);
|
||||
_MaterialCost = GetFieldDecimal(dbDataReader, "MaterialCost", _MaterialCost);
|
||||
_CurrencyIdMaterial = GetFieldInt32(dbDataReader, "CurrencyIdMaterial", _CurrencyIdMaterial);
|
||||
_ExWorksCost = GetFieldDecimal(dbDataReader, "ExWorksCost", _ExWorksCost);
|
||||
_CurrencyIdExWorks = GetFieldInt32(dbDataReader, "CurrencyIdExWorks", _CurrencyIdExWorks);
|
||||
_ReorderLevel = GetFieldDecimal(dbDataReader, "ReorderLevel", _ReorderLevel);
|
||||
_ReorderQty = GetFieldDecimal(dbDataReader, "ReorderQty", _ReorderQty);
|
||||
_QtyOnOrder = GetFieldDecimal(dbDataReader, "QtyOnOrder", _QtyOnOrder);
|
||||
_AssIdCustomer = GetFieldInt32(dbDataReader, "AssIdCustomer", _AssIdCustomer);
|
||||
_SalesPrice = GetFieldDecimal(dbDataReader, "SalesPrice", _SalesPrice);
|
||||
_RetailPrice = GetFieldDecimal(dbDataReader, "RetailPrice", _RetailPrice);
|
||||
_RetailPricePlanned = GetFieldDecimal(dbDataReader, "RetailPricePlanned", _RetailPricePlanned);
|
||||
_UomIdSale = GetFieldInt32(dbDataReader, "UomIdSale", _UomIdSale);
|
||||
_PackQty = GetFieldDecimal(dbDataReader, "PackQty", _PackQty);
|
||||
_CarriageCostIndicative = GetFieldDecimal(dbDataReader, "CarriageCostIndicative", _CarriageCostIndicative);
|
||||
_MinOrderQty = GetFieldDecimal(dbDataReader, "MinOrderQty", _MinOrderQty);
|
||||
_TaxCodeId = GetFieldInt32(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_LastOrderDate = GetFieldDateTime(dbDataReader, "LastOrderDate", _LastOrderDate);
|
||||
_LastOrderQty = GetFieldDecimal(dbDataReader, "LastOrderQty", _LastOrderQty);
|
||||
_QtyInStock = GetFieldDecimal(dbDataReader, "QtyInStock", _QtyInStock);
|
||||
_QtyAllocated = GetFieldDecimal(dbDataReader, "QtyAllocated", _QtyAllocated);
|
||||
_FreeStock = GetFieldDecimal(dbDataReader, "FreeStock", _FreeStock);
|
||||
_StockTakeDate = GetFieldDateTime(dbDataReader, "StockTakeDate", _StockTakeDate);
|
||||
_StockTakeQty = GetFieldDecimal(dbDataReader, "StockTakeQty", _StockTakeQty);
|
||||
_OrderQtyDecimals = GetFieldInt16(dbDataReader, "OrderQtyDecimals", _OrderQtyDecimals);
|
||||
_CommodityIdSalesProj = GetFieldInt32(dbDataReader, "CommodityIdSalesProj", _CommodityIdSalesProj);
|
||||
_SalesProjMonthlyProp = GetFieldString(dbDataReader, "SalesProjMonthlyProp", _SalesProjMonthlyProp);
|
||||
_SalesProjAnnual = GetFieldDecimal(dbDataReader, "SalesProjAnnual", _SalesProjAnnual);
|
||||
_SalesProjMonth01 = GetFieldDecimal(dbDataReader, "SalesProjMonth01", _SalesProjMonth01);
|
||||
_SalesProjMonth02 = GetFieldDecimal(dbDataReader, "SalesProjMonth02", _SalesProjMonth02);
|
||||
_SalesProjMonth03 = GetFieldDecimal(dbDataReader, "SalesProjMonth03", _SalesProjMonth03);
|
||||
_SalesProjMonth04 = GetFieldDecimal(dbDataReader, "SalesProjMonth04", _SalesProjMonth04);
|
||||
_SalesProjMonth05 = GetFieldDecimal(dbDataReader, "SalesProjMonth05", _SalesProjMonth05);
|
||||
_SalesProjMonth06 = GetFieldDecimal(dbDataReader, "SalesProjMonth06", _SalesProjMonth06);
|
||||
_SalesProjMonth07 = GetFieldDecimal(dbDataReader, "SalesProjMonth07", _SalesProjMonth07);
|
||||
_SalesProjMonth08 = GetFieldDecimal(dbDataReader, "SalesProjMonth08", _SalesProjMonth08);
|
||||
_SalesProjMonth09 = GetFieldDecimal(dbDataReader, "SalesProjMonth09", _SalesProjMonth09);
|
||||
_SalesProjMonth10 = GetFieldDecimal(dbDataReader, "SalesProjMonth10", _SalesProjMonth10);
|
||||
_SalesProjMonth11 = GetFieldDecimal(dbDataReader, "SalesProjMonth11", _SalesProjMonth11);
|
||||
_SalesProjMonth12 = GetFieldDecimal(dbDataReader, "SalesProjMonth12", _SalesProjMonth12);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescOrder")) AddCommandParameter(dbCommand, "@DescOrder", _DescOrder);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("DrawingNo")) AddCommandParameter(dbCommand, "@DrawingNo", _DrawingNo);
|
||||
if (columnNames.ContainsCI("DrawingIssue")) AddCommandParameter(dbCommand, "@DrawingIssue", _DrawingIssue);
|
||||
if (columnNames.ContainsCI("AssetCatId")) AddCommandParameter(dbCommand, "@AssetCatId", _AssetCatId);
|
||||
if (columnNames.ContainsCI("ImagePath")) AddCommandParameter(dbCommand, "@ImagePath", _ImagePath);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Category2")) AddCommandParameter(dbCommand, "@Category2", _Category2);
|
||||
if (columnNames.ContainsCI("Category3")) AddCommandParameter(dbCommand, "@Category3", _Category3);
|
||||
if (columnNames.ContainsCI("Location")) AddCommandParameter(dbCommand, "@Location", _Location);
|
||||
if (columnNames.ContainsCI("Department")) AddCommandParameter(dbCommand, "@Department", _Department);
|
||||
if (columnNames.ContainsCI("CatalogRef")) AddCommandParameter(dbCommand, "@CatalogRef", _CatalogRef);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("UomIdWeight")) AddCommandParameter(dbCommand, "@UomIdWeight", _UomIdWeight);
|
||||
if (columnNames.ContainsCI("Length")) AddCommandParameter(dbCommand, "@Length", _Length);
|
||||
if (columnNames.ContainsCI("UomIdLength")) AddCommandParameter(dbCommand, "@UomIdLength", _UomIdLength);
|
||||
if (columnNames.ContainsCI("Volume")) AddCommandParameter(dbCommand, "@Volume", _Volume);
|
||||
if (columnNames.ContainsCI("UomIdVolume")) AddCommandParameter(dbCommand, "@UomIdVolume", _UomIdVolume);
|
||||
if (columnNames.ContainsCI("Density")) AddCommandParameter(dbCommand, "@Density", _Density);
|
||||
if (columnNames.ContainsCI("UomIdDensity")) AddCommandParameter(dbCommand, "@UomIdDensity", _UomIdDensity);
|
||||
if (columnNames.ContainsCI("BoxQuantity")) AddCommandParameter(dbCommand, "@BoxQuantity", _BoxQuantity);
|
||||
if (columnNames.ContainsCI("UomIdBox")) AddCommandParameter(dbCommand, "@UomIdBox", _UomIdBox);
|
||||
if (columnNames.ContainsCI("Dimensions")) AddCommandParameter(dbCommand, "@Dimensions", _Dimensions);
|
||||
if (columnNames.ContainsCI("SpecSummary")) AddCommandParameter(dbCommand, "@SpecSummary", _SpecSummary);
|
||||
if (columnNames.ContainsCI("NominalCode")) AddCommandParameter(dbCommand, "@NominalCode", _NominalCode);
|
||||
if (columnNames.ContainsCI("NominalCodePurchase")) AddCommandParameter(dbCommand, "@NominalCodePurchase", _NominalCodePurchase);
|
||||
if (columnNames.ContainsCI("ICNTariffCode")) AddCommandParameter(dbCommand, "@ICNTariffCode", _ICNTariffCode);
|
||||
if (columnNames.ContainsCI("TimeProd")) AddCommandParameter(dbCommand, "@TimeProd", _TimeProd);
|
||||
if (columnNames.ContainsCI("UomIdTimeProd")) AddCommandParameter(dbCommand, "@UomIdTimeProd", _UomIdTimeProd);
|
||||
if (columnNames.ContainsCI("RangeCode")) AddCommandParameter(dbCommand, "@RangeCode", _RangeCode);
|
||||
if (columnNames.ContainsCI("ColourCode")) AddCommandParameter(dbCommand, "@ColourCode", _ColourCode);
|
||||
if (columnNames.ContainsCI("SourceCode")) AddCommandParameter(dbCommand, "@SourceCode", _SourceCode);
|
||||
if (columnNames.ContainsCI("SupplyMethodCode")) AddCommandParameter(dbCommand, "@SupplyMethodCode", _SupplyMethodCode);
|
||||
if (columnNames.ContainsCI("HandlingCode")) AddCommandParameter(dbCommand, "@HandlingCode", _HandlingCode);
|
||||
if (columnNames.ContainsCI("DeliveryCode")) AddCommandParameter(dbCommand, "@DeliveryCode", _DeliveryCode);
|
||||
if (columnNames.ContainsCI("MaterialCode")) AddCommandParameter(dbCommand, "@MaterialCode", _MaterialCode);
|
||||
if (columnNames.ContainsCI("FinishCode")) AddCommandParameter(dbCommand, "@FinishCode", _FinishCode);
|
||||
if (columnNames.ContainsCI("PromotionCode")) AddCommandParameter(dbCommand, "@PromotionCode", _PromotionCode);
|
||||
if (columnNames.ContainsCI("AssIdSupplier")) AddCommandParameter(dbCommand, "@AssIdSupplier", _AssIdSupplier);
|
||||
if (columnNames.ContainsCI("SupplierRef")) AddCommandParameter(dbCommand, "@SupplierRef", _SupplierRef);
|
||||
if (columnNames.ContainsCI("CostPrice")) AddCommandParameter(dbCommand, "@CostPrice", _CostPrice);
|
||||
if (columnNames.ContainsCI("PlaceOfOrigin")) AddCommandParameter(dbCommand, "@PlaceOfOrigin", _PlaceOfOrigin);
|
||||
if (columnNames.ContainsCI("MaterialCost")) AddCommandParameter(dbCommand, "@MaterialCost", _MaterialCost);
|
||||
if (columnNames.ContainsCI("CurrencyIdMaterial")) AddCommandParameter(dbCommand, "@CurrencyIdMaterial", _CurrencyIdMaterial);
|
||||
if (columnNames.ContainsCI("ExWorksCost")) AddCommandParameter(dbCommand, "@ExWorksCost", _ExWorksCost);
|
||||
if (columnNames.ContainsCI("CurrencyIdExWorks")) AddCommandParameter(dbCommand, "@CurrencyIdExWorks", _CurrencyIdExWorks);
|
||||
if (columnNames.ContainsCI("ReorderLevel")) AddCommandParameter(dbCommand, "@ReorderLevel", _ReorderLevel);
|
||||
if (columnNames.ContainsCI("ReorderQty")) AddCommandParameter(dbCommand, "@ReorderQty", _ReorderQty);
|
||||
if (columnNames.ContainsCI("QtyOnOrder")) AddCommandParameter(dbCommand, "@QtyOnOrder", _QtyOnOrder);
|
||||
if (columnNames.ContainsCI("AssIdCustomer")) AddCommandParameter(dbCommand, "@AssIdCustomer", _AssIdCustomer);
|
||||
if (columnNames.ContainsCI("SalesPrice")) AddCommandParameter(dbCommand, "@SalesPrice", _SalesPrice);
|
||||
if (columnNames.ContainsCI("RetailPrice")) AddCommandParameter(dbCommand, "@RetailPrice", _RetailPrice);
|
||||
if (columnNames.ContainsCI("RetailPricePlanned")) AddCommandParameter(dbCommand, "@RetailPricePlanned", _RetailPricePlanned);
|
||||
if (columnNames.ContainsCI("UomIdSale")) AddCommandParameter(dbCommand, "@UomIdSale", _UomIdSale);
|
||||
if (columnNames.ContainsCI("PackQty")) AddCommandParameter(dbCommand, "@PackQty", _PackQty);
|
||||
if (columnNames.ContainsCI("CarriageCostIndicative")) AddCommandParameter(dbCommand, "@CarriageCostIndicative", _CarriageCostIndicative);
|
||||
if (columnNames.ContainsCI("MinOrderQty")) AddCommandParameter(dbCommand, "@MinOrderQty", _MinOrderQty);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("LastOrderDate")) AddCommandParameter(dbCommand, "@LastOrderDate", _LastOrderDate);
|
||||
if (columnNames.ContainsCI("LastOrderQty")) AddCommandParameter(dbCommand, "@LastOrderQty", _LastOrderQty);
|
||||
if (columnNames.ContainsCI("QtyInStock")) AddCommandParameter(dbCommand, "@QtyInStock", _QtyInStock);
|
||||
if (columnNames.ContainsCI("QtyAllocated")) AddCommandParameter(dbCommand, "@QtyAllocated", _QtyAllocated);
|
||||
if (columnNames.ContainsCI("FreeStock")) AddCommandParameter(dbCommand, "@FreeStock", _FreeStock);
|
||||
if (columnNames.ContainsCI("StockTakeDate")) AddCommandParameter(dbCommand, "@StockTakeDate", _StockTakeDate);
|
||||
if (columnNames.ContainsCI("StockTakeQty")) AddCommandParameter(dbCommand, "@StockTakeQty", _StockTakeQty);
|
||||
if (columnNames.ContainsCI("OrderQtyDecimals")) AddCommandParameter(dbCommand, "@OrderQtyDecimals", _OrderQtyDecimals);
|
||||
if (columnNames.ContainsCI("CommodityIdSalesProj")) AddCommandParameter(dbCommand, "@CommodityIdSalesProj", _CommodityIdSalesProj);
|
||||
if (columnNames.ContainsCI("SalesProjMonthlyProp")) AddCommandParameter(dbCommand, "@SalesProjMonthlyProp", _SalesProjMonthlyProp);
|
||||
if (columnNames.ContainsCI("SalesProjAnnual")) AddCommandParameter(dbCommand, "@SalesProjAnnual", _SalesProjAnnual);
|
||||
if (columnNames.ContainsCI("SalesProjMonth01")) AddCommandParameter(dbCommand, "@SalesProjMonth01", _SalesProjMonth01);
|
||||
if (columnNames.ContainsCI("SalesProjMonth02")) AddCommandParameter(dbCommand, "@SalesProjMonth02", _SalesProjMonth02);
|
||||
if (columnNames.ContainsCI("SalesProjMonth03")) AddCommandParameter(dbCommand, "@SalesProjMonth03", _SalesProjMonth03);
|
||||
if (columnNames.ContainsCI("SalesProjMonth04")) AddCommandParameter(dbCommand, "@SalesProjMonth04", _SalesProjMonth04);
|
||||
if (columnNames.ContainsCI("SalesProjMonth05")) AddCommandParameter(dbCommand, "@SalesProjMonth05", _SalesProjMonth05);
|
||||
if (columnNames.ContainsCI("SalesProjMonth06")) AddCommandParameter(dbCommand, "@SalesProjMonth06", _SalesProjMonth06);
|
||||
if (columnNames.ContainsCI("SalesProjMonth07")) AddCommandParameter(dbCommand, "@SalesProjMonth07", _SalesProjMonth07);
|
||||
if (columnNames.ContainsCI("SalesProjMonth08")) AddCommandParameter(dbCommand, "@SalesProjMonth08", _SalesProjMonth08);
|
||||
if (columnNames.ContainsCI("SalesProjMonth09")) AddCommandParameter(dbCommand, "@SalesProjMonth09", _SalesProjMonth09);
|
||||
if (columnNames.ContainsCI("SalesProjMonth10")) AddCommandParameter(dbCommand, "@SalesProjMonth10", _SalesProjMonth10);
|
||||
if (columnNames.ContainsCI("SalesProjMonth11")) AddCommandParameter(dbCommand, "@SalesProjMonth11", _SalesProjMonth11);
|
||||
if (columnNames.ContainsCI("SalesProjMonth12")) AddCommandParameter(dbCommand, "@SalesProjMonth12", _SalesProjMonth12);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescOrder")) AddCommandParameter(dbCommand, "@DescOrder", _DescOrder);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("DrawingNo")) AddCommandParameter(dbCommand, "@DrawingNo", _DrawingNo);
|
||||
if (columnNames.ContainsCI("DrawingIssue")) AddCommandParameter(dbCommand, "@DrawingIssue", _DrawingIssue);
|
||||
if (columnNames.ContainsCI("AssetCatId")) AddCommandParameter(dbCommand, "@AssetCatId", _AssetCatId);
|
||||
if (columnNames.ContainsCI("ImagePath")) AddCommandParameter(dbCommand, "@ImagePath", _ImagePath);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Category2")) AddCommandParameter(dbCommand, "@Category2", _Category2);
|
||||
if (columnNames.ContainsCI("Category3")) AddCommandParameter(dbCommand, "@Category3", _Category3);
|
||||
if (columnNames.ContainsCI("Location")) AddCommandParameter(dbCommand, "@Location", _Location);
|
||||
if (columnNames.ContainsCI("Department")) AddCommandParameter(dbCommand, "@Department", _Department);
|
||||
if (columnNames.ContainsCI("CatalogRef")) AddCommandParameter(dbCommand, "@CatalogRef", _CatalogRef);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("UomIdWeight")) AddCommandParameter(dbCommand, "@UomIdWeight", _UomIdWeight);
|
||||
if (columnNames.ContainsCI("Length")) AddCommandParameter(dbCommand, "@Length", _Length);
|
||||
if (columnNames.ContainsCI("UomIdLength")) AddCommandParameter(dbCommand, "@UomIdLength", _UomIdLength);
|
||||
if (columnNames.ContainsCI("Volume")) AddCommandParameter(dbCommand, "@Volume", _Volume);
|
||||
if (columnNames.ContainsCI("UomIdVolume")) AddCommandParameter(dbCommand, "@UomIdVolume", _UomIdVolume);
|
||||
if (columnNames.ContainsCI("Density")) AddCommandParameter(dbCommand, "@Density", _Density);
|
||||
if (columnNames.ContainsCI("UomIdDensity")) AddCommandParameter(dbCommand, "@UomIdDensity", _UomIdDensity);
|
||||
if (columnNames.ContainsCI("BoxQuantity")) AddCommandParameter(dbCommand, "@BoxQuantity", _BoxQuantity);
|
||||
if (columnNames.ContainsCI("UomIdBox")) AddCommandParameter(dbCommand, "@UomIdBox", _UomIdBox);
|
||||
if (columnNames.ContainsCI("Dimensions")) AddCommandParameter(dbCommand, "@Dimensions", _Dimensions);
|
||||
if (columnNames.ContainsCI("SpecSummary")) AddCommandParameter(dbCommand, "@SpecSummary", _SpecSummary);
|
||||
if (columnNames.ContainsCI("NominalCode")) AddCommandParameter(dbCommand, "@NominalCode", _NominalCode);
|
||||
if (columnNames.ContainsCI("NominalCodePurchase")) AddCommandParameter(dbCommand, "@NominalCodePurchase", _NominalCodePurchase);
|
||||
if (columnNames.ContainsCI("ICNTariffCode")) AddCommandParameter(dbCommand, "@ICNTariffCode", _ICNTariffCode);
|
||||
if (columnNames.ContainsCI("TimeProd")) AddCommandParameter(dbCommand, "@TimeProd", _TimeProd);
|
||||
if (columnNames.ContainsCI("UomIdTimeProd")) AddCommandParameter(dbCommand, "@UomIdTimeProd", _UomIdTimeProd);
|
||||
if (columnNames.ContainsCI("RangeCode")) AddCommandParameter(dbCommand, "@RangeCode", _RangeCode);
|
||||
if (columnNames.ContainsCI("ColourCode")) AddCommandParameter(dbCommand, "@ColourCode", _ColourCode);
|
||||
if (columnNames.ContainsCI("SourceCode")) AddCommandParameter(dbCommand, "@SourceCode", _SourceCode);
|
||||
if (columnNames.ContainsCI("SupplyMethodCode")) AddCommandParameter(dbCommand, "@SupplyMethodCode", _SupplyMethodCode);
|
||||
if (columnNames.ContainsCI("HandlingCode")) AddCommandParameter(dbCommand, "@HandlingCode", _HandlingCode);
|
||||
if (columnNames.ContainsCI("DeliveryCode")) AddCommandParameter(dbCommand, "@DeliveryCode", _DeliveryCode);
|
||||
if (columnNames.ContainsCI("MaterialCode")) AddCommandParameter(dbCommand, "@MaterialCode", _MaterialCode);
|
||||
if (columnNames.ContainsCI("FinishCode")) AddCommandParameter(dbCommand, "@FinishCode", _FinishCode);
|
||||
if (columnNames.ContainsCI("PromotionCode")) AddCommandParameter(dbCommand, "@PromotionCode", _PromotionCode);
|
||||
if (columnNames.ContainsCI("AssIdSupplier")) AddCommandParameter(dbCommand, "@AssIdSupplier", _AssIdSupplier);
|
||||
if (columnNames.ContainsCI("SupplierRef")) AddCommandParameter(dbCommand, "@SupplierRef", _SupplierRef);
|
||||
if (columnNames.ContainsCI("CostPrice")) AddCommandParameter(dbCommand, "@CostPrice", _CostPrice);
|
||||
if (columnNames.ContainsCI("PlaceOfOrigin")) AddCommandParameter(dbCommand, "@PlaceOfOrigin", _PlaceOfOrigin);
|
||||
if (columnNames.ContainsCI("MaterialCost")) AddCommandParameter(dbCommand, "@MaterialCost", _MaterialCost);
|
||||
if (columnNames.ContainsCI("CurrencyIdMaterial")) AddCommandParameter(dbCommand, "@CurrencyIdMaterial", _CurrencyIdMaterial);
|
||||
if (columnNames.ContainsCI("ExWorksCost")) AddCommandParameter(dbCommand, "@ExWorksCost", _ExWorksCost);
|
||||
if (columnNames.ContainsCI("CurrencyIdExWorks")) AddCommandParameter(dbCommand, "@CurrencyIdExWorks", _CurrencyIdExWorks);
|
||||
if (columnNames.ContainsCI("ReorderLevel")) AddCommandParameter(dbCommand, "@ReorderLevel", _ReorderLevel);
|
||||
if (columnNames.ContainsCI("ReorderQty")) AddCommandParameter(dbCommand, "@ReorderQty", _ReorderQty);
|
||||
if (columnNames.ContainsCI("QtyOnOrder")) AddCommandParameter(dbCommand, "@QtyOnOrder", _QtyOnOrder);
|
||||
if (columnNames.ContainsCI("AssIdCustomer")) AddCommandParameter(dbCommand, "@AssIdCustomer", _AssIdCustomer);
|
||||
if (columnNames.ContainsCI("SalesPrice")) AddCommandParameter(dbCommand, "@SalesPrice", _SalesPrice);
|
||||
if (columnNames.ContainsCI("RetailPrice")) AddCommandParameter(dbCommand, "@RetailPrice", _RetailPrice);
|
||||
if (columnNames.ContainsCI("RetailPricePlanned")) AddCommandParameter(dbCommand, "@RetailPricePlanned", _RetailPricePlanned);
|
||||
if (columnNames.ContainsCI("UomIdSale")) AddCommandParameter(dbCommand, "@UomIdSale", _UomIdSale);
|
||||
if (columnNames.ContainsCI("PackQty")) AddCommandParameter(dbCommand, "@PackQty", _PackQty);
|
||||
if (columnNames.ContainsCI("CarriageCostIndicative")) AddCommandParameter(dbCommand, "@CarriageCostIndicative", _CarriageCostIndicative);
|
||||
if (columnNames.ContainsCI("MinOrderQty")) AddCommandParameter(dbCommand, "@MinOrderQty", _MinOrderQty);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("LastOrderDate")) AddCommandParameter(dbCommand, "@LastOrderDate", _LastOrderDate);
|
||||
if (columnNames.ContainsCI("LastOrderQty")) AddCommandParameter(dbCommand, "@LastOrderQty", _LastOrderQty);
|
||||
if (columnNames.ContainsCI("QtyInStock")) AddCommandParameter(dbCommand, "@QtyInStock", _QtyInStock);
|
||||
if (columnNames.ContainsCI("QtyAllocated")) AddCommandParameter(dbCommand, "@QtyAllocated", _QtyAllocated);
|
||||
if (columnNames.ContainsCI("FreeStock")) AddCommandParameter(dbCommand, "@FreeStock", _FreeStock);
|
||||
if (columnNames.ContainsCI("StockTakeDate")) AddCommandParameter(dbCommand, "@StockTakeDate", _StockTakeDate);
|
||||
if (columnNames.ContainsCI("StockTakeQty")) AddCommandParameter(dbCommand, "@StockTakeQty", _StockTakeQty);
|
||||
if (columnNames.ContainsCI("OrderQtyDecimals")) AddCommandParameter(dbCommand, "@OrderQtyDecimals", _OrderQtyDecimals);
|
||||
if (columnNames.ContainsCI("CommodityIdSalesProj")) AddCommandParameter(dbCommand, "@CommodityIdSalesProj", _CommodityIdSalesProj);
|
||||
if (columnNames.ContainsCI("SalesProjMonthlyProp")) AddCommandParameter(dbCommand, "@SalesProjMonthlyProp", _SalesProjMonthlyProp);
|
||||
if (columnNames.ContainsCI("SalesProjAnnual")) AddCommandParameter(dbCommand, "@SalesProjAnnual", _SalesProjAnnual);
|
||||
if (columnNames.ContainsCI("SalesProjMonth01")) AddCommandParameter(dbCommand, "@SalesProjMonth01", _SalesProjMonth01);
|
||||
if (columnNames.ContainsCI("SalesProjMonth02")) AddCommandParameter(dbCommand, "@SalesProjMonth02", _SalesProjMonth02);
|
||||
if (columnNames.ContainsCI("SalesProjMonth03")) AddCommandParameter(dbCommand, "@SalesProjMonth03", _SalesProjMonth03);
|
||||
if (columnNames.ContainsCI("SalesProjMonth04")) AddCommandParameter(dbCommand, "@SalesProjMonth04", _SalesProjMonth04);
|
||||
if (columnNames.ContainsCI("SalesProjMonth05")) AddCommandParameter(dbCommand, "@SalesProjMonth05", _SalesProjMonth05);
|
||||
if (columnNames.ContainsCI("SalesProjMonth06")) AddCommandParameter(dbCommand, "@SalesProjMonth06", _SalesProjMonth06);
|
||||
if (columnNames.ContainsCI("SalesProjMonth07")) AddCommandParameter(dbCommand, "@SalesProjMonth07", _SalesProjMonth07);
|
||||
if (columnNames.ContainsCI("SalesProjMonth08")) AddCommandParameter(dbCommand, "@SalesProjMonth08", _SalesProjMonth08);
|
||||
if (columnNames.ContainsCI("SalesProjMonth09")) AddCommandParameter(dbCommand, "@SalesProjMonth09", _SalesProjMonth09);
|
||||
if (columnNames.ContainsCI("SalesProjMonth10")) AddCommandParameter(dbCommand, "@SalesProjMonth10", _SalesProjMonth10);
|
||||
if (columnNames.ContainsCI("SalesProjMonth11")) AddCommandParameter(dbCommand, "@SalesProjMonth11", _SalesProjMonth11);
|
||||
if (columnNames.ContainsCI("SalesProjMonth12")) AddCommandParameter(dbCommand, "@SalesProjMonth12", _SalesProjMonth12);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,397 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Constituent_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _AffIdTarget { get; } = new ColumnDataInt32("AffIdTarget");
|
||||
public ColumnDataInt32 _AssocId { get; } = new ColumnDataInt32("AssocId");
|
||||
public ColumnDataInt32 _TransId { get; } = new ColumnDataInt32("TransId");
|
||||
public ColumnDataInt32 _ReqntId { get; } = new ColumnDataInt32("ReqntId");
|
||||
public ColumnDataInt32 _ConstId { get; } = new ColumnDataInt32("ConstId");
|
||||
public ColumnDataInt32 _ProcessId { get; } = new ColumnDataInt32("ProcessId");
|
||||
public ColumnDataInt32 _AssocIdContractor { get; } = new ColumnDataInt32("AssocIdContractor");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||
public ColumnDataDateTime _Effective { get; } = new ColumnDataDateTime("Effective");
|
||||
public ColumnDataDateTime _Required { get; } = new ColumnDataDateTime("Required");
|
||||
public ColumnDataDateTime _Started { get; } = new ColumnDataDateTime("Started");
|
||||
public ColumnDataDateTime _Completed { get; } = new ColumnDataDateTime("Completed");
|
||||
public ColumnDataInt32 _AssetId { get; } = new ColumnDataInt32("AssetId");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescOutline { get; } = new ColumnDataString("DescOutline");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataInt32 _TaskNumber { get; } = new ColumnDataInt32("TaskNumber");
|
||||
public ColumnDataInt16 _Priority { get; } = new ColumnDataInt16("Priority");
|
||||
public ColumnDataString _Category { get; } = new ColumnDataString("Category");
|
||||
public ColumnDataString _Reference { get; } = new ColumnDataString("Reference");
|
||||
public ColumnDataDecimal _Quantity { get; } = new ColumnDataDecimal("Quantity");
|
||||
public ColumnDataInt32 _UomId { get; } = new ColumnDataInt32("UomId");
|
||||
public ColumnDataDecimal _UnitCost { get; } = new ColumnDataDecimal("UnitCost");
|
||||
public ColumnDataDecimal _AmountEst { get; } = new ColumnDataDecimal("AmountEst");
|
||||
public ColumnDataDecimal _AmountNet { get; } = new ColumnDataDecimal("AmountNet");
|
||||
public ColumnDataInt32 _TaxCodeId { get; } = new ColumnDataInt32("TaxCodeId");
|
||||
public ColumnDataDecimal _TaxRate { get; } = new ColumnDataDecimal("TaxRate");
|
||||
public ColumnDataDecimal _AmountTax { get; } = new ColumnDataDecimal("AmountTax");
|
||||
public ColumnDataDecimal _AmountTot { get; } = new ColumnDataDecimal("AmountTot");
|
||||
public ColumnDataDecimal _TaxRateRebate { get; } = new ColumnDataDecimal("TaxRateRebate");
|
||||
public ColumnDataDecimal _AmountTaxRebate { get; } = new ColumnDataDecimal("AmountTaxRebate");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _StatusCat { get; } = new ColumnDataString("StatusCat");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"AffIdTarget",
|
||||
"AssocId",
|
||||
"TransId",
|
||||
"ReqntId",
|
||||
"ConstId",
|
||||
"ProcessId",
|
||||
"AssocIdContractor",
|
||||
"Type",
|
||||
"Seq",
|
||||
"Effective",
|
||||
"Required",
|
||||
"Started",
|
||||
"Completed",
|
||||
"AssetId",
|
||||
"DescBrief",
|
||||
"DescOutline",
|
||||
"DescDetail",
|
||||
"TaskNumber",
|
||||
"Priority",
|
||||
"Category",
|
||||
"Reference",
|
||||
"Quantity",
|
||||
"UomId",
|
||||
"UnitCost",
|
||||
"AmountEst",
|
||||
"AmountNet",
|
||||
"TaxCodeId",
|
||||
"TaxRate",
|
||||
"AmountTax",
|
||||
"AmountTot",
|
||||
"TaxRateRebate",
|
||||
"AmountTaxRebate",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"StatusCat",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Constituent_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Constituent";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _AffIdTarget { get { return Cols._AffIdTarget.Value; } set { Cols._AffIdTarget.Value = value; } }
|
||||
public Int32 _AssocId { get { return Cols._AssocId.Value; } set { Cols._AssocId.Value = value; } }
|
||||
public Int32 _TransId { get { return Cols._TransId.Value; } set { Cols._TransId.Value = value; } }
|
||||
public Int32 _ReqntId { get { return Cols._ReqntId.Value; } set { Cols._ReqntId.Value = value; } }
|
||||
public Int32 _ConstId { get { return Cols._ConstId.Value; } set { Cols._ConstId.Value = value; } }
|
||||
public Int32 _ProcessId { get { return Cols._ProcessId.Value; } set { Cols._ProcessId.Value = value; } }
|
||||
public Int32 _AssocIdContractor { get { return Cols._AssocIdContractor.Value; } set { Cols._AssocIdContractor.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||
public DateTime _Effective { get { return Cols._Effective.Value; } set { Cols._Effective.Value = value; } }
|
||||
public DateTime _Required { get { return Cols._Required.Value; } set { Cols._Required.Value = value; } }
|
||||
public DateTime _Started { get { return Cols._Started.Value; } set { Cols._Started.Value = value; } }
|
||||
public DateTime _Completed { get { return Cols._Completed.Value; } set { Cols._Completed.Value = value; } }
|
||||
public Int32 _AssetId { get { return Cols._AssetId.Value; } set { Cols._AssetId.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescOutline { get { return Cols._DescOutline.Value; } set { Cols._DescOutline.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public Int32 _TaskNumber { get { return Cols._TaskNumber.Value; } set { Cols._TaskNumber.Value = value; } }
|
||||
public Int16 _Priority { get { return Cols._Priority.Value; } set { Cols._Priority.Value = value; } }
|
||||
public String _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public String _Reference { get { return Cols._Reference.Value; } set { Cols._Reference.Value = value; } }
|
||||
public Decimal _Quantity { get { return Cols._Quantity.Value; } set { Cols._Quantity.Value = value; } }
|
||||
public Int32 _UomId { get { return Cols._UomId.Value; } set { Cols._UomId.Value = value; } }
|
||||
public Decimal _UnitCost { get { return Cols._UnitCost.Value; } set { Cols._UnitCost.Value = value; } }
|
||||
public Decimal _AmountEst { get { return Cols._AmountEst.Value; } set { Cols._AmountEst.Value = value; } }
|
||||
public Decimal _AmountNet { get { return Cols._AmountNet.Value; } set { Cols._AmountNet.Value = value; } }
|
||||
public Int32 _TaxCodeId { get { return Cols._TaxCodeId.Value; } set { Cols._TaxCodeId.Value = value; } }
|
||||
public Decimal _TaxRate { get { return Cols._TaxRate.Value; } set { Cols._TaxRate.Value = value; } }
|
||||
public Decimal _AmountTax { get { return Cols._AmountTax.Value; } set { Cols._AmountTax.Value = value; } }
|
||||
public Decimal _AmountTot { get { return Cols._AmountTot.Value; } set { Cols._AmountTot.Value = value; } }
|
||||
public Decimal _TaxRateRebate { get { return Cols._TaxRateRebate.Value; } set { Cols._TaxRateRebate.Value = value; } }
|
||||
public Decimal _AmountTaxRebate { get { return Cols._AmountTaxRebate.Value; } set { Cols._AmountTaxRebate.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _StatusCat { get { return Cols._StatusCat.Value; } set { Cols._StatusCat.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AffIdTarget = GetFieldInt32(dbDataReader, "AffIdTarget", _AffIdTarget);
|
||||
_AssocId = GetFieldInt32(dbDataReader, "AssocId", _AssocId);
|
||||
_TransId = GetFieldInt32(dbDataReader, "TransId", _TransId);
|
||||
_ReqntId = GetFieldInt32(dbDataReader, "ReqntId", _ReqntId);
|
||||
_ConstId = GetFieldInt32(dbDataReader, "ConstId", _ConstId);
|
||||
_ProcessId = GetFieldInt32(dbDataReader, "ProcessId", _ProcessId);
|
||||
_AssocIdContractor = GetFieldInt32(dbDataReader, "AssocIdContractor", _AssocIdContractor);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||
_Effective = GetFieldDateTime(dbDataReader, "Effective", _Effective);
|
||||
_Required = GetFieldDateTime(dbDataReader, "Required", _Required);
|
||||
_Started = GetFieldDateTime(dbDataReader, "Started", _Started);
|
||||
_Completed = GetFieldDateTime(dbDataReader, "Completed", _Completed);
|
||||
_AssetId = GetFieldInt32(dbDataReader, "AssetId", _AssetId);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescOutline = GetFieldString(dbDataReader, "DescOutline", _DescOutline);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_TaskNumber = GetFieldInt32(dbDataReader, "TaskNumber", _TaskNumber);
|
||||
_Priority = GetFieldInt16(dbDataReader, "Priority", _Priority);
|
||||
_Category = GetFieldString(dbDataReader, "Category", _Category);
|
||||
_Reference = GetFieldString(dbDataReader, "Reference", _Reference);
|
||||
_Quantity = GetFieldDecimal(dbDataReader, "Quantity", _Quantity);
|
||||
_UomId = GetFieldInt32(dbDataReader, "UomId", _UomId);
|
||||
_UnitCost = GetFieldDecimal(dbDataReader, "UnitCost", _UnitCost);
|
||||
_AmountEst = GetFieldDecimal(dbDataReader, "AmountEst", _AmountEst);
|
||||
_AmountNet = GetFieldDecimal(dbDataReader, "AmountNet", _AmountNet);
|
||||
_TaxCodeId = GetFieldInt32(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_TaxRate = GetFieldDecimal(dbDataReader, "TaxRate", _TaxRate);
|
||||
_AmountTax = GetFieldDecimal(dbDataReader, "AmountTax", _AmountTax);
|
||||
_AmountTot = GetFieldDecimal(dbDataReader, "AmountTot", _AmountTot);
|
||||
_TaxRateRebate = GetFieldDecimal(dbDataReader, "TaxRateRebate", _TaxRateRebate);
|
||||
_AmountTaxRebate = GetFieldDecimal(dbDataReader, "AmountTaxRebate", _AmountTaxRebate);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_StatusCat = GetFieldString(dbDataReader, "StatusCat", _StatusCat);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AffIdTarget")) AddCommandParameter(dbCommand, "@AffIdTarget", _AffIdTarget);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("TransId")) AddCommandParameter(dbCommand, "@TransId", _TransId);
|
||||
if (columnNames.ContainsCI("ReqntId")) AddCommandParameter(dbCommand, "@ReqntId", _ReqntId);
|
||||
if (columnNames.ContainsCI("ConstId")) AddCommandParameter(dbCommand, "@ConstId", _ConstId);
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("AssocIdContractor")) AddCommandParameter(dbCommand, "@AssocIdContractor", _AssocIdContractor);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("Effective")) AddCommandParameter(dbCommand, "@Effective", _Effective);
|
||||
if (columnNames.ContainsCI("Required")) AddCommandParameter(dbCommand, "@Required", _Required);
|
||||
if (columnNames.ContainsCI("Started")) AddCommandParameter(dbCommand, "@Started", _Started);
|
||||
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||
if (columnNames.ContainsCI("AssetId")) AddCommandParameter(dbCommand, "@AssetId", _AssetId);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("TaskNumber")) AddCommandParameter(dbCommand, "@TaskNumber", _TaskNumber);
|
||||
if (columnNames.ContainsCI("Priority")) AddCommandParameter(dbCommand, "@Priority", _Priority);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Reference")) AddCommandParameter(dbCommand, "@Reference", _Reference);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("UomId")) AddCommandParameter(dbCommand, "@UomId", _UomId);
|
||||
if (columnNames.ContainsCI("UnitCost")) AddCommandParameter(dbCommand, "@UnitCost", _UnitCost);
|
||||
if (columnNames.ContainsCI("AmountEst")) AddCommandParameter(dbCommand, "@AmountEst", _AmountEst);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("TaxRateRebate")) AddCommandParameter(dbCommand, "@TaxRateRebate", _TaxRateRebate);
|
||||
if (columnNames.ContainsCI("AmountTaxRebate")) AddCommandParameter(dbCommand, "@AmountTaxRebate", _AmountTaxRebate);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("StatusCat")) AddCommandParameter(dbCommand, "@StatusCat", _StatusCat);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AffIdTarget")) AddCommandParameter(dbCommand, "@AffIdTarget", _AffIdTarget);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("TransId")) AddCommandParameter(dbCommand, "@TransId", _TransId);
|
||||
if (columnNames.ContainsCI("ReqntId")) AddCommandParameter(dbCommand, "@ReqntId", _ReqntId);
|
||||
if (columnNames.ContainsCI("ConstId")) AddCommandParameter(dbCommand, "@ConstId", _ConstId);
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("AssocIdContractor")) AddCommandParameter(dbCommand, "@AssocIdContractor", _AssocIdContractor);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("Effective")) AddCommandParameter(dbCommand, "@Effective", _Effective);
|
||||
if (columnNames.ContainsCI("Required")) AddCommandParameter(dbCommand, "@Required", _Required);
|
||||
if (columnNames.ContainsCI("Started")) AddCommandParameter(dbCommand, "@Started", _Started);
|
||||
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||
if (columnNames.ContainsCI("AssetId")) AddCommandParameter(dbCommand, "@AssetId", _AssetId);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("TaskNumber")) AddCommandParameter(dbCommand, "@TaskNumber", _TaskNumber);
|
||||
if (columnNames.ContainsCI("Priority")) AddCommandParameter(dbCommand, "@Priority", _Priority);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Reference")) AddCommandParameter(dbCommand, "@Reference", _Reference);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("UomId")) AddCommandParameter(dbCommand, "@UomId", _UomId);
|
||||
if (columnNames.ContainsCI("UnitCost")) AddCommandParameter(dbCommand, "@UnitCost", _UnitCost);
|
||||
if (columnNames.ContainsCI("AmountEst")) AddCommandParameter(dbCommand, "@AmountEst", _AmountEst);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("TaxRateRebate")) AddCommandParameter(dbCommand, "@TaxRateRebate", _TaxRateRebate);
|
||||
if (columnNames.ContainsCI("AmountTaxRebate")) AddCommandParameter(dbCommand, "@AmountTaxRebate", _AmountTaxRebate);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("StatusCat")) AddCommandParameter(dbCommand, "@StatusCat", _StatusCat);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,232 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class ContainerItem_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _ContainerId { get; } = new ColumnDataInt32("ContainerId");
|
||||
public ColumnDataInt16 _ItemSeq { get; } = new ColumnDataInt16("ItemSeq");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataInt16 _ItemTypeSource { get; } = new ColumnDataInt16("ItemTypeSource");
|
||||
public ColumnDataInt32 _ItemIdSource { get; } = new ColumnDataInt32("ItemIdSource");
|
||||
public ColumnDataDecimal _Quantity { get; } = new ColumnDataDecimal("Quantity");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"ContainerId",
|
||||
"ItemSeq",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"ItemTypeSource",
|
||||
"ItemIdSource",
|
||||
"Quantity",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"ContainerId",
|
||||
"ItemSeq",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal ContainerItem_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "ContainerItem";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _ContainerId { get { return Cols._ContainerId.Value; } set { Cols._ContainerId.Value = value; } }
|
||||
public Int16 _ItemSeq { get { return Cols._ItemSeq.Value; } set { Cols._ItemSeq.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public Int16 _ItemTypeSource { get { return Cols._ItemTypeSource.Value; } set { Cols._ItemTypeSource.Value = value; } }
|
||||
public Int32 _ItemIdSource { get { return Cols._ItemIdSource.Value; } set { Cols._ItemIdSource.Value = value; } }
|
||||
public Decimal _Quantity { get { return Cols._Quantity.Value; } set { Cols._Quantity.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_ContainerId = GetFieldInt32(dbDataReader, "ContainerId", _ContainerId);
|
||||
_ItemSeq = GetFieldInt16(dbDataReader, "ItemSeq", _ItemSeq);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_ItemTypeSource = GetFieldInt16(dbDataReader, "ItemTypeSource", _ItemTypeSource);
|
||||
_ItemIdSource = GetFieldInt32(dbDataReader, "ItemIdSource", _ItemIdSource);
|
||||
_Quantity = GetFieldDecimal(dbDataReader, "Quantity", _Quantity);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ContainerId")) AddCommandParameter(dbCommand, "@ContainerId", _ContainerId);
|
||||
if (columnNames.ContainsCI("ItemSeq")) AddCommandParameter(dbCommand, "@ItemSeq", _ItemSeq);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("ItemTypeSource")) AddCommandParameter(dbCommand, "@ItemTypeSource", _ItemTypeSource);
|
||||
if (columnNames.ContainsCI("ItemIdSource")) AddCommandParameter(dbCommand, "@ItemIdSource", _ItemIdSource);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE ContainerId=@ContainerId AND ItemSeq=@ItemSeq AND ItemType=@ItemType AND ItemId=@ItemId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE ContainerId=? AND ItemSeq=? AND ItemType=? AND ItemId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ItemTypeSource")) AddCommandParameter(dbCommand, "@ItemTypeSource", _ItemTypeSource);
|
||||
if (columnNames.ContainsCI("ItemIdSource")) AddCommandParameter(dbCommand, "@ItemIdSource", _ItemIdSource);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@ContainerId", _ContainerId);
|
||||
AddCommandParameter(dbCommand, "@ItemSeq", _ItemSeq);
|
||||
AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,247 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Container_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||
public ColumnDataString _Type { get; } = new ColumnDataString("Type");
|
||||
public ColumnDataString _Reference { get; } = new ColumnDataString("Reference");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _TagId { get; } = new ColumnDataString("TagId");
|
||||
public ColumnDataInt32 _AssIdSupplier { get; } = new ColumnDataInt32("AssIdSupplier");
|
||||
public ColumnDataInt32 _AssIdCustomer { get; } = new ColumnDataInt32("AssIdCustomer");
|
||||
public ColumnDataDateTime _Expected { get; } = new ColumnDataDateTime("Expected");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Category",
|
||||
"Type",
|
||||
"Reference",
|
||||
"DescBrief",
|
||||
"TagId",
|
||||
"AssIdSupplier",
|
||||
"AssIdCustomer",
|
||||
"Expected",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Container_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Container";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public String _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Reference { get { return Cols._Reference.Value; } set { Cols._Reference.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _TagId { get { return Cols._TagId.Value; } set { Cols._TagId.Value = value; } }
|
||||
public Int32 _AssIdSupplier { get { return Cols._AssIdSupplier.Value; } set { Cols._AssIdSupplier.Value = value; } }
|
||||
public Int32 _AssIdCustomer { get { return Cols._AssIdCustomer.Value; } set { Cols._AssIdCustomer.Value = value; } }
|
||||
public DateTime _Expected { get { return Cols._Expected.Value; } set { Cols._Expected.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||
_Type = GetFieldString(dbDataReader, "Type", _Type);
|
||||
_Reference = GetFieldString(dbDataReader, "Reference", _Reference);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_TagId = GetFieldString(dbDataReader, "TagId", _TagId);
|
||||
_AssIdSupplier = GetFieldInt32(dbDataReader, "AssIdSupplier", _AssIdSupplier);
|
||||
_AssIdCustomer = GetFieldInt32(dbDataReader, "AssIdCustomer", _AssIdCustomer);
|
||||
_Expected = GetFieldDateTime(dbDataReader, "Expected", _Expected);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Reference")) AddCommandParameter(dbCommand, "@Reference", _Reference);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("TagId")) AddCommandParameter(dbCommand, "@TagId", _TagId);
|
||||
if (columnNames.ContainsCI("AssIdSupplier")) AddCommandParameter(dbCommand, "@AssIdSupplier", _AssIdSupplier);
|
||||
if (columnNames.ContainsCI("AssIdCustomer")) AddCommandParameter(dbCommand, "@AssIdCustomer", _AssIdCustomer);
|
||||
if (columnNames.ContainsCI("Expected")) AddCommandParameter(dbCommand, "@Expected", _Expected);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Reference")) AddCommandParameter(dbCommand, "@Reference", _Reference);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("TagId")) AddCommandParameter(dbCommand, "@TagId", _TagId);
|
||||
if (columnNames.ContainsCI("AssIdSupplier")) AddCommandParameter(dbCommand, "@AssIdSupplier", _AssIdSupplier);
|
||||
if (columnNames.ContainsCI("AssIdCustomer")) AddCommandParameter(dbCommand, "@AssIdCustomer", _AssIdCustomer);
|
||||
if (columnNames.ContainsCI("Expected")) AddCommandParameter(dbCommand, "@Expected", _Expected);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Currency_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataInt32 _Primary { get; } = new ColumnDataInt32("Primary");
|
||||
public ColumnDataString _Division { get; } = new ColumnDataString("Division");
|
||||
public ColumnDataInt32 _Region { get; } = new ColumnDataInt32("Region");
|
||||
public ColumnDataString _Symbol { get; } = new ColumnDataString("Symbol");
|
||||
public ColumnDataBoolean _Suffix { get; } = new ColumnDataBoolean("Suffix");
|
||||
public ColumnDataBoolean _IncSpace { get; } = new ColumnDataBoolean("IncSpace");
|
||||
public ColumnDataInt16 _Decimals { get; } = new ColumnDataInt16("Decimals");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Code",
|
||||
"Name",
|
||||
"Primary",
|
||||
"Division",
|
||||
"Region",
|
||||
"Symbol",
|
||||
"Suffix",
|
||||
"IncSpace",
|
||||
"Decimals",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Currency_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Currency";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public Int32 _Primary { get { return Cols._Primary.Value; } set { Cols._Primary.Value = value; } }
|
||||
public String _Division { get { return Cols._Division.Value; } set { Cols._Division.Value = value; } }
|
||||
public Int32 _Region { get { return Cols._Region.Value; } set { Cols._Region.Value = value; } }
|
||||
public String _Symbol { get { return Cols._Symbol.Value; } set { Cols._Symbol.Value = value; } }
|
||||
public Boolean _Suffix { get { return Cols._Suffix.Value; } set { Cols._Suffix.Value = value; } }
|
||||
public Boolean _IncSpace { get { return Cols._IncSpace.Value; } set { Cols._IncSpace.Value = value; } }
|
||||
public Int16 _Decimals { get { return Cols._Decimals.Value; } set { Cols._Decimals.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_Primary = GetFieldInt32(dbDataReader, "Primary", _Primary);
|
||||
_Division = GetFieldString(dbDataReader, "Division", _Division);
|
||||
_Region = GetFieldInt32(dbDataReader, "Region", _Region);
|
||||
_Symbol = GetFieldString(dbDataReader, "Symbol", _Symbol);
|
||||
_Suffix = GetFieldBoolean(dbDataReader, "Suffix", _Suffix);
|
||||
_IncSpace = GetFieldBoolean(dbDataReader, "IncSpace", _IncSpace);
|
||||
_Decimals = GetFieldInt16(dbDataReader, "Decimals", _Decimals);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Primary")) AddCommandParameter(dbCommand, "@Primary", _Primary);
|
||||
if (columnNames.ContainsCI("Division")) AddCommandParameter(dbCommand, "@Division", _Division);
|
||||
if (columnNames.ContainsCI("Region")) AddCommandParameter(dbCommand, "@Region", _Region);
|
||||
if (columnNames.ContainsCI("Symbol")) AddCommandParameter(dbCommand, "@Symbol", _Symbol);
|
||||
if (columnNames.ContainsCI("Suffix")) AddCommandParameter(dbCommand, "@Suffix", _Suffix);
|
||||
if (columnNames.ContainsCI("IncSpace")) AddCommandParameter(dbCommand, "@IncSpace", _IncSpace);
|
||||
if (columnNames.ContainsCI("Decimals")) AddCommandParameter(dbCommand, "@Decimals", _Decimals);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Primary")) AddCommandParameter(dbCommand, "@Primary", _Primary);
|
||||
if (columnNames.ContainsCI("Division")) AddCommandParameter(dbCommand, "@Division", _Division);
|
||||
if (columnNames.ContainsCI("Region")) AddCommandParameter(dbCommand, "@Region", _Region);
|
||||
if (columnNames.ContainsCI("Symbol")) AddCommandParameter(dbCommand, "@Symbol", _Symbol);
|
||||
if (columnNames.ContainsCI("Suffix")) AddCommandParameter(dbCommand, "@Suffix", _Suffix);
|
||||
if (columnNames.ContainsCI("IncSpace")) AddCommandParameter(dbCommand, "@IncSpace", _IncSpace);
|
||||
if (columnNames.ContainsCI("Decimals")) AddCommandParameter(dbCommand, "@Decimals", _Decimals);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,215 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class IndexDefragLog_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _IndexDefragId { get; } = new ColumnDataInt32("IndexDefragId", true);
|
||||
public ColumnDataInt32 _DatabaseID { get; } = new ColumnDataInt32("DatabaseID");
|
||||
public ColumnDataString _DatabaseName { get; } = new ColumnDataString("DatabaseName");
|
||||
public ColumnDataInt32 _ObjectID { get; } = new ColumnDataInt32("ObjectID");
|
||||
public ColumnDataString _ObjectName { get; } = new ColumnDataString("ObjectName");
|
||||
public ColumnDataInt32 _IndexID { get; } = new ColumnDataInt32("IndexID");
|
||||
public ColumnDataString _IndexName { get; } = new ColumnDataString("IndexName");
|
||||
public ColumnDataInt16 _PartitionNumber { get; } = new ColumnDataInt16("PartitionNumber");
|
||||
public ColumnDataDecimal _Fragmentation { get; } = new ColumnDataDecimal("Fragmentation");
|
||||
public ColumnDataInt32 _PageCount { get; } = new ColumnDataInt32("PageCount");
|
||||
public ColumnDataDateTime _DateTimeStart { get; } = new ColumnDataDateTime("DateTimeStart");
|
||||
public ColumnDataInt32 _DurationSeconds { get; } = new ColumnDataInt32("DurationSeconds");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"IndexDefragId",
|
||||
"DatabaseID",
|
||||
"DatabaseName",
|
||||
"ObjectID",
|
||||
"ObjectName",
|
||||
"IndexID",
|
||||
"IndexName",
|
||||
"PartitionNumber",
|
||||
"Fragmentation",
|
||||
"PageCount",
|
||||
"DateTimeStart",
|
||||
"DurationSeconds",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
"IndexDefragId",
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"IndexDefragId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal IndexDefragLog_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "IndexDefragLog";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _IndexDefragId { get { return Cols._IndexDefragId.Value; } set { Cols._IndexDefragId.Value = value; } }
|
||||
public Int32 _DatabaseID { get { return Cols._DatabaseID.Value; } set { Cols._DatabaseID.Value = value; } }
|
||||
public String _DatabaseName { get { return Cols._DatabaseName.Value; } set { Cols._DatabaseName.Value = value; } }
|
||||
public Int32 _ObjectID { get { return Cols._ObjectID.Value; } set { Cols._ObjectID.Value = value; } }
|
||||
public String _ObjectName { get { return Cols._ObjectName.Value; } set { Cols._ObjectName.Value = value; } }
|
||||
public Int32 _IndexID { get { return Cols._IndexID.Value; } set { Cols._IndexID.Value = value; } }
|
||||
public String _IndexName { get { return Cols._IndexName.Value; } set { Cols._IndexName.Value = value; } }
|
||||
public Int16 _PartitionNumber { get { return Cols._PartitionNumber.Value; } set { Cols._PartitionNumber.Value = value; } }
|
||||
public Decimal _Fragmentation { get { return Cols._Fragmentation.Value; } set { Cols._Fragmentation.Value = value; } }
|
||||
public Int32 _PageCount { get { return Cols._PageCount.Value; } set { Cols._PageCount.Value = value; } }
|
||||
public DateTime _DateTimeStart { get { return Cols._DateTimeStart.Value; } set { Cols._DateTimeStart.Value = value; } }
|
||||
public Int32 _DurationSeconds { get { return Cols._DurationSeconds.Value; } set { Cols._DurationSeconds.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_IndexDefragId = GetFieldInt32(dbDataReader, "IndexDefragId", _IndexDefragId);
|
||||
_DatabaseID = GetFieldInt32(dbDataReader, "DatabaseID", _DatabaseID);
|
||||
_DatabaseName = GetFieldString(dbDataReader, "DatabaseName", _DatabaseName);
|
||||
_ObjectID = GetFieldInt32(dbDataReader, "ObjectID", _ObjectID);
|
||||
_ObjectName = GetFieldString(dbDataReader, "ObjectName", _ObjectName);
|
||||
_IndexID = GetFieldInt32(dbDataReader, "IndexID", _IndexID);
|
||||
_IndexName = GetFieldString(dbDataReader, "IndexName", _IndexName);
|
||||
_PartitionNumber = GetFieldInt16(dbDataReader, "PartitionNumber", _PartitionNumber);
|
||||
_Fragmentation = GetFieldDecimal(dbDataReader, "Fragmentation", _Fragmentation);
|
||||
_PageCount = GetFieldInt32(dbDataReader, "PageCount", _PageCount);
|
||||
_DateTimeStart = GetFieldDateTime(dbDataReader, "DateTimeStart", _DateTimeStart);
|
||||
_DurationSeconds = GetFieldInt32(dbDataReader, "DurationSeconds", _DurationSeconds);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Avoid insert if Identity field is already valid.
|
||||
if (_IndexDefragId != 0) throw new Exception("Invalid for Insert - item already has a valid Id");
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
query += "Output Inserted.IndexDefragId ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("DatabaseID")) AddCommandParameter(dbCommand, "@DatabaseID", _DatabaseID);
|
||||
if (columnNames.ContainsCI("DatabaseName")) AddCommandParameter(dbCommand, "@DatabaseName", _DatabaseName);
|
||||
if (columnNames.ContainsCI("ObjectID")) AddCommandParameter(dbCommand, "@ObjectID", _ObjectID);
|
||||
if (columnNames.ContainsCI("ObjectName")) AddCommandParameter(dbCommand, "@ObjectName", _ObjectName);
|
||||
if (columnNames.ContainsCI("IndexID")) AddCommandParameter(dbCommand, "@IndexID", _IndexID);
|
||||
if (columnNames.ContainsCI("IndexName")) AddCommandParameter(dbCommand, "@IndexName", _IndexName);
|
||||
if (columnNames.ContainsCI("PartitionNumber")) AddCommandParameter(dbCommand, "@PartitionNumber", _PartitionNumber);
|
||||
if (columnNames.ContainsCI("Fragmentation")) AddCommandParameter(dbCommand, "@Fragmentation", _Fragmentation);
|
||||
if (columnNames.ContainsCI("PageCount")) AddCommandParameter(dbCommand, "@PageCount", _PageCount);
|
||||
if (columnNames.ContainsCI("DateTimeStart")) AddCommandParameter(dbCommand, "@DateTimeStart", _DateTimeStart);
|
||||
if (columnNames.ContainsCI("DurationSeconds")) AddCommandParameter(dbCommand, "@DurationSeconds", _DurationSeconds);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
dbCommand.CommandText = "SELECT Max(IndexDefragId) FROM " + TableNameFmt + ";";
|
||||
_IndexDefragId = Convert.ToInt32(dbCommand.ExecuteScalar());
|
||||
commandSuccess = (_IndexDefragId > 0);
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Avoid update if Identity field isn't valid.
|
||||
if (_IndexDefragId == 0) throw new Exception("Invalid for Update - item has an invalid Id");
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE IndexDefragId=@IndexDefragId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE IndexDefragId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("DatabaseID")) AddCommandParameter(dbCommand, "@DatabaseID", _DatabaseID);
|
||||
if (columnNames.ContainsCI("DatabaseName")) AddCommandParameter(dbCommand, "@DatabaseName", _DatabaseName);
|
||||
if (columnNames.ContainsCI("ObjectID")) AddCommandParameter(dbCommand, "@ObjectID", _ObjectID);
|
||||
if (columnNames.ContainsCI("ObjectName")) AddCommandParameter(dbCommand, "@ObjectName", _ObjectName);
|
||||
if (columnNames.ContainsCI("IndexID")) AddCommandParameter(dbCommand, "@IndexID", _IndexID);
|
||||
if (columnNames.ContainsCI("IndexName")) AddCommandParameter(dbCommand, "@IndexName", _IndexName);
|
||||
if (columnNames.ContainsCI("PartitionNumber")) AddCommandParameter(dbCommand, "@PartitionNumber", _PartitionNumber);
|
||||
if (columnNames.ContainsCI("Fragmentation")) AddCommandParameter(dbCommand, "@Fragmentation", _Fragmentation);
|
||||
if (columnNames.ContainsCI("PageCount")) AddCommandParameter(dbCommand, "@PageCount", _PageCount);
|
||||
if (columnNames.ContainsCI("DateTimeStart")) AddCommandParameter(dbCommand, "@DateTimeStart", _DateTimeStart);
|
||||
if (columnNames.ContainsCI("DurationSeconds")) AddCommandParameter(dbCommand, "@DurationSeconds", _DurationSeconds);
|
||||
AddCommandParameter(dbCommand, "@IndexDefragId", _IndexDefragId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class InterfaceDataItem_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _InterfaceId { get; } = new ColumnDataInt32("InterfaceId");
|
||||
public ColumnDataInt16 _Direction { get; } = new ColumnDataInt16("Direction");
|
||||
public ColumnDataString _ExternalRef { get; } = new ColumnDataString("ExternalRef");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataString _ProcessStatus { get; } = new ColumnDataString("ProcessStatus");
|
||||
public ColumnDataInt32 _ProcessStatusBy { get; } = new ColumnDataInt32("ProcessStatusBy");
|
||||
public ColumnDataInt32 _ProcessStatusOn { get; } = new ColumnDataInt32("ProcessStatusOn");
|
||||
public ColumnDataString _ItemStatus { get; } = new ColumnDataString("ItemStatus");
|
||||
public ColumnDataInt32 _ItemStatusBy { get; } = new ColumnDataInt32("ItemStatusBy");
|
||||
public ColumnDataInt32 _ItemStatusOn { get; } = new ColumnDataInt32("ItemStatusOn");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"InterfaceId",
|
||||
"Direction",
|
||||
"ExternalRef",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"ProcessStatus",
|
||||
"ProcessStatusBy",
|
||||
"ProcessStatusOn",
|
||||
"ItemStatus",
|
||||
"ItemStatusBy",
|
||||
"ItemStatusOn",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal InterfaceDataItem_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "InterfaceDataItem";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _InterfaceId { get { return Cols._InterfaceId.Value; } set { Cols._InterfaceId.Value = value; } }
|
||||
public Int16 _Direction { get { return Cols._Direction.Value; } set { Cols._Direction.Value = value; } }
|
||||
public String _ExternalRef { get { return Cols._ExternalRef.Value; } set { Cols._ExternalRef.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public String _ProcessStatus { get { return Cols._ProcessStatus.Value; } set { Cols._ProcessStatus.Value = value; } }
|
||||
public Int32 _ProcessStatusBy { get { return Cols._ProcessStatusBy.Value; } set { Cols._ProcessStatusBy.Value = value; } }
|
||||
public Int32 _ProcessStatusOn { get { return Cols._ProcessStatusOn.Value; } set { Cols._ProcessStatusOn.Value = value; } }
|
||||
public String _ItemStatus { get { return Cols._ItemStatus.Value; } set { Cols._ItemStatus.Value = value; } }
|
||||
public Int32 _ItemStatusBy { get { return Cols._ItemStatusBy.Value; } set { Cols._ItemStatusBy.Value = value; } }
|
||||
public Int32 _ItemStatusOn { get { return Cols._ItemStatusOn.Value; } set { Cols._ItemStatusOn.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_InterfaceId = GetFieldInt32(dbDataReader, "InterfaceId", _InterfaceId);
|
||||
_Direction = GetFieldInt16(dbDataReader, "Direction", _Direction);
|
||||
_ExternalRef = GetFieldString(dbDataReader, "ExternalRef", _ExternalRef);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_ProcessStatus = GetFieldString(dbDataReader, "ProcessStatus", _ProcessStatus);
|
||||
_ProcessStatusBy = GetFieldInt32(dbDataReader, "ProcessStatusBy", _ProcessStatusBy);
|
||||
_ProcessStatusOn = GetFieldInt32(dbDataReader, "ProcessStatusOn", _ProcessStatusOn);
|
||||
_ItemStatus = GetFieldString(dbDataReader, "ItemStatus", _ItemStatus);
|
||||
_ItemStatusBy = GetFieldInt32(dbDataReader, "ItemStatusBy", _ItemStatusBy);
|
||||
_ItemStatusOn = GetFieldInt32(dbDataReader, "ItemStatusOn", _ItemStatusOn);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("Direction")) AddCommandParameter(dbCommand, "@Direction", _Direction);
|
||||
if (columnNames.ContainsCI("ExternalRef")) AddCommandParameter(dbCommand, "@ExternalRef", _ExternalRef);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("ProcessStatus")) AddCommandParameter(dbCommand, "@ProcessStatus", _ProcessStatus);
|
||||
if (columnNames.ContainsCI("ProcessStatusBy")) AddCommandParameter(dbCommand, "@ProcessStatusBy", _ProcessStatusBy);
|
||||
if (columnNames.ContainsCI("ProcessStatusOn")) AddCommandParameter(dbCommand, "@ProcessStatusOn", _ProcessStatusOn);
|
||||
if (columnNames.ContainsCI("ItemStatus")) AddCommandParameter(dbCommand, "@ItemStatus", _ItemStatus);
|
||||
if (columnNames.ContainsCI("ItemStatusBy")) AddCommandParameter(dbCommand, "@ItemStatusBy", _ItemStatusBy);
|
||||
if (columnNames.ContainsCI("ItemStatusOn")) AddCommandParameter(dbCommand, "@ItemStatusOn", _ItemStatusOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("Direction")) AddCommandParameter(dbCommand, "@Direction", _Direction);
|
||||
if (columnNames.ContainsCI("ExternalRef")) AddCommandParameter(dbCommand, "@ExternalRef", _ExternalRef);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("ProcessStatus")) AddCommandParameter(dbCommand, "@ProcessStatus", _ProcessStatus);
|
||||
if (columnNames.ContainsCI("ProcessStatusBy")) AddCommandParameter(dbCommand, "@ProcessStatusBy", _ProcessStatusBy);
|
||||
if (columnNames.ContainsCI("ProcessStatusOn")) AddCommandParameter(dbCommand, "@ProcessStatusOn", _ProcessStatusOn);
|
||||
if (columnNames.ContainsCI("ItemStatus")) AddCommandParameter(dbCommand, "@ItemStatus", _ItemStatus);
|
||||
if (columnNames.ContainsCI("ItemStatusBy")) AddCommandParameter(dbCommand, "@ItemStatusBy", _ItemStatusBy);
|
||||
if (columnNames.ContainsCI("ItemStatusOn")) AddCommandParameter(dbCommand, "@ItemStatusOn", _ItemStatusOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class InterfaceProcessDataItem_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _ProcessId { get; } = new ColumnDataInt32("ProcessId");
|
||||
public ColumnDataInt32 _InterfaceDataItemId { get; } = new ColumnDataInt32("InterfaceDataItemId");
|
||||
public ColumnDataString _ItemData { get; } = new ColumnDataString("ItemData");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"ProcessId",
|
||||
"InterfaceDataItemId",
|
||||
"ItemData",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"ProcessId",
|
||||
"InterfaceDataItemId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal InterfaceProcessDataItem_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "InterfaceProcessDataItem";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _ProcessId { get { return Cols._ProcessId.Value; } set { Cols._ProcessId.Value = value; } }
|
||||
public Int32 _InterfaceDataItemId { get { return Cols._InterfaceDataItemId.Value; } set { Cols._InterfaceDataItemId.Value = value; } }
|
||||
public String _ItemData { get { return Cols._ItemData.Value; } set { Cols._ItemData.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_ProcessId = GetFieldInt32(dbDataReader, "ProcessId", _ProcessId);
|
||||
_InterfaceDataItemId = GetFieldInt32(dbDataReader, "InterfaceDataItemId", _InterfaceDataItemId);
|
||||
_ItemData = GetFieldString(dbDataReader, "ItemData", _ItemData);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("InterfaceDataItemId")) AddCommandParameter(dbCommand, "@InterfaceDataItemId", _InterfaceDataItemId);
|
||||
if (columnNames.ContainsCI("ItemData")) AddCommandParameter(dbCommand, "@ItemData", _ItemData);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE ProcessId=@ProcessId AND InterfaceDataItemId=@InterfaceDataItemId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE ProcessId=? AND InterfaceDataItemId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ItemData")) AddCommandParameter(dbCommand, "@ItemData", _ItemData);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
AddCommandParameter(dbCommand, "@InterfaceDataItemId", _InterfaceDataItemId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class InterfaceProcessMessage_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _ProcessId { get; } = new ColumnDataInt32("ProcessId");
|
||||
public ColumnDataString _MsgType { get; } = new ColumnDataString("MsgType");
|
||||
public ColumnDataString _Msg { get; } = new ColumnDataString("Msg");
|
||||
public ColumnDataString _FileName { get; } = new ColumnDataString("FileName");
|
||||
public ColumnDataInt32 _LineNumber { get; } = new ColumnDataInt32("LineNumber");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"ProcessId",
|
||||
"MsgType",
|
||||
"Msg",
|
||||
"FileName",
|
||||
"LineNumber",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal InterfaceProcessMessage_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "InterfaceProcessMessage";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _ProcessId { get { return Cols._ProcessId.Value; } set { Cols._ProcessId.Value = value; } }
|
||||
public String _MsgType { get { return Cols._MsgType.Value; } set { Cols._MsgType.Value = value; } }
|
||||
public String _Msg { get { return Cols._Msg.Value; } set { Cols._Msg.Value = value; } }
|
||||
public String _FileName { get { return Cols._FileName.Value; } set { Cols._FileName.Value = value; } }
|
||||
public Int32 _LineNumber { get { return Cols._LineNumber.Value; } set { Cols._LineNumber.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_ProcessId = GetFieldInt32(dbDataReader, "ProcessId", _ProcessId);
|
||||
_MsgType = GetFieldString(dbDataReader, "MsgType", _MsgType);
|
||||
_Msg = GetFieldString(dbDataReader, "Msg", _Msg);
|
||||
_FileName = GetFieldString(dbDataReader, "FileName", _FileName);
|
||||
_LineNumber = GetFieldInt32(dbDataReader, "LineNumber", _LineNumber);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("MsgType")) AddCommandParameter(dbCommand, "@MsgType", _MsgType);
|
||||
if (columnNames.ContainsCI("Msg")) AddCommandParameter(dbCommand, "@Msg", _Msg);
|
||||
if (columnNames.ContainsCI("FileName")) AddCommandParameter(dbCommand, "@FileName", _FileName);
|
||||
if (columnNames.ContainsCI("LineNumber")) AddCommandParameter(dbCommand, "@LineNumber", _LineNumber);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("MsgType")) AddCommandParameter(dbCommand, "@MsgType", _MsgType);
|
||||
if (columnNames.ContainsCI("Msg")) AddCommandParameter(dbCommand, "@Msg", _Msg);
|
||||
if (columnNames.ContainsCI("FileName")) AddCommandParameter(dbCommand, "@FileName", _FileName);
|
||||
if (columnNames.ContainsCI("LineNumber")) AddCommandParameter(dbCommand, "@LineNumber", _LineNumber);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,247 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class InterfaceProcess_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _InterfaceId { get; } = new ColumnDataInt32("InterfaceId");
|
||||
public ColumnDataInt16 _Direction { get; } = new ColumnDataInt16("Direction");
|
||||
public ColumnDataString _ProcRef { get; } = new ColumnDataString("ProcRef");
|
||||
public ColumnDataInt32 _ProcSeq { get; } = new ColumnDataInt32("ProcSeq");
|
||||
public ColumnDataInt32 _ProcDate { get; } = new ColumnDataInt32("ProcDate");
|
||||
public ColumnDataInt32 _ProcTime { get; } = new ColumnDataInt32("ProcTime");
|
||||
public ColumnDataInt32 _BatchDate { get; } = new ColumnDataInt32("BatchDate");
|
||||
public ColumnDataInt32 _BatchTime { get; } = new ColumnDataInt32("BatchTime");
|
||||
public ColumnDataInt32 _ElapseSecs { get; } = new ColumnDataInt32("ElapseSecs");
|
||||
public ColumnDataInt32 _ItemCount { get; } = new ColumnDataInt32("ItemCount");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"InterfaceId",
|
||||
"Direction",
|
||||
"ProcRef",
|
||||
"ProcSeq",
|
||||
"ProcDate",
|
||||
"ProcTime",
|
||||
"BatchDate",
|
||||
"BatchTime",
|
||||
"ElapseSecs",
|
||||
"ItemCount",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal InterfaceProcess_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "InterfaceProcess";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _InterfaceId { get { return Cols._InterfaceId.Value; } set { Cols._InterfaceId.Value = value; } }
|
||||
public Int16 _Direction { get { return Cols._Direction.Value; } set { Cols._Direction.Value = value; } }
|
||||
public String _ProcRef { get { return Cols._ProcRef.Value; } set { Cols._ProcRef.Value = value; } }
|
||||
public Int32 _ProcSeq { get { return Cols._ProcSeq.Value; } set { Cols._ProcSeq.Value = value; } }
|
||||
public Int32 _ProcDate { get { return Cols._ProcDate.Value; } set { Cols._ProcDate.Value = value; } }
|
||||
public Int32 _ProcTime { get { return Cols._ProcTime.Value; } set { Cols._ProcTime.Value = value; } }
|
||||
public Int32 _BatchDate { get { return Cols._BatchDate.Value; } set { Cols._BatchDate.Value = value; } }
|
||||
public Int32 _BatchTime { get { return Cols._BatchTime.Value; } set { Cols._BatchTime.Value = value; } }
|
||||
public Int32 _ElapseSecs { get { return Cols._ElapseSecs.Value; } set { Cols._ElapseSecs.Value = value; } }
|
||||
public Int32 _ItemCount { get { return Cols._ItemCount.Value; } set { Cols._ItemCount.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_InterfaceId = GetFieldInt32(dbDataReader, "InterfaceId", _InterfaceId);
|
||||
_Direction = GetFieldInt16(dbDataReader, "Direction", _Direction);
|
||||
_ProcRef = GetFieldString(dbDataReader, "ProcRef", _ProcRef);
|
||||
_ProcSeq = GetFieldInt32(dbDataReader, "ProcSeq", _ProcSeq);
|
||||
_ProcDate = GetFieldInt32(dbDataReader, "ProcDate", _ProcDate);
|
||||
_ProcTime = GetFieldInt32(dbDataReader, "ProcTime", _ProcTime);
|
||||
_BatchDate = GetFieldInt32(dbDataReader, "BatchDate", _BatchDate);
|
||||
_BatchTime = GetFieldInt32(dbDataReader, "BatchTime", _BatchTime);
|
||||
_ElapseSecs = GetFieldInt32(dbDataReader, "ElapseSecs", _ElapseSecs);
|
||||
_ItemCount = GetFieldInt32(dbDataReader, "ItemCount", _ItemCount);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("Direction")) AddCommandParameter(dbCommand, "@Direction", _Direction);
|
||||
if (columnNames.ContainsCI("ProcRef")) AddCommandParameter(dbCommand, "@ProcRef", _ProcRef);
|
||||
if (columnNames.ContainsCI("ProcSeq")) AddCommandParameter(dbCommand, "@ProcSeq", _ProcSeq);
|
||||
if (columnNames.ContainsCI("ProcDate")) AddCommandParameter(dbCommand, "@ProcDate", _ProcDate);
|
||||
if (columnNames.ContainsCI("ProcTime")) AddCommandParameter(dbCommand, "@ProcTime", _ProcTime);
|
||||
if (columnNames.ContainsCI("BatchDate")) AddCommandParameter(dbCommand, "@BatchDate", _BatchDate);
|
||||
if (columnNames.ContainsCI("BatchTime")) AddCommandParameter(dbCommand, "@BatchTime", _BatchTime);
|
||||
if (columnNames.ContainsCI("ElapseSecs")) AddCommandParameter(dbCommand, "@ElapseSecs", _ElapseSecs);
|
||||
if (columnNames.ContainsCI("ItemCount")) AddCommandParameter(dbCommand, "@ItemCount", _ItemCount);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("Direction")) AddCommandParameter(dbCommand, "@Direction", _Direction);
|
||||
if (columnNames.ContainsCI("ProcRef")) AddCommandParameter(dbCommand, "@ProcRef", _ProcRef);
|
||||
if (columnNames.ContainsCI("ProcSeq")) AddCommandParameter(dbCommand, "@ProcSeq", _ProcSeq);
|
||||
if (columnNames.ContainsCI("ProcDate")) AddCommandParameter(dbCommand, "@ProcDate", _ProcDate);
|
||||
if (columnNames.ContainsCI("ProcTime")) AddCommandParameter(dbCommand, "@ProcTime", _ProcTime);
|
||||
if (columnNames.ContainsCI("BatchDate")) AddCommandParameter(dbCommand, "@BatchDate", _BatchDate);
|
||||
if (columnNames.ContainsCI("BatchTime")) AddCommandParameter(dbCommand, "@BatchTime", _BatchTime);
|
||||
if (columnNames.ContainsCI("ElapseSecs")) AddCommandParameter(dbCommand, "@ElapseSecs", _ElapseSecs);
|
||||
if (columnNames.ContainsCI("ItemCount")) AddCommandParameter(dbCommand, "@ItemCount", _ItemCount);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Interface_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataString _Context { get; } = new ColumnDataString("Context");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Caption { get; } = new ColumnDataString("Caption");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Context",
|
||||
"Code",
|
||||
"Category",
|
||||
"Type",
|
||||
"Caption",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Interface_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Interface";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public String _Context { get { return Cols._Context.Value; } set { Cols._Context.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Caption { get { return Cols._Caption.Value; } set { Cols._Caption.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Context = GetFieldString(dbDataReader, "Context", _Context);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Caption = GetFieldString(dbDataReader, "Caption", _Caption);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Context")) AddCommandParameter(dbCommand, "@Context", _Context);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Caption")) AddCommandParameter(dbCommand, "@Caption", _Caption);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Context")) AddCommandParameter(dbCommand, "@Context", _Context);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Caption")) AddCommandParameter(dbCommand, "@Caption", _Caption);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class ItemBatch_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Ref { get; } = new ColumnDataString("Ref");
|
||||
public ColumnDataString _ProcessType { get; } = new ColumnDataString("ProcessType");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Type",
|
||||
"Ref",
|
||||
"ProcessType",
|
||||
"DescBrief",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal ItemBatch_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "ItemBatch";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Ref { get { return Cols._Ref.Value; } set { Cols._Ref.Value = value; } }
|
||||
public String _ProcessType { get { return Cols._ProcessType.Value; } set { Cols._ProcessType.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Ref = GetFieldString(dbDataReader, "Ref", _Ref);
|
||||
_ProcessType = GetFieldString(dbDataReader, "ProcessType", _ProcessType);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Ref")) AddCommandParameter(dbCommand, "@Ref", _Ref);
|
||||
if (columnNames.ContainsCI("ProcessType")) AddCommandParameter(dbCommand, "@ProcessType", _ProcessType);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Ref")) AddCommandParameter(dbCommand, "@Ref", _Ref);
|
||||
if (columnNames.ContainsCI("ProcessType")) AddCommandParameter(dbCommand, "@ProcessType", _ProcessType);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,240 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class ItemLink_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt16 _ItemTypeFrom { get; } = new ColumnDataInt16("ItemTypeFrom");
|
||||
public ColumnDataInt32 _ItemIdFrom { get; } = new ColumnDataInt32("ItemIdFrom");
|
||||
public ColumnDataInt16 _ItemTypeTo { get; } = new ColumnDataInt16("ItemTypeTo");
|
||||
public ColumnDataInt32 _ItemIdTo { get; } = new ColumnDataInt32("ItemIdTo");
|
||||
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||
public ColumnDataDateTime _Completed { get; } = new ColumnDataDateTime("Completed");
|
||||
public ColumnDataString _DataContent { get; } = new ColumnDataString("DataContent");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Type",
|
||||
"ItemTypeFrom",
|
||||
"ItemIdFrom",
|
||||
"ItemTypeTo",
|
||||
"ItemIdTo",
|
||||
"Seq",
|
||||
"Completed",
|
||||
"DataContent",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Type",
|
||||
"ItemTypeFrom",
|
||||
"ItemIdFrom",
|
||||
"ItemTypeTo",
|
||||
"ItemIdTo",
|
||||
"Seq",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal ItemLink_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "ItemLink";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int16 _ItemTypeFrom { get { return Cols._ItemTypeFrom.Value; } set { Cols._ItemTypeFrom.Value = value; } }
|
||||
public Int32 _ItemIdFrom { get { return Cols._ItemIdFrom.Value; } set { Cols._ItemIdFrom.Value = value; } }
|
||||
public Int16 _ItemTypeTo { get { return Cols._ItemTypeTo.Value; } set { Cols._ItemTypeTo.Value = value; } }
|
||||
public Int32 _ItemIdTo { get { return Cols._ItemIdTo.Value; } set { Cols._ItemIdTo.Value = value; } }
|
||||
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||
public DateTime _Completed { get { return Cols._Completed.Value; } set { Cols._Completed.Value = value; } }
|
||||
public String _DataContent { get { return Cols._DataContent.Value; } set { Cols._DataContent.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_ItemTypeFrom = GetFieldInt16(dbDataReader, "ItemTypeFrom", _ItemTypeFrom);
|
||||
_ItemIdFrom = GetFieldInt32(dbDataReader, "ItemIdFrom", _ItemIdFrom);
|
||||
_ItemTypeTo = GetFieldInt16(dbDataReader, "ItemTypeTo", _ItemTypeTo);
|
||||
_ItemIdTo = GetFieldInt32(dbDataReader, "ItemIdTo", _ItemIdTo);
|
||||
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||
_Completed = GetFieldDateTime(dbDataReader, "Completed", _Completed);
|
||||
_DataContent = GetFieldString(dbDataReader, "DataContent", _DataContent);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("ItemTypeFrom")) AddCommandParameter(dbCommand, "@ItemTypeFrom", _ItemTypeFrom);
|
||||
if (columnNames.ContainsCI("ItemIdFrom")) AddCommandParameter(dbCommand, "@ItemIdFrom", _ItemIdFrom);
|
||||
if (columnNames.ContainsCI("ItemTypeTo")) AddCommandParameter(dbCommand, "@ItemTypeTo", _ItemTypeTo);
|
||||
if (columnNames.ContainsCI("ItemIdTo")) AddCommandParameter(dbCommand, "@ItemIdTo", _ItemIdTo);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||
if (columnNames.ContainsCI("DataContent")) AddCommandParameter(dbCommand, "@DataContent", _DataContent);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Type=@Type AND ItemTypeFrom=@ItemTypeFrom AND ItemIdFrom=@ItemIdFrom AND ItemTypeTo=@ItemTypeTo AND ItemIdTo=@ItemIdTo AND Seq=@Seq;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Type=? AND ItemTypeFrom=? AND ItemIdFrom=? AND ItemTypeTo=? AND ItemIdTo=? AND Seq=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||
if (columnNames.ContainsCI("DataContent")) AddCommandParameter(dbCommand, "@DataContent", _DataContent);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
AddCommandParameter(dbCommand, "@ItemTypeFrom", _ItemTypeFrom);
|
||||
AddCommandParameter(dbCommand, "@ItemIdFrom", _ItemIdFrom);
|
||||
AddCommandParameter(dbCommand, "@ItemTypeTo", _ItemTypeTo);
|
||||
AddCommandParameter(dbCommand, "@ItemIdTo", _ItemIdTo);
|
||||
AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Language_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataInt32 _Primary { get; } = new ColumnDataInt32("Primary");
|
||||
public ColumnDataBoolean _Unicode { get; } = new ColumnDataBoolean("Unicode");
|
||||
public ColumnDataBoolean _Translation { get; } = new ColumnDataBoolean("Translation");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Code",
|
||||
"Name",
|
||||
"Primary",
|
||||
"Unicode",
|
||||
"Translation",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Language_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Language";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public Int32 _Primary { get { return Cols._Primary.Value; } set { Cols._Primary.Value = value; } }
|
||||
public Boolean _Unicode { get { return Cols._Unicode.Value; } set { Cols._Unicode.Value = value; } }
|
||||
public Boolean _Translation { get { return Cols._Translation.Value; } set { Cols._Translation.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_Primary = GetFieldInt32(dbDataReader, "Primary", _Primary);
|
||||
_Unicode = GetFieldBoolean(dbDataReader, "Unicode", _Unicode);
|
||||
_Translation = GetFieldBoolean(dbDataReader, "Translation", _Translation);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Primary")) AddCommandParameter(dbCommand, "@Primary", _Primary);
|
||||
if (columnNames.ContainsCI("Unicode")) AddCommandParameter(dbCommand, "@Unicode", _Unicode);
|
||||
if (columnNames.ContainsCI("Translation")) AddCommandParameter(dbCommand, "@Translation", _Translation);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Primary")) AddCommandParameter(dbCommand, "@Primary", _Primary);
|
||||
if (columnNames.ContainsCI("Unicode")) AddCommandParameter(dbCommand, "@Unicode", _Unicode);
|
||||
if (columnNames.ContainsCI("Translation")) AddCommandParameter(dbCommand, "@Translation", _Translation);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,217 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Location_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Category",
|
||||
"Code",
|
||||
"Name",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Location_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Location";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Movement_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataDateTime _Movement { get; } = new ColumnDataDateTime("Movement");
|
||||
public ColumnDataInt32 _LocationIdFrom { get; } = new ColumnDataInt32("LocationIdFrom");
|
||||
public ColumnDataInt32 _LocationIdTo { get; } = new ColumnDataInt32("LocationIdTo");
|
||||
public ColumnDataDecimal _Quantity { get; } = new ColumnDataDecimal("Quantity");
|
||||
public ColumnDataInt32 _MovementIdSource { get; } = new ColumnDataInt32("MovementIdSource");
|
||||
public ColumnDataInt16 _ItemTypeSource { get; } = new ColumnDataInt16("ItemTypeSource");
|
||||
public ColumnDataInt32 _ItemIdSource { get; } = new ColumnDataInt32("ItemIdSource");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"Type",
|
||||
"Movement",
|
||||
"LocationIdFrom",
|
||||
"LocationIdTo",
|
||||
"Quantity",
|
||||
"MovementIdSource",
|
||||
"ItemTypeSource",
|
||||
"ItemIdSource",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Movement_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Movement";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public DateTime _Movement { get { return Cols._Movement.Value; } set { Cols._Movement.Value = value; } }
|
||||
public Int32 _LocationIdFrom { get { return Cols._LocationIdFrom.Value; } set { Cols._LocationIdFrom.Value = value; } }
|
||||
public Int32 _LocationIdTo { get { return Cols._LocationIdTo.Value; } set { Cols._LocationIdTo.Value = value; } }
|
||||
public Decimal _Quantity { get { return Cols._Quantity.Value; } set { Cols._Quantity.Value = value; } }
|
||||
public Int32 _MovementIdSource { get { return Cols._MovementIdSource.Value; } set { Cols._MovementIdSource.Value = value; } }
|
||||
public Int16 _ItemTypeSource { get { return Cols._ItemTypeSource.Value; } set { Cols._ItemTypeSource.Value = value; } }
|
||||
public Int32 _ItemIdSource { get { return Cols._ItemIdSource.Value; } set { Cols._ItemIdSource.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Movement = GetFieldDateTime(dbDataReader, "Movement", _Movement);
|
||||
_LocationIdFrom = GetFieldInt32(dbDataReader, "LocationIdFrom", _LocationIdFrom);
|
||||
_LocationIdTo = GetFieldInt32(dbDataReader, "LocationIdTo", _LocationIdTo);
|
||||
_Quantity = GetFieldDecimal(dbDataReader, "Quantity", _Quantity);
|
||||
_MovementIdSource = GetFieldInt32(dbDataReader, "MovementIdSource", _MovementIdSource);
|
||||
_ItemTypeSource = GetFieldInt16(dbDataReader, "ItemTypeSource", _ItemTypeSource);
|
||||
_ItemIdSource = GetFieldInt32(dbDataReader, "ItemIdSource", _ItemIdSource);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Movement")) AddCommandParameter(dbCommand, "@Movement", _Movement);
|
||||
if (columnNames.ContainsCI("LocationIdFrom")) AddCommandParameter(dbCommand, "@LocationIdFrom", _LocationIdFrom);
|
||||
if (columnNames.ContainsCI("LocationIdTo")) AddCommandParameter(dbCommand, "@LocationIdTo", _LocationIdTo);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("MovementIdSource")) AddCommandParameter(dbCommand, "@MovementIdSource", _MovementIdSource);
|
||||
if (columnNames.ContainsCI("ItemTypeSource")) AddCommandParameter(dbCommand, "@ItemTypeSource", _ItemTypeSource);
|
||||
if (columnNames.ContainsCI("ItemIdSource")) AddCommandParameter(dbCommand, "@ItemIdSource", _ItemIdSource);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Movement")) AddCommandParameter(dbCommand, "@Movement", _Movement);
|
||||
if (columnNames.ContainsCI("LocationIdFrom")) AddCommandParameter(dbCommand, "@LocationIdFrom", _LocationIdFrom);
|
||||
if (columnNames.ContainsCI("LocationIdTo")) AddCommandParameter(dbCommand, "@LocationIdTo", _LocationIdTo);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("MovementIdSource")) AddCommandParameter(dbCommand, "@MovementIdSource", _MovementIdSource);
|
||||
if (columnNames.ContainsCI("ItemTypeSource")) AddCommandParameter(dbCommand, "@ItemTypeSource", _ItemTypeSource);
|
||||
if (columnNames.ContainsCI("ItemIdSource")) AddCommandParameter(dbCommand, "@ItemIdSource", _ItemIdSource);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,259 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class PortfolioItem_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _ItemIdParent { get; } = new ColumnDataInt32("ItemIdParent");
|
||||
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt32 _ItemIdRef { get; } = new ColumnDataInt32("ItemIdRef");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _ShortCut { get; } = new ColumnDataString("ShortCut");
|
||||
public ColumnDataString _Caption { get; } = new ColumnDataString("Caption");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataInt32 _CommodityId { get; } = new ColumnDataInt32("CommodityId");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"ItemIdParent",
|
||||
"Seq",
|
||||
"Type",
|
||||
"ItemIdRef",
|
||||
"Code",
|
||||
"ShortCut",
|
||||
"Caption",
|
||||
"DescBrief",
|
||||
"DescDetail",
|
||||
"CommodityId",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal PortfolioItem_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "PortfolioItem";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _ItemIdParent { get { return Cols._ItemIdParent.Value; } set { Cols._ItemIdParent.Value = value; } }
|
||||
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int32 _ItemIdRef { get { return Cols._ItemIdRef.Value; } set { Cols._ItemIdRef.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _ShortCut { get { return Cols._ShortCut.Value; } set { Cols._ShortCut.Value = value; } }
|
||||
public String _Caption { get { return Cols._Caption.Value; } set { Cols._Caption.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public Int32 _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_ItemIdParent = GetFieldInt32(dbDataReader, "ItemIdParent", _ItemIdParent);
|
||||
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_ItemIdRef = GetFieldInt32(dbDataReader, "ItemIdRef", _ItemIdRef);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_ShortCut = GetFieldString(dbDataReader, "ShortCut", _ShortCut);
|
||||
_Caption = GetFieldString(dbDataReader, "Caption", _Caption);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("ItemIdParent")) AddCommandParameter(dbCommand, "@ItemIdParent", _ItemIdParent);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("ItemIdRef")) AddCommandParameter(dbCommand, "@ItemIdRef", _ItemIdRef);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("ShortCut")) AddCommandParameter(dbCommand, "@ShortCut", _ShortCut);
|
||||
if (columnNames.ContainsCI("Caption")) AddCommandParameter(dbCommand, "@Caption", _Caption);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("ItemIdParent")) AddCommandParameter(dbCommand, "@ItemIdParent", _ItemIdParent);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("ItemIdRef")) AddCommandParameter(dbCommand, "@ItemIdRef", _ItemIdRef);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("ShortCut")) AddCommandParameter(dbCommand, "@ShortCut", _ShortCut);
|
||||
if (columnNames.ContainsCI("Caption")) AddCommandParameter(dbCommand, "@Caption", _Caption);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Process_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescOutline { get; } = new ColumnDataString("DescOutline");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Category",
|
||||
"Type",
|
||||
"Seq",
|
||||
"DescBrief",
|
||||
"DescOutline",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Process_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Process";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescOutline { get { return Cols._DescOutline.Value; } set { Cols._DescOutline.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescOutline = GetFieldString(dbDataReader, "DescOutline", _DescOutline);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Region_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataString _Type { get; } = new ColumnDataString("Type");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataInt32 _Parent { get; } = new ColumnDataInt32("Parent");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Type",
|
||||
"Name",
|
||||
"Parent",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Region_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Region";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public String _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public Int32 _Parent { get { return Cols._Parent.Value; } set { Cols._Parent.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Type = GetFieldString(dbDataReader, "Type", _Type);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_Parent = GetFieldInt32(dbDataReader, "Parent", _Parent);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Parent")) AddCommandParameter(dbCommand, "@Parent", _Parent);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Parent")) AddCommandParameter(dbCommand, "@Parent", _Parent);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,493 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Requirement_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _AssocId { get; } = new ColumnDataInt32("AssocId");
|
||||
public ColumnDataInt32 _TransId { get; } = new ColumnDataInt32("TransId");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||
public ColumnDataInt32 _ReqntIdSource { get; } = new ColumnDataInt32("ReqntIdSource");
|
||||
public ColumnDataDateTime _Required { get; } = new ColumnDataDateTime("Required");
|
||||
public ColumnDataDateTime _Started { get; } = new ColumnDataDateTime("Started");
|
||||
public ColumnDataDateTime _Completed { get; } = new ColumnDataDateTime("Completed");
|
||||
public ColumnDataString _JobNumber { get; } = new ColumnDataString("JobNumber");
|
||||
public ColumnDataInt32 _AssIdSubcontract { get; } = new ColumnDataInt32("AssIdSubcontract");
|
||||
public ColumnDataInt32 _CommodityId { get; } = new ColumnDataInt32("CommodityId");
|
||||
public ColumnDataString _ProductCode { get; } = new ColumnDataString("ProductCode");
|
||||
public ColumnDataInt32 _AssetId { get; } = new ColumnDataInt32("AssetId");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescIntro { get; } = new ColumnDataString("DescIntro");
|
||||
public ColumnDataString _DescOutline { get; } = new ColumnDataString("DescOutline");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataString _PromotionCode { get; } = new ColumnDataString("PromotionCode");
|
||||
public ColumnDataString _NominalCode { get; } = new ColumnDataString("NominalCode");
|
||||
public ColumnDataDecimal _Quantity { get; } = new ColumnDataDecimal("Quantity");
|
||||
public ColumnDataDecimal _QuantityProd { get; } = new ColumnDataDecimal("QuantityProd");
|
||||
public ColumnDataInt32 _UomId { get; } = new ColumnDataInt32("UomId");
|
||||
public ColumnDataDecimal _Weight { get; } = new ColumnDataDecimal("Weight");
|
||||
public ColumnDataInt32 _UomIdWeight { get; } = new ColumnDataInt32("UomIdWeight");
|
||||
public ColumnDataString _MaterialSourceCode { get; } = new ColumnDataString("MaterialSourceCode");
|
||||
public ColumnDataDecimal _AmountUnit { get; } = new ColumnDataDecimal("AmountUnit");
|
||||
public ColumnDataDecimal _AmountAct { get; } = new ColumnDataDecimal("AmountAct");
|
||||
public ColumnDataDecimal _AmountDisc { get; } = new ColumnDataDecimal("AmountDisc");
|
||||
public ColumnDataDecimal _AmountNet { get; } = new ColumnDataDecimal("AmountNet");
|
||||
public ColumnDataInt32 _TaxCodeId { get; } = new ColumnDataInt32("TaxCodeId");
|
||||
public ColumnDataDecimal _TaxRate { get; } = new ColumnDataDecimal("TaxRate");
|
||||
public ColumnDataDecimal _AmountTax { get; } = new ColumnDataDecimal("AmountTax");
|
||||
public ColumnDataDecimal _AmountTot { get; } = new ColumnDataDecimal("AmountTot");
|
||||
public ColumnDataString _TimeEstChunks { get; } = new ColumnDataString("TimeEstChunks");
|
||||
public ColumnDataDecimal _TimeEst { get; } = new ColumnDataDecimal("TimeEst");
|
||||
public ColumnDataString _TimeActChunks { get; } = new ColumnDataString("TimeActChunks");
|
||||
public ColumnDataDecimal _TimeAct { get; } = new ColumnDataDecimal("TimeAct");
|
||||
public ColumnDataDecimal _TimeTot { get; } = new ColumnDataDecimal("TimeTot");
|
||||
public ColumnDataInt32 _LocationIdStock { get; } = new ColumnDataInt32("LocationIdStock");
|
||||
public ColumnDataDecimal _CostLabourHours { get; } = new ColumnDataDecimal("CostLabourHours");
|
||||
public ColumnDataDecimal _CostLabourRateHour { get; } = new ColumnDataDecimal("CostLabourRateHour");
|
||||
public ColumnDataDecimal _CostLabour { get; } = new ColumnDataDecimal("CostLabour");
|
||||
public ColumnDataDecimal _CostCommodity { get; } = new ColumnDataDecimal("CostCommodity");
|
||||
public ColumnDataDecimal _CostPurchase { get; } = new ColumnDataDecimal("CostPurchase");
|
||||
public ColumnDataDecimal _CostProcess { get; } = new ColumnDataDecimal("CostProcess");
|
||||
public ColumnDataDecimal _CostAdditional { get; } = new ColumnDataDecimal("CostAdditional");
|
||||
public ColumnDataDecimal _CostTotal { get; } = new ColumnDataDecimal("CostTotal");
|
||||
public ColumnDataDateTime _CostCalculated { get; } = new ColumnDataDateTime("CostCalculated");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _StatusCat { get; } = new ColumnDataString("StatusCat");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"AssocId",
|
||||
"TransId",
|
||||
"Type",
|
||||
"Seq",
|
||||
"ReqntIdSource",
|
||||
"Required",
|
||||
"Started",
|
||||
"Completed",
|
||||
"JobNumber",
|
||||
"AssIdSubcontract",
|
||||
"CommodityId",
|
||||
"ProductCode",
|
||||
"AssetId",
|
||||
"DescBrief",
|
||||
"DescIntro",
|
||||
"DescOutline",
|
||||
"DescDetail",
|
||||
"PromotionCode",
|
||||
"NominalCode",
|
||||
"Quantity",
|
||||
"QuantityProd",
|
||||
"UomId",
|
||||
"Weight",
|
||||
"UomIdWeight",
|
||||
"MaterialSourceCode",
|
||||
"AmountUnit",
|
||||
"AmountAct",
|
||||
"AmountDisc",
|
||||
"AmountNet",
|
||||
"TaxCodeId",
|
||||
"TaxRate",
|
||||
"AmountTax",
|
||||
"AmountTot",
|
||||
"TimeEstChunks",
|
||||
"TimeEst",
|
||||
"TimeActChunks",
|
||||
"TimeAct",
|
||||
"TimeTot",
|
||||
"LocationIdStock",
|
||||
"CostLabourHours",
|
||||
"CostLabourRateHour",
|
||||
"CostLabour",
|
||||
"CostCommodity",
|
||||
"CostPurchase",
|
||||
"CostProcess",
|
||||
"CostAdditional",
|
||||
"CostTotal",
|
||||
"CostCalculated",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"StatusCat",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Requirement_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Requirement";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _AssocId { get { return Cols._AssocId.Value; } set { Cols._AssocId.Value = value; } }
|
||||
public Int32 _TransId { get { return Cols._TransId.Value; } set { Cols._TransId.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||
public Int32 _ReqntIdSource { get { return Cols._ReqntIdSource.Value; } set { Cols._ReqntIdSource.Value = value; } }
|
||||
public DateTime _Required { get { return Cols._Required.Value; } set { Cols._Required.Value = value; } }
|
||||
public DateTime _Started { get { return Cols._Started.Value; } set { Cols._Started.Value = value; } }
|
||||
public DateTime _Completed { get { return Cols._Completed.Value; } set { Cols._Completed.Value = value; } }
|
||||
public String _JobNumber { get { return Cols._JobNumber.Value; } set { Cols._JobNumber.Value = value; } }
|
||||
public Int32 _AssIdSubcontract { get { return Cols._AssIdSubcontract.Value; } set { Cols._AssIdSubcontract.Value = value; } }
|
||||
public Int32 _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
|
||||
public String _ProductCode { get { return Cols._ProductCode.Value; } set { Cols._ProductCode.Value = value; } }
|
||||
public Int32 _AssetId { get { return Cols._AssetId.Value; } set { Cols._AssetId.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescIntro { get { return Cols._DescIntro.Value; } set { Cols._DescIntro.Value = value; } }
|
||||
public String _DescOutline { get { return Cols._DescOutline.Value; } set { Cols._DescOutline.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public String _PromotionCode { get { return Cols._PromotionCode.Value; } set { Cols._PromotionCode.Value = value; } }
|
||||
public String _NominalCode { get { return Cols._NominalCode.Value; } set { Cols._NominalCode.Value = value; } }
|
||||
public Decimal _Quantity { get { return Cols._Quantity.Value; } set { Cols._Quantity.Value = value; } }
|
||||
public Decimal _QuantityProd { get { return Cols._QuantityProd.Value; } set { Cols._QuantityProd.Value = value; } }
|
||||
public Int32 _UomId { get { return Cols._UomId.Value; } set { Cols._UomId.Value = value; } }
|
||||
public Decimal _Weight { get { return Cols._Weight.Value; } set { Cols._Weight.Value = value; } }
|
||||
public Int32 _UomIdWeight { get { return Cols._UomIdWeight.Value; } set { Cols._UomIdWeight.Value = value; } }
|
||||
public String _MaterialSourceCode { get { return Cols._MaterialSourceCode.Value; } set { Cols._MaterialSourceCode.Value = value; } }
|
||||
public Decimal _AmountUnit { get { return Cols._AmountUnit.Value; } set { Cols._AmountUnit.Value = value; } }
|
||||
public Decimal _AmountAct { get { return Cols._AmountAct.Value; } set { Cols._AmountAct.Value = value; } }
|
||||
public Decimal _AmountDisc { get { return Cols._AmountDisc.Value; } set { Cols._AmountDisc.Value = value; } }
|
||||
public Decimal _AmountNet { get { return Cols._AmountNet.Value; } set { Cols._AmountNet.Value = value; } }
|
||||
public Int32 _TaxCodeId { get { return Cols._TaxCodeId.Value; } set { Cols._TaxCodeId.Value = value; } }
|
||||
public Decimal _TaxRate { get { return Cols._TaxRate.Value; } set { Cols._TaxRate.Value = value; } }
|
||||
public Decimal _AmountTax { get { return Cols._AmountTax.Value; } set { Cols._AmountTax.Value = value; } }
|
||||
public Decimal _AmountTot { get { return Cols._AmountTot.Value; } set { Cols._AmountTot.Value = value; } }
|
||||
public String _TimeEstChunks { get { return Cols._TimeEstChunks.Value; } set { Cols._TimeEstChunks.Value = value; } }
|
||||
public Decimal _TimeEst { get { return Cols._TimeEst.Value; } set { Cols._TimeEst.Value = value; } }
|
||||
public String _TimeActChunks { get { return Cols._TimeActChunks.Value; } set { Cols._TimeActChunks.Value = value; } }
|
||||
public Decimal _TimeAct { get { return Cols._TimeAct.Value; } set { Cols._TimeAct.Value = value; } }
|
||||
public Decimal _TimeTot { get { return Cols._TimeTot.Value; } set { Cols._TimeTot.Value = value; } }
|
||||
public Int32 _LocationIdStock { get { return Cols._LocationIdStock.Value; } set { Cols._LocationIdStock.Value = value; } }
|
||||
public Decimal _CostLabourHours { get { return Cols._CostLabourHours.Value; } set { Cols._CostLabourHours.Value = value; } }
|
||||
public Decimal _CostLabourRateHour { get { return Cols._CostLabourRateHour.Value; } set { Cols._CostLabourRateHour.Value = value; } }
|
||||
public Decimal _CostLabour { get { return Cols._CostLabour.Value; } set { Cols._CostLabour.Value = value; } }
|
||||
public Decimal _CostCommodity { get { return Cols._CostCommodity.Value; } set { Cols._CostCommodity.Value = value; } }
|
||||
public Decimal _CostPurchase { get { return Cols._CostPurchase.Value; } set { Cols._CostPurchase.Value = value; } }
|
||||
public Decimal _CostProcess { get { return Cols._CostProcess.Value; } set { Cols._CostProcess.Value = value; } }
|
||||
public Decimal _CostAdditional { get { return Cols._CostAdditional.Value; } set { Cols._CostAdditional.Value = value; } }
|
||||
public Decimal _CostTotal { get { return Cols._CostTotal.Value; } set { Cols._CostTotal.Value = value; } }
|
||||
public DateTime _CostCalculated { get { return Cols._CostCalculated.Value; } set { Cols._CostCalculated.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _StatusCat { get { return Cols._StatusCat.Value; } set { Cols._StatusCat.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AssocId = GetFieldInt32(dbDataReader, "AssocId", _AssocId);
|
||||
_TransId = GetFieldInt32(dbDataReader, "TransId", _TransId);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||
_ReqntIdSource = GetFieldInt32(dbDataReader, "ReqntIdSource", _ReqntIdSource);
|
||||
_Required = GetFieldDateTime(dbDataReader, "Required", _Required);
|
||||
_Started = GetFieldDateTime(dbDataReader, "Started", _Started);
|
||||
_Completed = GetFieldDateTime(dbDataReader, "Completed", _Completed);
|
||||
_JobNumber = GetFieldString(dbDataReader, "JobNumber", _JobNumber);
|
||||
_AssIdSubcontract = GetFieldInt32(dbDataReader, "AssIdSubcontract", _AssIdSubcontract);
|
||||
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
|
||||
_ProductCode = GetFieldString(dbDataReader, "ProductCode", _ProductCode);
|
||||
_AssetId = GetFieldInt32(dbDataReader, "AssetId", _AssetId);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescIntro = GetFieldString(dbDataReader, "DescIntro", _DescIntro);
|
||||
_DescOutline = GetFieldString(dbDataReader, "DescOutline", _DescOutline);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_PromotionCode = GetFieldString(dbDataReader, "PromotionCode", _PromotionCode);
|
||||
_NominalCode = GetFieldString(dbDataReader, "NominalCode", _NominalCode);
|
||||
_Quantity = GetFieldDecimal(dbDataReader, "Quantity", _Quantity);
|
||||
_QuantityProd = GetFieldDecimal(dbDataReader, "QuantityProd", _QuantityProd);
|
||||
_UomId = GetFieldInt32(dbDataReader, "UomId", _UomId);
|
||||
_Weight = GetFieldDecimal(dbDataReader, "Weight", _Weight);
|
||||
_UomIdWeight = GetFieldInt32(dbDataReader, "UomIdWeight", _UomIdWeight);
|
||||
_MaterialSourceCode = GetFieldString(dbDataReader, "MaterialSourceCode", _MaterialSourceCode);
|
||||
_AmountUnit = GetFieldDecimal(dbDataReader, "AmountUnit", _AmountUnit);
|
||||
_AmountAct = GetFieldDecimal(dbDataReader, "AmountAct", _AmountAct);
|
||||
_AmountDisc = GetFieldDecimal(dbDataReader, "AmountDisc", _AmountDisc);
|
||||
_AmountNet = GetFieldDecimal(dbDataReader, "AmountNet", _AmountNet);
|
||||
_TaxCodeId = GetFieldInt32(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_TaxRate = GetFieldDecimal(dbDataReader, "TaxRate", _TaxRate);
|
||||
_AmountTax = GetFieldDecimal(dbDataReader, "AmountTax", _AmountTax);
|
||||
_AmountTot = GetFieldDecimal(dbDataReader, "AmountTot", _AmountTot);
|
||||
_TimeEstChunks = GetFieldString(dbDataReader, "TimeEstChunks", _TimeEstChunks);
|
||||
_TimeEst = GetFieldDecimal(dbDataReader, "TimeEst", _TimeEst);
|
||||
_TimeActChunks = GetFieldString(dbDataReader, "TimeActChunks", _TimeActChunks);
|
||||
_TimeAct = GetFieldDecimal(dbDataReader, "TimeAct", _TimeAct);
|
||||
_TimeTot = GetFieldDecimal(dbDataReader, "TimeTot", _TimeTot);
|
||||
_LocationIdStock = GetFieldInt32(dbDataReader, "LocationIdStock", _LocationIdStock);
|
||||
_CostLabourHours = GetFieldDecimal(dbDataReader, "CostLabourHours", _CostLabourHours);
|
||||
_CostLabourRateHour = GetFieldDecimal(dbDataReader, "CostLabourRateHour", _CostLabourRateHour);
|
||||
_CostLabour = GetFieldDecimal(dbDataReader, "CostLabour", _CostLabour);
|
||||
_CostCommodity = GetFieldDecimal(dbDataReader, "CostCommodity", _CostCommodity);
|
||||
_CostPurchase = GetFieldDecimal(dbDataReader, "CostPurchase", _CostPurchase);
|
||||
_CostProcess = GetFieldDecimal(dbDataReader, "CostProcess", _CostProcess);
|
||||
_CostAdditional = GetFieldDecimal(dbDataReader, "CostAdditional", _CostAdditional);
|
||||
_CostTotal = GetFieldDecimal(dbDataReader, "CostTotal", _CostTotal);
|
||||
_CostCalculated = GetFieldDateTime(dbDataReader, "CostCalculated", _CostCalculated);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_StatusCat = GetFieldString(dbDataReader, "StatusCat", _StatusCat);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("TransId")) AddCommandParameter(dbCommand, "@TransId", _TransId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("ReqntIdSource")) AddCommandParameter(dbCommand, "@ReqntIdSource", _ReqntIdSource);
|
||||
if (columnNames.ContainsCI("Required")) AddCommandParameter(dbCommand, "@Required", _Required);
|
||||
if (columnNames.ContainsCI("Started")) AddCommandParameter(dbCommand, "@Started", _Started);
|
||||
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||
if (columnNames.ContainsCI("JobNumber")) AddCommandParameter(dbCommand, "@JobNumber", _JobNumber);
|
||||
if (columnNames.ContainsCI("AssIdSubcontract")) AddCommandParameter(dbCommand, "@AssIdSubcontract", _AssIdSubcontract);
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("ProductCode")) AddCommandParameter(dbCommand, "@ProductCode", _ProductCode);
|
||||
if (columnNames.ContainsCI("AssetId")) AddCommandParameter(dbCommand, "@AssetId", _AssetId);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescIntro")) AddCommandParameter(dbCommand, "@DescIntro", _DescIntro);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("PromotionCode")) AddCommandParameter(dbCommand, "@PromotionCode", _PromotionCode);
|
||||
if (columnNames.ContainsCI("NominalCode")) AddCommandParameter(dbCommand, "@NominalCode", _NominalCode);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("QuantityProd")) AddCommandParameter(dbCommand, "@QuantityProd", _QuantityProd);
|
||||
if (columnNames.ContainsCI("UomId")) AddCommandParameter(dbCommand, "@UomId", _UomId);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("UomIdWeight")) AddCommandParameter(dbCommand, "@UomIdWeight", _UomIdWeight);
|
||||
if (columnNames.ContainsCI("MaterialSourceCode")) AddCommandParameter(dbCommand, "@MaterialSourceCode", _MaterialSourceCode);
|
||||
if (columnNames.ContainsCI("AmountUnit")) AddCommandParameter(dbCommand, "@AmountUnit", _AmountUnit);
|
||||
if (columnNames.ContainsCI("AmountAct")) AddCommandParameter(dbCommand, "@AmountAct", _AmountAct);
|
||||
if (columnNames.ContainsCI("AmountDisc")) AddCommandParameter(dbCommand, "@AmountDisc", _AmountDisc);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("TimeEstChunks")) AddCommandParameter(dbCommand, "@TimeEstChunks", _TimeEstChunks);
|
||||
if (columnNames.ContainsCI("TimeEst")) AddCommandParameter(dbCommand, "@TimeEst", _TimeEst);
|
||||
if (columnNames.ContainsCI("TimeActChunks")) AddCommandParameter(dbCommand, "@TimeActChunks", _TimeActChunks);
|
||||
if (columnNames.ContainsCI("TimeAct")) AddCommandParameter(dbCommand, "@TimeAct", _TimeAct);
|
||||
if (columnNames.ContainsCI("TimeTot")) AddCommandParameter(dbCommand, "@TimeTot", _TimeTot);
|
||||
if (columnNames.ContainsCI("LocationIdStock")) AddCommandParameter(dbCommand, "@LocationIdStock", _LocationIdStock);
|
||||
if (columnNames.ContainsCI("CostLabourHours")) AddCommandParameter(dbCommand, "@CostLabourHours", _CostLabourHours);
|
||||
if (columnNames.ContainsCI("CostLabourRateHour")) AddCommandParameter(dbCommand, "@CostLabourRateHour", _CostLabourRateHour);
|
||||
if (columnNames.ContainsCI("CostLabour")) AddCommandParameter(dbCommand, "@CostLabour", _CostLabour);
|
||||
if (columnNames.ContainsCI("CostCommodity")) AddCommandParameter(dbCommand, "@CostCommodity", _CostCommodity);
|
||||
if (columnNames.ContainsCI("CostPurchase")) AddCommandParameter(dbCommand, "@CostPurchase", _CostPurchase);
|
||||
if (columnNames.ContainsCI("CostProcess")) AddCommandParameter(dbCommand, "@CostProcess", _CostProcess);
|
||||
if (columnNames.ContainsCI("CostAdditional")) AddCommandParameter(dbCommand, "@CostAdditional", _CostAdditional);
|
||||
if (columnNames.ContainsCI("CostTotal")) AddCommandParameter(dbCommand, "@CostTotal", _CostTotal);
|
||||
if (columnNames.ContainsCI("CostCalculated")) AddCommandParameter(dbCommand, "@CostCalculated", _CostCalculated);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("StatusCat")) AddCommandParameter(dbCommand, "@StatusCat", _StatusCat);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("TransId")) AddCommandParameter(dbCommand, "@TransId", _TransId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("ReqntIdSource")) AddCommandParameter(dbCommand, "@ReqntIdSource", _ReqntIdSource);
|
||||
if (columnNames.ContainsCI("Required")) AddCommandParameter(dbCommand, "@Required", _Required);
|
||||
if (columnNames.ContainsCI("Started")) AddCommandParameter(dbCommand, "@Started", _Started);
|
||||
if (columnNames.ContainsCI("Completed")) AddCommandParameter(dbCommand, "@Completed", _Completed);
|
||||
if (columnNames.ContainsCI("JobNumber")) AddCommandParameter(dbCommand, "@JobNumber", _JobNumber);
|
||||
if (columnNames.ContainsCI("AssIdSubcontract")) AddCommandParameter(dbCommand, "@AssIdSubcontract", _AssIdSubcontract);
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("ProductCode")) AddCommandParameter(dbCommand, "@ProductCode", _ProductCode);
|
||||
if (columnNames.ContainsCI("AssetId")) AddCommandParameter(dbCommand, "@AssetId", _AssetId);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescIntro")) AddCommandParameter(dbCommand, "@DescIntro", _DescIntro);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("PromotionCode")) AddCommandParameter(dbCommand, "@PromotionCode", _PromotionCode);
|
||||
if (columnNames.ContainsCI("NominalCode")) AddCommandParameter(dbCommand, "@NominalCode", _NominalCode);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("QuantityProd")) AddCommandParameter(dbCommand, "@QuantityProd", _QuantityProd);
|
||||
if (columnNames.ContainsCI("UomId")) AddCommandParameter(dbCommand, "@UomId", _UomId);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("UomIdWeight")) AddCommandParameter(dbCommand, "@UomIdWeight", _UomIdWeight);
|
||||
if (columnNames.ContainsCI("MaterialSourceCode")) AddCommandParameter(dbCommand, "@MaterialSourceCode", _MaterialSourceCode);
|
||||
if (columnNames.ContainsCI("AmountUnit")) AddCommandParameter(dbCommand, "@AmountUnit", _AmountUnit);
|
||||
if (columnNames.ContainsCI("AmountAct")) AddCommandParameter(dbCommand, "@AmountAct", _AmountAct);
|
||||
if (columnNames.ContainsCI("AmountDisc")) AddCommandParameter(dbCommand, "@AmountDisc", _AmountDisc);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("TimeEstChunks")) AddCommandParameter(dbCommand, "@TimeEstChunks", _TimeEstChunks);
|
||||
if (columnNames.ContainsCI("TimeEst")) AddCommandParameter(dbCommand, "@TimeEst", _TimeEst);
|
||||
if (columnNames.ContainsCI("TimeActChunks")) AddCommandParameter(dbCommand, "@TimeActChunks", _TimeActChunks);
|
||||
if (columnNames.ContainsCI("TimeAct")) AddCommandParameter(dbCommand, "@TimeAct", _TimeAct);
|
||||
if (columnNames.ContainsCI("TimeTot")) AddCommandParameter(dbCommand, "@TimeTot", _TimeTot);
|
||||
if (columnNames.ContainsCI("LocationIdStock")) AddCommandParameter(dbCommand, "@LocationIdStock", _LocationIdStock);
|
||||
if (columnNames.ContainsCI("CostLabourHours")) AddCommandParameter(dbCommand, "@CostLabourHours", _CostLabourHours);
|
||||
if (columnNames.ContainsCI("CostLabourRateHour")) AddCommandParameter(dbCommand, "@CostLabourRateHour", _CostLabourRateHour);
|
||||
if (columnNames.ContainsCI("CostLabour")) AddCommandParameter(dbCommand, "@CostLabour", _CostLabour);
|
||||
if (columnNames.ContainsCI("CostCommodity")) AddCommandParameter(dbCommand, "@CostCommodity", _CostCommodity);
|
||||
if (columnNames.ContainsCI("CostPurchase")) AddCommandParameter(dbCommand, "@CostPurchase", _CostPurchase);
|
||||
if (columnNames.ContainsCI("CostProcess")) AddCommandParameter(dbCommand, "@CostProcess", _CostProcess);
|
||||
if (columnNames.ContainsCI("CostAdditional")) AddCommandParameter(dbCommand, "@CostAdditional", _CostAdditional);
|
||||
if (columnNames.ContainsCI("CostTotal")) AddCommandParameter(dbCommand, "@CostTotal", _CostTotal);
|
||||
if (columnNames.ContainsCI("CostCalculated")) AddCommandParameter(dbCommand, "@CostCalculated", _CostCalculated);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("StatusCat")) AddCommandParameter(dbCommand, "@StatusCat", _StatusCat);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,289 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaAssetCategory_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _AssetType { get; } = new ColumnDataInt16("AssetType");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataInt16 _IncomeType { get; } = new ColumnDataInt16("IncomeType");
|
||||
public ColumnDataInt32 _AssocIdSupplier { get; } = new ColumnDataInt32("AssocIdSupplier");
|
||||
public ColumnDataInt16 _PaymentTerms { get; } = new ColumnDataInt16("PaymentTerms");
|
||||
public ColumnDataInt32 _TaxCodeIdPurchase { get; } = new ColumnDataInt32("TaxCodeIdPurchase");
|
||||
public ColumnDataInt32 _AssocIdCustomer { get; } = new ColumnDataInt32("AssocIdCustomer");
|
||||
public ColumnDataInt32 _TaxCodeIdSell { get; } = new ColumnDataInt32("TaxCodeIdSell");
|
||||
public ColumnDataInt32 _TaxCodeIdProfit { get; } = new ColumnDataInt32("TaxCodeIdProfit");
|
||||
public ColumnDataInt32 _UomIdRentalCost { get; } = new ColumnDataInt32("UomIdRentalCost");
|
||||
public ColumnDataInt32 _TaxCodeIdRentalCost { get; } = new ColumnDataInt32("TaxCodeIdRentalCost");
|
||||
public ColumnDataInt32 _UomIdRentalPrice { get; } = new ColumnDataInt32("UomIdRentalPrice");
|
||||
public ColumnDataInt32 _TaxCodeIdRentalPrice { get; } = new ColumnDataInt32("TaxCodeIdRentalPrice");
|
||||
public ColumnDataString _DisposeCode { get; } = new ColumnDataString("DisposeCode");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"AssetType",
|
||||
"Code",
|
||||
"DescBrief",
|
||||
"IncomeType",
|
||||
"AssocIdSupplier",
|
||||
"PaymentTerms",
|
||||
"TaxCodeIdPurchase",
|
||||
"AssocIdCustomer",
|
||||
"TaxCodeIdSell",
|
||||
"TaxCodeIdProfit",
|
||||
"UomIdRentalCost",
|
||||
"TaxCodeIdRentalCost",
|
||||
"UomIdRentalPrice",
|
||||
"TaxCodeIdRentalPrice",
|
||||
"DisposeCode",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaAssetCategory_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaAssetCategory";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _AssetType { get { return Cols._AssetType.Value; } set { Cols._AssetType.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public Int16 _IncomeType { get { return Cols._IncomeType.Value; } set { Cols._IncomeType.Value = value; } }
|
||||
public Int32 _AssocIdSupplier { get { return Cols._AssocIdSupplier.Value; } set { Cols._AssocIdSupplier.Value = value; } }
|
||||
public Int16 _PaymentTerms { get { return Cols._PaymentTerms.Value; } set { Cols._PaymentTerms.Value = value; } }
|
||||
public Int32 _TaxCodeIdPurchase { get { return Cols._TaxCodeIdPurchase.Value; } set { Cols._TaxCodeIdPurchase.Value = value; } }
|
||||
public Int32 _AssocIdCustomer { get { return Cols._AssocIdCustomer.Value; } set { Cols._AssocIdCustomer.Value = value; } }
|
||||
public Int32 _TaxCodeIdSell { get { return Cols._TaxCodeIdSell.Value; } set { Cols._TaxCodeIdSell.Value = value; } }
|
||||
public Int32 _TaxCodeIdProfit { get { return Cols._TaxCodeIdProfit.Value; } set { Cols._TaxCodeIdProfit.Value = value; } }
|
||||
public Int32 _UomIdRentalCost { get { return Cols._UomIdRentalCost.Value; } set { Cols._UomIdRentalCost.Value = value; } }
|
||||
public Int32 _TaxCodeIdRentalCost { get { return Cols._TaxCodeIdRentalCost.Value; } set { Cols._TaxCodeIdRentalCost.Value = value; } }
|
||||
public Int32 _UomIdRentalPrice { get { return Cols._UomIdRentalPrice.Value; } set { Cols._UomIdRentalPrice.Value = value; } }
|
||||
public Int32 _TaxCodeIdRentalPrice { get { return Cols._TaxCodeIdRentalPrice.Value; } set { Cols._TaxCodeIdRentalPrice.Value = value; } }
|
||||
public String _DisposeCode { get { return Cols._DisposeCode.Value; } set { Cols._DisposeCode.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AssetType = GetFieldInt16(dbDataReader, "AssetType", _AssetType);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_IncomeType = GetFieldInt16(dbDataReader, "IncomeType", _IncomeType);
|
||||
_AssocIdSupplier = GetFieldInt32(dbDataReader, "AssocIdSupplier", _AssocIdSupplier);
|
||||
_PaymentTerms = GetFieldInt16(dbDataReader, "PaymentTerms", _PaymentTerms);
|
||||
_TaxCodeIdPurchase = GetFieldInt32(dbDataReader, "TaxCodeIdPurchase", _TaxCodeIdPurchase);
|
||||
_AssocIdCustomer = GetFieldInt32(dbDataReader, "AssocIdCustomer", _AssocIdCustomer);
|
||||
_TaxCodeIdSell = GetFieldInt32(dbDataReader, "TaxCodeIdSell", _TaxCodeIdSell);
|
||||
_TaxCodeIdProfit = GetFieldInt32(dbDataReader, "TaxCodeIdProfit", _TaxCodeIdProfit);
|
||||
_UomIdRentalCost = GetFieldInt32(dbDataReader, "UomIdRentalCost", _UomIdRentalCost);
|
||||
_TaxCodeIdRentalCost = GetFieldInt32(dbDataReader, "TaxCodeIdRentalCost", _TaxCodeIdRentalCost);
|
||||
_UomIdRentalPrice = GetFieldInt32(dbDataReader, "UomIdRentalPrice", _UomIdRentalPrice);
|
||||
_TaxCodeIdRentalPrice = GetFieldInt32(dbDataReader, "TaxCodeIdRentalPrice", _TaxCodeIdRentalPrice);
|
||||
_DisposeCode = GetFieldString(dbDataReader, "DisposeCode", _DisposeCode);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AssetType")) AddCommandParameter(dbCommand, "@AssetType", _AssetType);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("IncomeType")) AddCommandParameter(dbCommand, "@IncomeType", _IncomeType);
|
||||
if (columnNames.ContainsCI("AssocIdSupplier")) AddCommandParameter(dbCommand, "@AssocIdSupplier", _AssocIdSupplier);
|
||||
if (columnNames.ContainsCI("PaymentTerms")) AddCommandParameter(dbCommand, "@PaymentTerms", _PaymentTerms);
|
||||
if (columnNames.ContainsCI("TaxCodeIdPurchase")) AddCommandParameter(dbCommand, "@TaxCodeIdPurchase", _TaxCodeIdPurchase);
|
||||
if (columnNames.ContainsCI("AssocIdCustomer")) AddCommandParameter(dbCommand, "@AssocIdCustomer", _AssocIdCustomer);
|
||||
if (columnNames.ContainsCI("TaxCodeIdSell")) AddCommandParameter(dbCommand, "@TaxCodeIdSell", _TaxCodeIdSell);
|
||||
if (columnNames.ContainsCI("TaxCodeIdProfit")) AddCommandParameter(dbCommand, "@TaxCodeIdProfit", _TaxCodeIdProfit);
|
||||
if (columnNames.ContainsCI("UomIdRentalCost")) AddCommandParameter(dbCommand, "@UomIdRentalCost", _UomIdRentalCost);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalCost")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalCost", _TaxCodeIdRentalCost);
|
||||
if (columnNames.ContainsCI("UomIdRentalPrice")) AddCommandParameter(dbCommand, "@UomIdRentalPrice", _UomIdRentalPrice);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalPrice")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalPrice", _TaxCodeIdRentalPrice);
|
||||
if (columnNames.ContainsCI("DisposeCode")) AddCommandParameter(dbCommand, "@DisposeCode", _DisposeCode);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AssetType")) AddCommandParameter(dbCommand, "@AssetType", _AssetType);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("IncomeType")) AddCommandParameter(dbCommand, "@IncomeType", _IncomeType);
|
||||
if (columnNames.ContainsCI("AssocIdSupplier")) AddCommandParameter(dbCommand, "@AssocIdSupplier", _AssocIdSupplier);
|
||||
if (columnNames.ContainsCI("PaymentTerms")) AddCommandParameter(dbCommand, "@PaymentTerms", _PaymentTerms);
|
||||
if (columnNames.ContainsCI("TaxCodeIdPurchase")) AddCommandParameter(dbCommand, "@TaxCodeIdPurchase", _TaxCodeIdPurchase);
|
||||
if (columnNames.ContainsCI("AssocIdCustomer")) AddCommandParameter(dbCommand, "@AssocIdCustomer", _AssocIdCustomer);
|
||||
if (columnNames.ContainsCI("TaxCodeIdSell")) AddCommandParameter(dbCommand, "@TaxCodeIdSell", _TaxCodeIdSell);
|
||||
if (columnNames.ContainsCI("TaxCodeIdProfit")) AddCommandParameter(dbCommand, "@TaxCodeIdProfit", _TaxCodeIdProfit);
|
||||
if (columnNames.ContainsCI("UomIdRentalCost")) AddCommandParameter(dbCommand, "@UomIdRentalCost", _UomIdRentalCost);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalCost")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalCost", _TaxCodeIdRentalCost);
|
||||
if (columnNames.ContainsCI("UomIdRentalPrice")) AddCommandParameter(dbCommand, "@UomIdRentalPrice", _UomIdRentalPrice);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalPrice")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalPrice", _TaxCodeIdRentalPrice);
|
||||
if (columnNames.ContainsCI("DisposeCode")) AddCommandParameter(dbCommand, "@DisposeCode", _DisposeCode);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaAssetProcess_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AssetId { get; } = new ColumnDataInt32("AssetId");
|
||||
public ColumnDataInt16 _Seq { get; } = new ColumnDataInt16("Seq");
|
||||
public ColumnDataInt32 _ProcessId { get; } = new ColumnDataInt32("ProcessId");
|
||||
public ColumnDataDateTime _RequiredOn { get; } = new ColumnDataDateTime("RequiredOn");
|
||||
public ColumnDataDateTime _ExpectedOn { get; } = new ColumnDataDateTime("ExpectedOn");
|
||||
public ColumnDataDateTime _ProcessedOn { get; } = new ColumnDataDateTime("ProcessedOn");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AssetId",
|
||||
"Seq",
|
||||
"ProcessId",
|
||||
"RequiredOn",
|
||||
"ExpectedOn",
|
||||
"ProcessedOn",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaAssetProcess_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaAssetProcess";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AssetId { get { return Cols._AssetId.Value; } set { Cols._AssetId.Value = value; } }
|
||||
public Int16 _Seq { get { return Cols._Seq.Value; } set { Cols._Seq.Value = value; } }
|
||||
public Int32 _ProcessId { get { return Cols._ProcessId.Value; } set { Cols._ProcessId.Value = value; } }
|
||||
public DateTime _RequiredOn { get { return Cols._RequiredOn.Value; } set { Cols._RequiredOn.Value = value; } }
|
||||
public DateTime _ExpectedOn { get { return Cols._ExpectedOn.Value; } set { Cols._ExpectedOn.Value = value; } }
|
||||
public DateTime _ProcessedOn { get { return Cols._ProcessedOn.Value; } set { Cols._ProcessedOn.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AssetId = GetFieldInt32(dbDataReader, "AssetId", _AssetId);
|
||||
_Seq = GetFieldInt16(dbDataReader, "Seq", _Seq);
|
||||
_ProcessId = GetFieldInt32(dbDataReader, "ProcessId", _ProcessId);
|
||||
_RequiredOn = GetFieldDateTime(dbDataReader, "RequiredOn", _RequiredOn);
|
||||
_ExpectedOn = GetFieldDateTime(dbDataReader, "ExpectedOn", _ExpectedOn);
|
||||
_ProcessedOn = GetFieldDateTime(dbDataReader, "ProcessedOn", _ProcessedOn);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AssetId")) AddCommandParameter(dbCommand, "@AssetId", _AssetId);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("RequiredOn")) AddCommandParameter(dbCommand, "@RequiredOn", _RequiredOn);
|
||||
if (columnNames.ContainsCI("ExpectedOn")) AddCommandParameter(dbCommand, "@ExpectedOn", _ExpectedOn);
|
||||
if (columnNames.ContainsCI("ProcessedOn")) AddCommandParameter(dbCommand, "@ProcessedOn", _ProcessedOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AssetId")) AddCommandParameter(dbCommand, "@AssetId", _AssetId);
|
||||
if (columnNames.ContainsCI("Seq")) AddCommandParameter(dbCommand, "@Seq", _Seq);
|
||||
if (columnNames.ContainsCI("ProcessId")) AddCommandParameter(dbCommand, "@ProcessId", _ProcessId);
|
||||
if (columnNames.ContainsCI("RequiredOn")) AddCommandParameter(dbCommand, "@RequiredOn", _RequiredOn);
|
||||
if (columnNames.ContainsCI("ExpectedOn")) AddCommandParameter(dbCommand, "@ExpectedOn", _ExpectedOn);
|
||||
if (columnNames.ContainsCI("ProcessedOn")) AddCommandParameter(dbCommand, "@ProcessedOn", _ProcessedOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,403 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaAsset_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AssetCategoryId { get; } = new ColumnDataInt32("AssetCategoryId");
|
||||
public ColumnDataString _SerialNumber { get; } = new ColumnDataString("SerialNumber");
|
||||
public ColumnDataString _SerialFmt { get; } = new ColumnDataString("SerialFmt");
|
||||
public ColumnDataString _RefExt { get; } = new ColumnDataString("RefExt");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataDateTime _PurchaseOn { get; } = new ColumnDataDateTime("PurchaseOn");
|
||||
public ColumnDataInt32 _AssocIdSupplier { get; } = new ColumnDataInt32("AssocIdSupplier");
|
||||
public ColumnDataString _PurchaseInvoiceRef { get; } = new ColumnDataString("PurchaseInvoiceRef");
|
||||
public ColumnDataInt16 _PaymentTerms { get; } = new ColumnDataInt16("PaymentTerms");
|
||||
public ColumnDataDecimal _AmountPurchase { get; } = new ColumnDataDecimal("AmountPurchase");
|
||||
public ColumnDataInt32 _TaxCodeIdPurchase { get; } = new ColumnDataInt32("TaxCodeIdPurchase");
|
||||
public ColumnDataDecimal _AmountPurchaseGross { get; } = new ColumnDataDecimal("AmountPurchaseGross");
|
||||
public ColumnDataDecimal _AmountSettlementGross { get; } = new ColumnDataDecimal("AmountSettlementGross");
|
||||
public ColumnDataDecimal _AmountEnhancementGross { get; } = new ColumnDataDecimal("AmountEnhancementGross");
|
||||
public ColumnDataInt32 _AssocIdCustomer { get; } = new ColumnDataInt32("AssocIdCustomer");
|
||||
public ColumnDataString _SellCategoryCode { get; } = new ColumnDataString("SellCategoryCode");
|
||||
public ColumnDataDecimal _AmountSell { get; } = new ColumnDataDecimal("AmountSell");
|
||||
public ColumnDataInt32 _TaxCodeIdSell { get; } = new ColumnDataInt32("TaxCodeIdSell");
|
||||
public ColumnDataDecimal _AmountSellGross { get; } = new ColumnDataDecimal("AmountSellGross");
|
||||
public ColumnDataInt32 _TaxCodeIdProfit { get; } = new ColumnDataInt32("TaxCodeIdProfit");
|
||||
public ColumnDataDateTime _SoldOn { get; } = new ColumnDataDateTime("SoldOn");
|
||||
public ColumnDataDecimal _AmountSold { get; } = new ColumnDataDecimal("AmountSold");
|
||||
public ColumnDataDecimal _AmountSoldGross { get; } = new ColumnDataDecimal("AmountSoldGross");
|
||||
public ColumnDataString _DisposeCode { get; } = new ColumnDataString("DisposeCode");
|
||||
public ColumnDataDateTime _DisposeOn { get; } = new ColumnDataDateTime("DisposeOn");
|
||||
public ColumnDataDateTime _DueBackOn { get; } = new ColumnDataDateTime("DueBackOn");
|
||||
public ColumnDataDecimal _AmountRentalCost { get; } = new ColumnDataDecimal("AmountRentalCost");
|
||||
public ColumnDataInt32 _UomIdRentalCost { get; } = new ColumnDataInt32("UomIdRentalCost");
|
||||
public ColumnDataInt32 _TaxCodeIdRentalCost { get; } = new ColumnDataInt32("TaxCodeIdRentalCost");
|
||||
public ColumnDataDecimal _AmountRentalPrice { get; } = new ColumnDataDecimal("AmountRentalPrice");
|
||||
public ColumnDataInt32 _UomIdRentalPrice { get; } = new ColumnDataInt32("UomIdRentalPrice");
|
||||
public ColumnDataInt32 _TaxCodeIdRentalPrice { get; } = new ColumnDataInt32("TaxCodeIdRentalPrice");
|
||||
public ColumnDataInt32 _ProcessIdNext { get; } = new ColumnDataInt32("ProcessIdNext");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AssetCategoryId",
|
||||
"SerialNumber",
|
||||
"SerialFmt",
|
||||
"RefExt",
|
||||
"DescBrief",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"PurchaseOn",
|
||||
"AssocIdSupplier",
|
||||
"PurchaseInvoiceRef",
|
||||
"PaymentTerms",
|
||||
"AmountPurchase",
|
||||
"TaxCodeIdPurchase",
|
||||
"AmountPurchaseGross",
|
||||
"AmountSettlementGross",
|
||||
"AmountEnhancementGross",
|
||||
"AssocIdCustomer",
|
||||
"SellCategoryCode",
|
||||
"AmountSell",
|
||||
"TaxCodeIdSell",
|
||||
"AmountSellGross",
|
||||
"TaxCodeIdProfit",
|
||||
"SoldOn",
|
||||
"AmountSold",
|
||||
"AmountSoldGross",
|
||||
"DisposeCode",
|
||||
"DisposeOn",
|
||||
"DueBackOn",
|
||||
"AmountRentalCost",
|
||||
"UomIdRentalCost",
|
||||
"TaxCodeIdRentalCost",
|
||||
"AmountRentalPrice",
|
||||
"UomIdRentalPrice",
|
||||
"TaxCodeIdRentalPrice",
|
||||
"ProcessIdNext",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaAsset_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaAsset";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AssetCategoryId { get { return Cols._AssetCategoryId.Value; } set { Cols._AssetCategoryId.Value = value; } }
|
||||
public String _SerialNumber { get { return Cols._SerialNumber.Value; } set { Cols._SerialNumber.Value = value; } }
|
||||
public String _SerialFmt { get { return Cols._SerialFmt.Value; } set { Cols._SerialFmt.Value = value; } }
|
||||
public String _RefExt { get { return Cols._RefExt.Value; } set { Cols._RefExt.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public DateTime _PurchaseOn { get { return Cols._PurchaseOn.Value; } set { Cols._PurchaseOn.Value = value; } }
|
||||
public Int32 _AssocIdSupplier { get { return Cols._AssocIdSupplier.Value; } set { Cols._AssocIdSupplier.Value = value; } }
|
||||
public String _PurchaseInvoiceRef { get { return Cols._PurchaseInvoiceRef.Value; } set { Cols._PurchaseInvoiceRef.Value = value; } }
|
||||
public Int16 _PaymentTerms { get { return Cols._PaymentTerms.Value; } set { Cols._PaymentTerms.Value = value; } }
|
||||
public Decimal _AmountPurchase { get { return Cols._AmountPurchase.Value; } set { Cols._AmountPurchase.Value = value; } }
|
||||
public Int32 _TaxCodeIdPurchase { get { return Cols._TaxCodeIdPurchase.Value; } set { Cols._TaxCodeIdPurchase.Value = value; } }
|
||||
public Decimal _AmountPurchaseGross { get { return Cols._AmountPurchaseGross.Value; } set { Cols._AmountPurchaseGross.Value = value; } }
|
||||
public Decimal _AmountSettlementGross { get { return Cols._AmountSettlementGross.Value; } set { Cols._AmountSettlementGross.Value = value; } }
|
||||
public Decimal _AmountEnhancementGross { get { return Cols._AmountEnhancementGross.Value; } set { Cols._AmountEnhancementGross.Value = value; } }
|
||||
public Int32 _AssocIdCustomer { get { return Cols._AssocIdCustomer.Value; } set { Cols._AssocIdCustomer.Value = value; } }
|
||||
public String _SellCategoryCode { get { return Cols._SellCategoryCode.Value; } set { Cols._SellCategoryCode.Value = value; } }
|
||||
public Decimal _AmountSell { get { return Cols._AmountSell.Value; } set { Cols._AmountSell.Value = value; } }
|
||||
public Int32 _TaxCodeIdSell { get { return Cols._TaxCodeIdSell.Value; } set { Cols._TaxCodeIdSell.Value = value; } }
|
||||
public Decimal _AmountSellGross { get { return Cols._AmountSellGross.Value; } set { Cols._AmountSellGross.Value = value; } }
|
||||
public Int32 _TaxCodeIdProfit { get { return Cols._TaxCodeIdProfit.Value; } set { Cols._TaxCodeIdProfit.Value = value; } }
|
||||
public DateTime _SoldOn { get { return Cols._SoldOn.Value; } set { Cols._SoldOn.Value = value; } }
|
||||
public Decimal _AmountSold { get { return Cols._AmountSold.Value; } set { Cols._AmountSold.Value = value; } }
|
||||
public Decimal _AmountSoldGross { get { return Cols._AmountSoldGross.Value; } set { Cols._AmountSoldGross.Value = value; } }
|
||||
public String _DisposeCode { get { return Cols._DisposeCode.Value; } set { Cols._DisposeCode.Value = value; } }
|
||||
public DateTime _DisposeOn { get { return Cols._DisposeOn.Value; } set { Cols._DisposeOn.Value = value; } }
|
||||
public DateTime _DueBackOn { get { return Cols._DueBackOn.Value; } set { Cols._DueBackOn.Value = value; } }
|
||||
public Decimal _AmountRentalCost { get { return Cols._AmountRentalCost.Value; } set { Cols._AmountRentalCost.Value = value; } }
|
||||
public Int32 _UomIdRentalCost { get { return Cols._UomIdRentalCost.Value; } set { Cols._UomIdRentalCost.Value = value; } }
|
||||
public Int32 _TaxCodeIdRentalCost { get { return Cols._TaxCodeIdRentalCost.Value; } set { Cols._TaxCodeIdRentalCost.Value = value; } }
|
||||
public Decimal _AmountRentalPrice { get { return Cols._AmountRentalPrice.Value; } set { Cols._AmountRentalPrice.Value = value; } }
|
||||
public Int32 _UomIdRentalPrice { get { return Cols._UomIdRentalPrice.Value; } set { Cols._UomIdRentalPrice.Value = value; } }
|
||||
public Int32 _TaxCodeIdRentalPrice { get { return Cols._TaxCodeIdRentalPrice.Value; } set { Cols._TaxCodeIdRentalPrice.Value = value; } }
|
||||
public Int32 _ProcessIdNext { get { return Cols._ProcessIdNext.Value; } set { Cols._ProcessIdNext.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AssetCategoryId = GetFieldInt32(dbDataReader, "AssetCategoryId", _AssetCategoryId);
|
||||
_SerialNumber = GetFieldString(dbDataReader, "SerialNumber", _SerialNumber);
|
||||
_SerialFmt = GetFieldString(dbDataReader, "SerialFmt", _SerialFmt);
|
||||
_RefExt = GetFieldString(dbDataReader, "RefExt", _RefExt);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_PurchaseOn = GetFieldDateTime(dbDataReader, "PurchaseOn", _PurchaseOn);
|
||||
_AssocIdSupplier = GetFieldInt32(dbDataReader, "AssocIdSupplier", _AssocIdSupplier);
|
||||
_PurchaseInvoiceRef = GetFieldString(dbDataReader, "PurchaseInvoiceRef", _PurchaseInvoiceRef);
|
||||
_PaymentTerms = GetFieldInt16(dbDataReader, "PaymentTerms", _PaymentTerms);
|
||||
_AmountPurchase = GetFieldDecimal(dbDataReader, "AmountPurchase", _AmountPurchase);
|
||||
_TaxCodeIdPurchase = GetFieldInt32(dbDataReader, "TaxCodeIdPurchase", _TaxCodeIdPurchase);
|
||||
_AmountPurchaseGross = GetFieldDecimal(dbDataReader, "AmountPurchaseGross", _AmountPurchaseGross);
|
||||
_AmountSettlementGross = GetFieldDecimal(dbDataReader, "AmountSettlementGross", _AmountSettlementGross);
|
||||
_AmountEnhancementGross = GetFieldDecimal(dbDataReader, "AmountEnhancementGross", _AmountEnhancementGross);
|
||||
_AssocIdCustomer = GetFieldInt32(dbDataReader, "AssocIdCustomer", _AssocIdCustomer);
|
||||
_SellCategoryCode = GetFieldString(dbDataReader, "SellCategoryCode", _SellCategoryCode);
|
||||
_AmountSell = GetFieldDecimal(dbDataReader, "AmountSell", _AmountSell);
|
||||
_TaxCodeIdSell = GetFieldInt32(dbDataReader, "TaxCodeIdSell", _TaxCodeIdSell);
|
||||
_AmountSellGross = GetFieldDecimal(dbDataReader, "AmountSellGross", _AmountSellGross);
|
||||
_TaxCodeIdProfit = GetFieldInt32(dbDataReader, "TaxCodeIdProfit", _TaxCodeIdProfit);
|
||||
_SoldOn = GetFieldDateTime(dbDataReader, "SoldOn", _SoldOn);
|
||||
_AmountSold = GetFieldDecimal(dbDataReader, "AmountSold", _AmountSold);
|
||||
_AmountSoldGross = GetFieldDecimal(dbDataReader, "AmountSoldGross", _AmountSoldGross);
|
||||
_DisposeCode = GetFieldString(dbDataReader, "DisposeCode", _DisposeCode);
|
||||
_DisposeOn = GetFieldDateTime(dbDataReader, "DisposeOn", _DisposeOn);
|
||||
_DueBackOn = GetFieldDateTime(dbDataReader, "DueBackOn", _DueBackOn);
|
||||
_AmountRentalCost = GetFieldDecimal(dbDataReader, "AmountRentalCost", _AmountRentalCost);
|
||||
_UomIdRentalCost = GetFieldInt32(dbDataReader, "UomIdRentalCost", _UomIdRentalCost);
|
||||
_TaxCodeIdRentalCost = GetFieldInt32(dbDataReader, "TaxCodeIdRentalCost", _TaxCodeIdRentalCost);
|
||||
_AmountRentalPrice = GetFieldDecimal(dbDataReader, "AmountRentalPrice", _AmountRentalPrice);
|
||||
_UomIdRentalPrice = GetFieldInt32(dbDataReader, "UomIdRentalPrice", _UomIdRentalPrice);
|
||||
_TaxCodeIdRentalPrice = GetFieldInt32(dbDataReader, "TaxCodeIdRentalPrice", _TaxCodeIdRentalPrice);
|
||||
_ProcessIdNext = GetFieldInt32(dbDataReader, "ProcessIdNext", _ProcessIdNext);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AssetCategoryId")) AddCommandParameter(dbCommand, "@AssetCategoryId", _AssetCategoryId);
|
||||
if (columnNames.ContainsCI("SerialNumber")) AddCommandParameter(dbCommand, "@SerialNumber", _SerialNumber);
|
||||
if (columnNames.ContainsCI("SerialFmt")) AddCommandParameter(dbCommand, "@SerialFmt", _SerialFmt);
|
||||
if (columnNames.ContainsCI("RefExt")) AddCommandParameter(dbCommand, "@RefExt", _RefExt);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("PurchaseOn")) AddCommandParameter(dbCommand, "@PurchaseOn", _PurchaseOn);
|
||||
if (columnNames.ContainsCI("AssocIdSupplier")) AddCommandParameter(dbCommand, "@AssocIdSupplier", _AssocIdSupplier);
|
||||
if (columnNames.ContainsCI("PurchaseInvoiceRef")) AddCommandParameter(dbCommand, "@PurchaseInvoiceRef", _PurchaseInvoiceRef);
|
||||
if (columnNames.ContainsCI("PaymentTerms")) AddCommandParameter(dbCommand, "@PaymentTerms", _PaymentTerms);
|
||||
if (columnNames.ContainsCI("AmountPurchase")) AddCommandParameter(dbCommand, "@AmountPurchase", _AmountPurchase);
|
||||
if (columnNames.ContainsCI("TaxCodeIdPurchase")) AddCommandParameter(dbCommand, "@TaxCodeIdPurchase", _TaxCodeIdPurchase);
|
||||
if (columnNames.ContainsCI("AmountPurchaseGross")) AddCommandParameter(dbCommand, "@AmountPurchaseGross", _AmountPurchaseGross);
|
||||
if (columnNames.ContainsCI("AmountSettlementGross")) AddCommandParameter(dbCommand, "@AmountSettlementGross", _AmountSettlementGross);
|
||||
if (columnNames.ContainsCI("AmountEnhancementGross")) AddCommandParameter(dbCommand, "@AmountEnhancementGross", _AmountEnhancementGross);
|
||||
if (columnNames.ContainsCI("AssocIdCustomer")) AddCommandParameter(dbCommand, "@AssocIdCustomer", _AssocIdCustomer);
|
||||
if (columnNames.ContainsCI("SellCategoryCode")) AddCommandParameter(dbCommand, "@SellCategoryCode", _SellCategoryCode);
|
||||
if (columnNames.ContainsCI("AmountSell")) AddCommandParameter(dbCommand, "@AmountSell", _AmountSell);
|
||||
if (columnNames.ContainsCI("TaxCodeIdSell")) AddCommandParameter(dbCommand, "@TaxCodeIdSell", _TaxCodeIdSell);
|
||||
if (columnNames.ContainsCI("AmountSellGross")) AddCommandParameter(dbCommand, "@AmountSellGross", _AmountSellGross);
|
||||
if (columnNames.ContainsCI("TaxCodeIdProfit")) AddCommandParameter(dbCommand, "@TaxCodeIdProfit", _TaxCodeIdProfit);
|
||||
if (columnNames.ContainsCI("SoldOn")) AddCommandParameter(dbCommand, "@SoldOn", _SoldOn);
|
||||
if (columnNames.ContainsCI("AmountSold")) AddCommandParameter(dbCommand, "@AmountSold", _AmountSold);
|
||||
if (columnNames.ContainsCI("AmountSoldGross")) AddCommandParameter(dbCommand, "@AmountSoldGross", _AmountSoldGross);
|
||||
if (columnNames.ContainsCI("DisposeCode")) AddCommandParameter(dbCommand, "@DisposeCode", _DisposeCode);
|
||||
if (columnNames.ContainsCI("DisposeOn")) AddCommandParameter(dbCommand, "@DisposeOn", _DisposeOn);
|
||||
if (columnNames.ContainsCI("DueBackOn")) AddCommandParameter(dbCommand, "@DueBackOn", _DueBackOn);
|
||||
if (columnNames.ContainsCI("AmountRentalCost")) AddCommandParameter(dbCommand, "@AmountRentalCost", _AmountRentalCost);
|
||||
if (columnNames.ContainsCI("UomIdRentalCost")) AddCommandParameter(dbCommand, "@UomIdRentalCost", _UomIdRentalCost);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalCost")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalCost", _TaxCodeIdRentalCost);
|
||||
if (columnNames.ContainsCI("AmountRentalPrice")) AddCommandParameter(dbCommand, "@AmountRentalPrice", _AmountRentalPrice);
|
||||
if (columnNames.ContainsCI("UomIdRentalPrice")) AddCommandParameter(dbCommand, "@UomIdRentalPrice", _UomIdRentalPrice);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalPrice")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalPrice", _TaxCodeIdRentalPrice);
|
||||
if (columnNames.ContainsCI("ProcessIdNext")) AddCommandParameter(dbCommand, "@ProcessIdNext", _ProcessIdNext);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AssetCategoryId")) AddCommandParameter(dbCommand, "@AssetCategoryId", _AssetCategoryId);
|
||||
if (columnNames.ContainsCI("SerialNumber")) AddCommandParameter(dbCommand, "@SerialNumber", _SerialNumber);
|
||||
if (columnNames.ContainsCI("SerialFmt")) AddCommandParameter(dbCommand, "@SerialFmt", _SerialFmt);
|
||||
if (columnNames.ContainsCI("RefExt")) AddCommandParameter(dbCommand, "@RefExt", _RefExt);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("PurchaseOn")) AddCommandParameter(dbCommand, "@PurchaseOn", _PurchaseOn);
|
||||
if (columnNames.ContainsCI("AssocIdSupplier")) AddCommandParameter(dbCommand, "@AssocIdSupplier", _AssocIdSupplier);
|
||||
if (columnNames.ContainsCI("PurchaseInvoiceRef")) AddCommandParameter(dbCommand, "@PurchaseInvoiceRef", _PurchaseInvoiceRef);
|
||||
if (columnNames.ContainsCI("PaymentTerms")) AddCommandParameter(dbCommand, "@PaymentTerms", _PaymentTerms);
|
||||
if (columnNames.ContainsCI("AmountPurchase")) AddCommandParameter(dbCommand, "@AmountPurchase", _AmountPurchase);
|
||||
if (columnNames.ContainsCI("TaxCodeIdPurchase")) AddCommandParameter(dbCommand, "@TaxCodeIdPurchase", _TaxCodeIdPurchase);
|
||||
if (columnNames.ContainsCI("AmountPurchaseGross")) AddCommandParameter(dbCommand, "@AmountPurchaseGross", _AmountPurchaseGross);
|
||||
if (columnNames.ContainsCI("AmountSettlementGross")) AddCommandParameter(dbCommand, "@AmountSettlementGross", _AmountSettlementGross);
|
||||
if (columnNames.ContainsCI("AmountEnhancementGross")) AddCommandParameter(dbCommand, "@AmountEnhancementGross", _AmountEnhancementGross);
|
||||
if (columnNames.ContainsCI("AssocIdCustomer")) AddCommandParameter(dbCommand, "@AssocIdCustomer", _AssocIdCustomer);
|
||||
if (columnNames.ContainsCI("SellCategoryCode")) AddCommandParameter(dbCommand, "@SellCategoryCode", _SellCategoryCode);
|
||||
if (columnNames.ContainsCI("AmountSell")) AddCommandParameter(dbCommand, "@AmountSell", _AmountSell);
|
||||
if (columnNames.ContainsCI("TaxCodeIdSell")) AddCommandParameter(dbCommand, "@TaxCodeIdSell", _TaxCodeIdSell);
|
||||
if (columnNames.ContainsCI("AmountSellGross")) AddCommandParameter(dbCommand, "@AmountSellGross", _AmountSellGross);
|
||||
if (columnNames.ContainsCI("TaxCodeIdProfit")) AddCommandParameter(dbCommand, "@TaxCodeIdProfit", _TaxCodeIdProfit);
|
||||
if (columnNames.ContainsCI("SoldOn")) AddCommandParameter(dbCommand, "@SoldOn", _SoldOn);
|
||||
if (columnNames.ContainsCI("AmountSold")) AddCommandParameter(dbCommand, "@AmountSold", _AmountSold);
|
||||
if (columnNames.ContainsCI("AmountSoldGross")) AddCommandParameter(dbCommand, "@AmountSoldGross", _AmountSoldGross);
|
||||
if (columnNames.ContainsCI("DisposeCode")) AddCommandParameter(dbCommand, "@DisposeCode", _DisposeCode);
|
||||
if (columnNames.ContainsCI("DisposeOn")) AddCommandParameter(dbCommand, "@DisposeOn", _DisposeOn);
|
||||
if (columnNames.ContainsCI("DueBackOn")) AddCommandParameter(dbCommand, "@DueBackOn", _DueBackOn);
|
||||
if (columnNames.ContainsCI("AmountRentalCost")) AddCommandParameter(dbCommand, "@AmountRentalCost", _AmountRentalCost);
|
||||
if (columnNames.ContainsCI("UomIdRentalCost")) AddCommandParameter(dbCommand, "@UomIdRentalCost", _UomIdRentalCost);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalCost")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalCost", _TaxCodeIdRentalCost);
|
||||
if (columnNames.ContainsCI("AmountRentalPrice")) AddCommandParameter(dbCommand, "@AmountRentalPrice", _AmountRentalPrice);
|
||||
if (columnNames.ContainsCI("UomIdRentalPrice")) AddCommandParameter(dbCommand, "@UomIdRentalPrice", _UomIdRentalPrice);
|
||||
if (columnNames.ContainsCI("TaxCodeIdRentalPrice")) AddCommandParameter(dbCommand, "@TaxCodeIdRentalPrice", _TaxCodeIdRentalPrice);
|
||||
if (columnNames.ContainsCI("ProcessIdNext")) AddCommandParameter(dbCommand, "@ProcessIdNext", _ProcessIdNext);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaDiaryEntry_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataDateTime _Start { get; } = new ColumnDataDateTime("Start");
|
||||
public ColumnDataDateTime _Finish { get; } = new ColumnDataDateTime("Finish");
|
||||
public ColumnDataInt32 _Duration { get; } = new ColumnDataInt32("Duration");
|
||||
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Category",
|
||||
"Type",
|
||||
"Start",
|
||||
"Finish",
|
||||
"Duration",
|
||||
"Description",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaDiaryEntry_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaDiaryEntry";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public DateTime _Start { get { return Cols._Start.Value; } set { Cols._Start.Value = value; } }
|
||||
public DateTime _Finish { get { return Cols._Finish.Value; } set { Cols._Finish.Value = value; } }
|
||||
public Int32 _Duration { get { return Cols._Duration.Value; } set { Cols._Duration.Value = value; } }
|
||||
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Start = GetFieldDateTime(dbDataReader, "Start", _Start);
|
||||
_Finish = GetFieldDateTime(dbDataReader, "Finish", _Finish);
|
||||
_Duration = GetFieldInt32(dbDataReader, "Duration", _Duration);
|
||||
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Start")) AddCommandParameter(dbCommand, "@Start", _Start);
|
||||
if (columnNames.ContainsCI("Finish")) AddCommandParameter(dbCommand, "@Finish", _Finish);
|
||||
if (columnNames.ContainsCI("Duration")) AddCommandParameter(dbCommand, "@Duration", _Duration);
|
||||
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Start")) AddCommandParameter(dbCommand, "@Start", _Start);
|
||||
if (columnNames.ContainsCI("Finish")) AddCommandParameter(dbCommand, "@Finish", _Finish);
|
||||
if (columnNames.ContainsCI("Duration")) AddCommandParameter(dbCommand, "@Duration", _Duration);
|
||||
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,207 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaDiaryLink_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _EntryId { get; } = new ColumnDataInt32("EntryId");
|
||||
public ColumnDataInt16 _ItemType { get; } = new ColumnDataInt16("ItemType");
|
||||
public ColumnDataInt32 _ItemId { get; } = new ColumnDataInt32("ItemId");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"EntryId",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"EntryId",
|
||||
"ItemType",
|
||||
"ItemId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaDiaryLink_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaDiaryLink";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _EntryId { get { return Cols._EntryId.Value; } set { Cols._EntryId.Value = value; } }
|
||||
public Int16 _ItemType { get { return Cols._ItemType.Value; } set { Cols._ItemType.Value = value; } }
|
||||
public Int32 _ItemId { get { return Cols._ItemId.Value; } set { Cols._ItemId.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_EntryId = GetFieldInt32(dbDataReader, "EntryId", _EntryId);
|
||||
_ItemType = GetFieldInt16(dbDataReader, "ItemType", _ItemType);
|
||||
_ItemId = GetFieldInt32(dbDataReader, "ItemId", _ItemId);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("EntryId")) AddCommandParameter(dbCommand, "@EntryId", _EntryId);
|
||||
if (columnNames.ContainsCI("ItemType")) AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
if (columnNames.ContainsCI("ItemId")) AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE EntryId=@EntryId AND ItemType=@ItemType AND ItemId=@ItemId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE EntryId=? AND ItemType=? AND ItemId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@EntryId", _EntryId);
|
||||
AddCommandParameter(dbCommand, "@ItemType", _ItemType);
|
||||
AddCommandParameter(dbCommand, "@ItemId", _ItemId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaPriceSet_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Ref { get; } = new ColumnDataString("Ref");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataInt32 _CurrencyId { get; } = new ColumnDataInt32("CurrencyId");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Type",
|
||||
"Ref",
|
||||
"Name",
|
||||
"CurrencyId",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaPriceSet_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaPriceSet";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Ref { get { return Cols._Ref.Value; } set { Cols._Ref.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public Int32 _CurrencyId { get { return Cols._CurrencyId.Value; } set { Cols._CurrencyId.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Ref = GetFieldString(dbDataReader, "Ref", _Ref);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_CurrencyId = GetFieldInt32(dbDataReader, "CurrencyId", _CurrencyId);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Ref")) AddCommandParameter(dbCommand, "@Ref", _Ref);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("CurrencyId")) AddCommandParameter(dbCommand, "@CurrencyId", _CurrencyId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Ref")) AddCommandParameter(dbCommand, "@Ref", _Ref);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("CurrencyId")) AddCommandParameter(dbCommand, "@CurrencyId", _CurrencyId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,242 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaPrice_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _PriceSetId { get; } = new ColumnDataInt32("PriceSetId");
|
||||
public ColumnDataInt32 _CommodityId { get; } = new ColumnDataInt32("CommodityId");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt16 _CalcMethod { get; } = new ColumnDataInt16("CalcMethod");
|
||||
public ColumnDataDecimal _CalcValue { get; } = new ColumnDataDecimal("CalcValue");
|
||||
public ColumnDataInt16 _RounderMethod { get; } = new ColumnDataInt16("RounderMethod");
|
||||
public ColumnDataInt16 _RounderDirection { get; } = new ColumnDataInt16("RounderDirection");
|
||||
public ColumnDataDecimal _RounderMultipleOf { get; } = new ColumnDataDecimal("RounderMultipleOf");
|
||||
public ColumnDataDecimal _RounderAdjustment { get; } = new ColumnDataDecimal("RounderAdjustment");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"PriceSetId",
|
||||
"CommodityId",
|
||||
"Type",
|
||||
"CalcMethod",
|
||||
"CalcValue",
|
||||
"RounderMethod",
|
||||
"RounderDirection",
|
||||
"RounderMultipleOf",
|
||||
"RounderAdjustment",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"PriceSetId",
|
||||
"CommodityId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaPrice_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaPrice";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _PriceSetId { get { return Cols._PriceSetId.Value; } set { Cols._PriceSetId.Value = value; } }
|
||||
public Int32 _CommodityId { get { return Cols._CommodityId.Value; } set { Cols._CommodityId.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int16 _CalcMethod { get { return Cols._CalcMethod.Value; } set { Cols._CalcMethod.Value = value; } }
|
||||
public Decimal _CalcValue { get { return Cols._CalcValue.Value; } set { Cols._CalcValue.Value = value; } }
|
||||
public Int16 _RounderMethod { get { return Cols._RounderMethod.Value; } set { Cols._RounderMethod.Value = value; } }
|
||||
public Int16 _RounderDirection { get { return Cols._RounderDirection.Value; } set { Cols._RounderDirection.Value = value; } }
|
||||
public Decimal _RounderMultipleOf { get { return Cols._RounderMultipleOf.Value; } set { Cols._RounderMultipleOf.Value = value; } }
|
||||
public Decimal _RounderAdjustment { get { return Cols._RounderAdjustment.Value; } set { Cols._RounderAdjustment.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_PriceSetId = GetFieldInt32(dbDataReader, "PriceSetId", _PriceSetId);
|
||||
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_CalcMethod = GetFieldInt16(dbDataReader, "CalcMethod", _CalcMethod);
|
||||
_CalcValue = GetFieldDecimal(dbDataReader, "CalcValue", _CalcValue);
|
||||
_RounderMethod = GetFieldInt16(dbDataReader, "RounderMethod", _RounderMethod);
|
||||
_RounderDirection = GetFieldInt16(dbDataReader, "RounderDirection", _RounderDirection);
|
||||
_RounderMultipleOf = GetFieldDecimal(dbDataReader, "RounderMultipleOf", _RounderMultipleOf);
|
||||
_RounderAdjustment = GetFieldDecimal(dbDataReader, "RounderAdjustment", _RounderAdjustment);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("PriceSetId")) AddCommandParameter(dbCommand, "@PriceSetId", _PriceSetId);
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("CalcMethod")) AddCommandParameter(dbCommand, "@CalcMethod", _CalcMethod);
|
||||
if (columnNames.ContainsCI("CalcValue")) AddCommandParameter(dbCommand, "@CalcValue", _CalcValue);
|
||||
if (columnNames.ContainsCI("RounderMethod")) AddCommandParameter(dbCommand, "@RounderMethod", _RounderMethod);
|
||||
if (columnNames.ContainsCI("RounderDirection")) AddCommandParameter(dbCommand, "@RounderDirection", _RounderDirection);
|
||||
if (columnNames.ContainsCI("RounderMultipleOf")) AddCommandParameter(dbCommand, "@RounderMultipleOf", _RounderMultipleOf);
|
||||
if (columnNames.ContainsCI("RounderAdjustment")) AddCommandParameter(dbCommand, "@RounderAdjustment", _RounderAdjustment);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE PriceSetId=@PriceSetId AND CommodityId=@CommodityId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE PriceSetId=? AND CommodityId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("CalcMethod")) AddCommandParameter(dbCommand, "@CalcMethod", _CalcMethod);
|
||||
if (columnNames.ContainsCI("CalcValue")) AddCommandParameter(dbCommand, "@CalcValue", _CalcValue);
|
||||
if (columnNames.ContainsCI("RounderMethod")) AddCommandParameter(dbCommand, "@RounderMethod", _RounderMethod);
|
||||
if (columnNames.ContainsCI("RounderDirection")) AddCommandParameter(dbCommand, "@RounderDirection", _RounderDirection);
|
||||
if (columnNames.ContainsCI("RounderMultipleOf")) AddCommandParameter(dbCommand, "@RounderMultipleOf", _RounderMultipleOf);
|
||||
if (columnNames.ContainsCI("RounderAdjustment")) AddCommandParameter(dbCommand, "@RounderAdjustment", _RounderAdjustment);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@PriceSetId", _PriceSetId);
|
||||
AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,301 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaVehicleClass_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataString _MakeCode { get; } = new ColumnDataString("MakeCode");
|
||||
public ColumnDataString _Model { get; } = new ColumnDataString("Model");
|
||||
public ColumnDataString _Derivative { get; } = new ColumnDataString("Derivative");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataInt16 _VehicleType { get; } = new ColumnDataInt16("VehicleType");
|
||||
public ColumnDataString _VehicleCategoryCode { get; } = new ColumnDataString("VehicleCategoryCode");
|
||||
public ColumnDataInt16 _FuelType { get; } = new ColumnDataInt16("FuelType");
|
||||
public ColumnDataInt16 _OdometerUnits { get; } = new ColumnDataInt16("OdometerUnits");
|
||||
public ColumnDataInt16 _Seats { get; } = new ColumnDataInt16("Seats");
|
||||
public ColumnDataDecimal _Weight { get; } = new ColumnDataDecimal("Weight");
|
||||
public ColumnDataString _InsuranceCode { get; } = new ColumnDataString("InsuranceCode");
|
||||
public ColumnDataInt32 _FirstServiceOdo { get; } = new ColumnDataInt32("FirstServiceOdo");
|
||||
public ColumnDataInt32 _ServiceOdo { get; } = new ColumnDataInt32("ServiceOdo");
|
||||
public ColumnDataInt16 _ServiceWeeks { get; } = new ColumnDataInt16("ServiceWeeks");
|
||||
public ColumnDataDecimal _AmountRentalCost { get; } = new ColumnDataDecimal("AmountRentalCost");
|
||||
public ColumnDataInt32 _UomIdRentalCost { get; } = new ColumnDataInt32("UomIdRentalCost");
|
||||
public ColumnDataDecimal _AmountRentalPrice { get; } = new ColumnDataDecimal("AmountRentalPrice");
|
||||
public ColumnDataInt32 _UomIdRentalPrice { get; } = new ColumnDataInt32("UomIdRentalPrice");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"MakeCode",
|
||||
"Model",
|
||||
"Derivative",
|
||||
"DescBrief",
|
||||
"VehicleType",
|
||||
"VehicleCategoryCode",
|
||||
"FuelType",
|
||||
"OdometerUnits",
|
||||
"Seats",
|
||||
"Weight",
|
||||
"InsuranceCode",
|
||||
"FirstServiceOdo",
|
||||
"ServiceOdo",
|
||||
"ServiceWeeks",
|
||||
"AmountRentalCost",
|
||||
"UomIdRentalCost",
|
||||
"AmountRentalPrice",
|
||||
"UomIdRentalPrice",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaVehicleClass_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaVehicleClass";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public String _MakeCode { get { return Cols._MakeCode.Value; } set { Cols._MakeCode.Value = value; } }
|
||||
public String _Model { get { return Cols._Model.Value; } set { Cols._Model.Value = value; } }
|
||||
public String _Derivative { get { return Cols._Derivative.Value; } set { Cols._Derivative.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public Int16 _VehicleType { get { return Cols._VehicleType.Value; } set { Cols._VehicleType.Value = value; } }
|
||||
public String _VehicleCategoryCode { get { return Cols._VehicleCategoryCode.Value; } set { Cols._VehicleCategoryCode.Value = value; } }
|
||||
public Int16 _FuelType { get { return Cols._FuelType.Value; } set { Cols._FuelType.Value = value; } }
|
||||
public Int16 _OdometerUnits { get { return Cols._OdometerUnits.Value; } set { Cols._OdometerUnits.Value = value; } }
|
||||
public Int16 _Seats { get { return Cols._Seats.Value; } set { Cols._Seats.Value = value; } }
|
||||
public Decimal _Weight { get { return Cols._Weight.Value; } set { Cols._Weight.Value = value; } }
|
||||
public String _InsuranceCode { get { return Cols._InsuranceCode.Value; } set { Cols._InsuranceCode.Value = value; } }
|
||||
public Int32 _FirstServiceOdo { get { return Cols._FirstServiceOdo.Value; } set { Cols._FirstServiceOdo.Value = value; } }
|
||||
public Int32 _ServiceOdo { get { return Cols._ServiceOdo.Value; } set { Cols._ServiceOdo.Value = value; } }
|
||||
public Int16 _ServiceWeeks { get { return Cols._ServiceWeeks.Value; } set { Cols._ServiceWeeks.Value = value; } }
|
||||
public Decimal _AmountRentalCost { get { return Cols._AmountRentalCost.Value; } set { Cols._AmountRentalCost.Value = value; } }
|
||||
public Int32 _UomIdRentalCost { get { return Cols._UomIdRentalCost.Value; } set { Cols._UomIdRentalCost.Value = value; } }
|
||||
public Decimal _AmountRentalPrice { get { return Cols._AmountRentalPrice.Value; } set { Cols._AmountRentalPrice.Value = value; } }
|
||||
public Int32 _UomIdRentalPrice { get { return Cols._UomIdRentalPrice.Value; } set { Cols._UomIdRentalPrice.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_MakeCode = GetFieldString(dbDataReader, "MakeCode", _MakeCode);
|
||||
_Model = GetFieldString(dbDataReader, "Model", _Model);
|
||||
_Derivative = GetFieldString(dbDataReader, "Derivative", _Derivative);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_VehicleType = GetFieldInt16(dbDataReader, "VehicleType", _VehicleType);
|
||||
_VehicleCategoryCode = GetFieldString(dbDataReader, "VehicleCategoryCode", _VehicleCategoryCode);
|
||||
_FuelType = GetFieldInt16(dbDataReader, "FuelType", _FuelType);
|
||||
_OdometerUnits = GetFieldInt16(dbDataReader, "OdometerUnits", _OdometerUnits);
|
||||
_Seats = GetFieldInt16(dbDataReader, "Seats", _Seats);
|
||||
_Weight = GetFieldDecimal(dbDataReader, "Weight", _Weight);
|
||||
_InsuranceCode = GetFieldString(dbDataReader, "InsuranceCode", _InsuranceCode);
|
||||
_FirstServiceOdo = GetFieldInt32(dbDataReader, "FirstServiceOdo", _FirstServiceOdo);
|
||||
_ServiceOdo = GetFieldInt32(dbDataReader, "ServiceOdo", _ServiceOdo);
|
||||
_ServiceWeeks = GetFieldInt16(dbDataReader, "ServiceWeeks", _ServiceWeeks);
|
||||
_AmountRentalCost = GetFieldDecimal(dbDataReader, "AmountRentalCost", _AmountRentalCost);
|
||||
_UomIdRentalCost = GetFieldInt32(dbDataReader, "UomIdRentalCost", _UomIdRentalCost);
|
||||
_AmountRentalPrice = GetFieldDecimal(dbDataReader, "AmountRentalPrice", _AmountRentalPrice);
|
||||
_UomIdRentalPrice = GetFieldInt32(dbDataReader, "UomIdRentalPrice", _UomIdRentalPrice);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("MakeCode")) AddCommandParameter(dbCommand, "@MakeCode", _MakeCode);
|
||||
if (columnNames.ContainsCI("Model")) AddCommandParameter(dbCommand, "@Model", _Model);
|
||||
if (columnNames.ContainsCI("Derivative")) AddCommandParameter(dbCommand, "@Derivative", _Derivative);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("VehicleType")) AddCommandParameter(dbCommand, "@VehicleType", _VehicleType);
|
||||
if (columnNames.ContainsCI("VehicleCategoryCode")) AddCommandParameter(dbCommand, "@VehicleCategoryCode", _VehicleCategoryCode);
|
||||
if (columnNames.ContainsCI("FuelType")) AddCommandParameter(dbCommand, "@FuelType", _FuelType);
|
||||
if (columnNames.ContainsCI("OdometerUnits")) AddCommandParameter(dbCommand, "@OdometerUnits", _OdometerUnits);
|
||||
if (columnNames.ContainsCI("Seats")) AddCommandParameter(dbCommand, "@Seats", _Seats);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("InsuranceCode")) AddCommandParameter(dbCommand, "@InsuranceCode", _InsuranceCode);
|
||||
if (columnNames.ContainsCI("FirstServiceOdo")) AddCommandParameter(dbCommand, "@FirstServiceOdo", _FirstServiceOdo);
|
||||
if (columnNames.ContainsCI("ServiceOdo")) AddCommandParameter(dbCommand, "@ServiceOdo", _ServiceOdo);
|
||||
if (columnNames.ContainsCI("ServiceWeeks")) AddCommandParameter(dbCommand, "@ServiceWeeks", _ServiceWeeks);
|
||||
if (columnNames.ContainsCI("AmountRentalCost")) AddCommandParameter(dbCommand, "@AmountRentalCost", _AmountRentalCost);
|
||||
if (columnNames.ContainsCI("UomIdRentalCost")) AddCommandParameter(dbCommand, "@UomIdRentalCost", _UomIdRentalCost);
|
||||
if (columnNames.ContainsCI("AmountRentalPrice")) AddCommandParameter(dbCommand, "@AmountRentalPrice", _AmountRentalPrice);
|
||||
if (columnNames.ContainsCI("UomIdRentalPrice")) AddCommandParameter(dbCommand, "@UomIdRentalPrice", _UomIdRentalPrice);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("MakeCode")) AddCommandParameter(dbCommand, "@MakeCode", _MakeCode);
|
||||
if (columnNames.ContainsCI("Model")) AddCommandParameter(dbCommand, "@Model", _Model);
|
||||
if (columnNames.ContainsCI("Derivative")) AddCommandParameter(dbCommand, "@Derivative", _Derivative);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("VehicleType")) AddCommandParameter(dbCommand, "@VehicleType", _VehicleType);
|
||||
if (columnNames.ContainsCI("VehicleCategoryCode")) AddCommandParameter(dbCommand, "@VehicleCategoryCode", _VehicleCategoryCode);
|
||||
if (columnNames.ContainsCI("FuelType")) AddCommandParameter(dbCommand, "@FuelType", _FuelType);
|
||||
if (columnNames.ContainsCI("OdometerUnits")) AddCommandParameter(dbCommand, "@OdometerUnits", _OdometerUnits);
|
||||
if (columnNames.ContainsCI("Seats")) AddCommandParameter(dbCommand, "@Seats", _Seats);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("InsuranceCode")) AddCommandParameter(dbCommand, "@InsuranceCode", _InsuranceCode);
|
||||
if (columnNames.ContainsCI("FirstServiceOdo")) AddCommandParameter(dbCommand, "@FirstServiceOdo", _FirstServiceOdo);
|
||||
if (columnNames.ContainsCI("ServiceOdo")) AddCommandParameter(dbCommand, "@ServiceOdo", _ServiceOdo);
|
||||
if (columnNames.ContainsCI("ServiceWeeks")) AddCommandParameter(dbCommand, "@ServiceWeeks", _ServiceWeeks);
|
||||
if (columnNames.ContainsCI("AmountRentalCost")) AddCommandParameter(dbCommand, "@AmountRentalCost", _AmountRentalCost);
|
||||
if (columnNames.ContainsCI("UomIdRentalCost")) AddCommandParameter(dbCommand, "@UomIdRentalCost", _UomIdRentalCost);
|
||||
if (columnNames.ContainsCI("AmountRentalPrice")) AddCommandParameter(dbCommand, "@AmountRentalPrice", _AmountRentalPrice);
|
||||
if (columnNames.ContainsCI("UomIdRentalPrice")) AddCommandParameter(dbCommand, "@UomIdRentalPrice", _UomIdRentalPrice);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,265 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaVehicleEvent_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _VehicleId { get; } = new ColumnDataInt32("VehicleId");
|
||||
public ColumnDataInt16 _EventType { get; } = new ColumnDataInt16("EventType");
|
||||
public ColumnDataDateTime _StartOn { get; } = new ColumnDataDateTime("StartOn");
|
||||
public ColumnDataDateTime _FinishOn { get; } = new ColumnDataDateTime("FinishOn");
|
||||
public ColumnDataInt32 _Odometer { get; } = new ColumnDataInt32("Odometer");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataDecimal _AmountNet { get; } = new ColumnDataDecimal("AmountNet");
|
||||
public ColumnDataInt32 _TaxCodeId { get; } = new ColumnDataInt32("TaxCodeId");
|
||||
public ColumnDataDecimal _TaxRate { get; } = new ColumnDataDecimal("TaxRate");
|
||||
public ColumnDataDecimal _AmountTax { get; } = new ColumnDataDecimal("AmountTax");
|
||||
public ColumnDataDecimal _AmountTot { get; } = new ColumnDataDecimal("AmountTot");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"VehicleId",
|
||||
"EventType",
|
||||
"StartOn",
|
||||
"FinishOn",
|
||||
"Odometer",
|
||||
"DescBrief",
|
||||
"DescDetail",
|
||||
"AmountNet",
|
||||
"TaxCodeId",
|
||||
"TaxRate",
|
||||
"AmountTax",
|
||||
"AmountTot",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaVehicleEvent_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaVehicleEvent";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _VehicleId { get { return Cols._VehicleId.Value; } set { Cols._VehicleId.Value = value; } }
|
||||
public Int16 _EventType { get { return Cols._EventType.Value; } set { Cols._EventType.Value = value; } }
|
||||
public DateTime _StartOn { get { return Cols._StartOn.Value; } set { Cols._StartOn.Value = value; } }
|
||||
public DateTime _FinishOn { get { return Cols._FinishOn.Value; } set { Cols._FinishOn.Value = value; } }
|
||||
public Int32 _Odometer { get { return Cols._Odometer.Value; } set { Cols._Odometer.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public Decimal _AmountNet { get { return Cols._AmountNet.Value; } set { Cols._AmountNet.Value = value; } }
|
||||
public Int32 _TaxCodeId { get { return Cols._TaxCodeId.Value; } set { Cols._TaxCodeId.Value = value; } }
|
||||
public Decimal _TaxRate { get { return Cols._TaxRate.Value; } set { Cols._TaxRate.Value = value; } }
|
||||
public Decimal _AmountTax { get { return Cols._AmountTax.Value; } set { Cols._AmountTax.Value = value; } }
|
||||
public Decimal _AmountTot { get { return Cols._AmountTot.Value; } set { Cols._AmountTot.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_VehicleId = GetFieldInt32(dbDataReader, "VehicleId", _VehicleId);
|
||||
_EventType = GetFieldInt16(dbDataReader, "EventType", _EventType);
|
||||
_StartOn = GetFieldDateTime(dbDataReader, "StartOn", _StartOn);
|
||||
_FinishOn = GetFieldDateTime(dbDataReader, "FinishOn", _FinishOn);
|
||||
_Odometer = GetFieldInt32(dbDataReader, "Odometer", _Odometer);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_AmountNet = GetFieldDecimal(dbDataReader, "AmountNet", _AmountNet);
|
||||
_TaxCodeId = GetFieldInt32(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_TaxRate = GetFieldDecimal(dbDataReader, "TaxRate", _TaxRate);
|
||||
_AmountTax = GetFieldDecimal(dbDataReader, "AmountTax", _AmountTax);
|
||||
_AmountTot = GetFieldDecimal(dbDataReader, "AmountTot", _AmountTot);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("VehicleId")) AddCommandParameter(dbCommand, "@VehicleId", _VehicleId);
|
||||
if (columnNames.ContainsCI("EventType")) AddCommandParameter(dbCommand, "@EventType", _EventType);
|
||||
if (columnNames.ContainsCI("StartOn")) AddCommandParameter(dbCommand, "@StartOn", _StartOn);
|
||||
if (columnNames.ContainsCI("FinishOn")) AddCommandParameter(dbCommand, "@FinishOn", _FinishOn);
|
||||
if (columnNames.ContainsCI("Odometer")) AddCommandParameter(dbCommand, "@Odometer", _Odometer);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("VehicleId")) AddCommandParameter(dbCommand, "@VehicleId", _VehicleId);
|
||||
if (columnNames.ContainsCI("EventType")) AddCommandParameter(dbCommand, "@EventType", _EventType);
|
||||
if (columnNames.ContainsCI("StartOn")) AddCommandParameter(dbCommand, "@StartOn", _StartOn);
|
||||
if (columnNames.ContainsCI("FinishOn")) AddCommandParameter(dbCommand, "@FinishOn", _FinishOn);
|
||||
if (columnNames.ContainsCI("Odometer")) AddCommandParameter(dbCommand, "@Odometer", _Odometer);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,229 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaVehicleFeature_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _VehicleId { get; } = new ColumnDataInt32("VehicleId");
|
||||
public ColumnDataInt16 _Source { get; } = new ColumnDataInt16("Source");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _CategoryCode { get; } = new ColumnDataString("CategoryCode");
|
||||
public ColumnDataString _CategoryDesc { get; } = new ColumnDataString("CategoryDesc");
|
||||
public ColumnDataString _FeatureCode { get; } = new ColumnDataString("FeatureCode");
|
||||
public ColumnDataString _FeatureDesc { get; } = new ColumnDataString("FeatureDesc");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"VehicleId",
|
||||
"Source",
|
||||
"Type",
|
||||
"CategoryCode",
|
||||
"CategoryDesc",
|
||||
"FeatureCode",
|
||||
"FeatureDesc",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"VehicleId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaVehicleFeature_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaVehicleFeature";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _VehicleId { get { return Cols._VehicleId.Value; } set { Cols._VehicleId.Value = value; } }
|
||||
public Int16 _Source { get { return Cols._Source.Value; } set { Cols._Source.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _CategoryCode { get { return Cols._CategoryCode.Value; } set { Cols._CategoryCode.Value = value; } }
|
||||
public String _CategoryDesc { get { return Cols._CategoryDesc.Value; } set { Cols._CategoryDesc.Value = value; } }
|
||||
public String _FeatureCode { get { return Cols._FeatureCode.Value; } set { Cols._FeatureCode.Value = value; } }
|
||||
public String _FeatureDesc { get { return Cols._FeatureDesc.Value; } set { Cols._FeatureDesc.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_VehicleId = GetFieldInt32(dbDataReader, "VehicleId", _VehicleId);
|
||||
_Source = GetFieldInt16(dbDataReader, "Source", _Source);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_CategoryCode = GetFieldString(dbDataReader, "CategoryCode", _CategoryCode);
|
||||
_CategoryDesc = GetFieldString(dbDataReader, "CategoryDesc", _CategoryDesc);
|
||||
_FeatureCode = GetFieldString(dbDataReader, "FeatureCode", _FeatureCode);
|
||||
_FeatureDesc = GetFieldString(dbDataReader, "FeatureDesc", _FeatureDesc);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("VehicleId")) AddCommandParameter(dbCommand, "@VehicleId", _VehicleId);
|
||||
if (columnNames.ContainsCI("Source")) AddCommandParameter(dbCommand, "@Source", _Source);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("CategoryCode")) AddCommandParameter(dbCommand, "@CategoryCode", _CategoryCode);
|
||||
if (columnNames.ContainsCI("CategoryDesc")) AddCommandParameter(dbCommand, "@CategoryDesc", _CategoryDesc);
|
||||
if (columnNames.ContainsCI("FeatureCode")) AddCommandParameter(dbCommand, "@FeatureCode", _FeatureCode);
|
||||
if (columnNames.ContainsCI("FeatureDesc")) AddCommandParameter(dbCommand, "@FeatureDesc", _FeatureDesc);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE VehicleId=@VehicleId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE VehicleId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Source")) AddCommandParameter(dbCommand, "@Source", _Source);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("CategoryCode")) AddCommandParameter(dbCommand, "@CategoryCode", _CategoryCode);
|
||||
if (columnNames.ContainsCI("CategoryDesc")) AddCommandParameter(dbCommand, "@CategoryDesc", _CategoryDesc);
|
||||
if (columnNames.ContainsCI("FeatureCode")) AddCommandParameter(dbCommand, "@FeatureCode", _FeatureCode);
|
||||
if (columnNames.ContainsCI("FeatureDesc")) AddCommandParameter(dbCommand, "@FeatureDesc", _FeatureDesc);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@VehicleId", _VehicleId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,355 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SaVehicle_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _VehicleClassId { get; } = new ColumnDataInt32("VehicleClassId");
|
||||
public ColumnDataString _RegNumber { get; } = new ColumnDataString("RegNumber");
|
||||
public ColumnDataString _VIN { get; } = new ColumnDataString("VIN");
|
||||
public ColumnDataString _CapCode { get; } = new ColumnDataString("CapCode");
|
||||
public ColumnDataString _KeyNumber { get; } = new ColumnDataString("KeyNumber");
|
||||
public ColumnDataString _KeyLocation { get; } = new ColumnDataString("KeyLocation");
|
||||
public ColumnDataString _EngineNumber { get; } = new ColumnDataString("EngineNumber");
|
||||
public ColumnDataInt16 _EngineCapacity { get; } = new ColumnDataInt16("EngineCapacity");
|
||||
public ColumnDataInt16 _Seats { get; } = new ColumnDataInt16("Seats");
|
||||
public ColumnDataInt16 _Weight { get; } = new ColumnDataInt16("Weight");
|
||||
public ColumnDataInt16 _ManufactureYear { get; } = new ColumnDataInt16("ManufactureYear");
|
||||
public ColumnDataDateTime _BuildOn { get; } = new ColumnDataDateTime("BuildOn");
|
||||
public ColumnDataDateTime _FirstRegisterOn { get; } = new ColumnDataDateTime("FirstRegisterOn");
|
||||
public ColumnDataDateTime _RegisterOn { get; } = new ColumnDataDateTime("RegisterOn");
|
||||
public ColumnDataString _RegNumberPrev { get; } = new ColumnDataString("RegNumberPrev");
|
||||
public ColumnDataInt32 _PurchaseOdo { get; } = new ColumnDataInt32("PurchaseOdo");
|
||||
public ColumnDataString _TachoCode { get; } = new ColumnDataString("TachoCode");
|
||||
public ColumnDataString _TachoId { get; } = new ColumnDataString("TachoId");
|
||||
public ColumnDataInt32 _LastServiceOdo { get; } = new ColumnDataInt32("LastServiceOdo");
|
||||
public ColumnDataDateTime _LastServiceOn { get; } = new ColumnDataDateTime("LastServiceOn");
|
||||
public ColumnDataInt32 _NextServiceOdo { get; } = new ColumnDataInt32("NextServiceOdo");
|
||||
public ColumnDataDateTime _NextServiceOn { get; } = new ColumnDataDateTime("NextServiceOn");
|
||||
public ColumnDataDateTime _MotOn { get; } = new ColumnDataDateTime("MotOn");
|
||||
public ColumnDataString _MotNo { get; } = new ColumnDataString("MotNo");
|
||||
public ColumnDataDateTime _NextTaxOn { get; } = new ColumnDataDateTime("NextTaxOn");
|
||||
public ColumnDataInt32 _LatestOdo { get; } = new ColumnDataInt32("LatestOdo");
|
||||
public ColumnDataDateTime _LatestOdoOn { get; } = new ColumnDataDateTime("LatestOdoOn");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"VehicleClassId",
|
||||
"RegNumber",
|
||||
"VIN",
|
||||
"CapCode",
|
||||
"KeyNumber",
|
||||
"KeyLocation",
|
||||
"EngineNumber",
|
||||
"EngineCapacity",
|
||||
"Seats",
|
||||
"Weight",
|
||||
"ManufactureYear",
|
||||
"BuildOn",
|
||||
"FirstRegisterOn",
|
||||
"RegisterOn",
|
||||
"RegNumberPrev",
|
||||
"PurchaseOdo",
|
||||
"TachoCode",
|
||||
"TachoId",
|
||||
"LastServiceOdo",
|
||||
"LastServiceOn",
|
||||
"NextServiceOdo",
|
||||
"NextServiceOn",
|
||||
"MotOn",
|
||||
"MotNo",
|
||||
"NextTaxOn",
|
||||
"LatestOdo",
|
||||
"LatestOdoOn",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SaVehicle_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SaVehicle";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _VehicleClassId { get { return Cols._VehicleClassId.Value; } set { Cols._VehicleClassId.Value = value; } }
|
||||
public String _RegNumber { get { return Cols._RegNumber.Value; } set { Cols._RegNumber.Value = value; } }
|
||||
public String _VIN { get { return Cols._VIN.Value; } set { Cols._VIN.Value = value; } }
|
||||
public String _CapCode { get { return Cols._CapCode.Value; } set { Cols._CapCode.Value = value; } }
|
||||
public String _KeyNumber { get { return Cols._KeyNumber.Value; } set { Cols._KeyNumber.Value = value; } }
|
||||
public String _KeyLocation { get { return Cols._KeyLocation.Value; } set { Cols._KeyLocation.Value = value; } }
|
||||
public String _EngineNumber { get { return Cols._EngineNumber.Value; } set { Cols._EngineNumber.Value = value; } }
|
||||
public Int16 _EngineCapacity { get { return Cols._EngineCapacity.Value; } set { Cols._EngineCapacity.Value = value; } }
|
||||
public Int16 _Seats { get { return Cols._Seats.Value; } set { Cols._Seats.Value = value; } }
|
||||
public Int16 _Weight { get { return Cols._Weight.Value; } set { Cols._Weight.Value = value; } }
|
||||
public Int16 _ManufactureYear { get { return Cols._ManufactureYear.Value; } set { Cols._ManufactureYear.Value = value; } }
|
||||
public DateTime _BuildOn { get { return Cols._BuildOn.Value; } set { Cols._BuildOn.Value = value; } }
|
||||
public DateTime _FirstRegisterOn { get { return Cols._FirstRegisterOn.Value; } set { Cols._FirstRegisterOn.Value = value; } }
|
||||
public DateTime _RegisterOn { get { return Cols._RegisterOn.Value; } set { Cols._RegisterOn.Value = value; } }
|
||||
public String _RegNumberPrev { get { return Cols._RegNumberPrev.Value; } set { Cols._RegNumberPrev.Value = value; } }
|
||||
public Int32 _PurchaseOdo { get { return Cols._PurchaseOdo.Value; } set { Cols._PurchaseOdo.Value = value; } }
|
||||
public String _TachoCode { get { return Cols._TachoCode.Value; } set { Cols._TachoCode.Value = value; } }
|
||||
public String _TachoId { get { return Cols._TachoId.Value; } set { Cols._TachoId.Value = value; } }
|
||||
public Int32 _LastServiceOdo { get { return Cols._LastServiceOdo.Value; } set { Cols._LastServiceOdo.Value = value; } }
|
||||
public DateTime _LastServiceOn { get { return Cols._LastServiceOn.Value; } set { Cols._LastServiceOn.Value = value; } }
|
||||
public Int32 _NextServiceOdo { get { return Cols._NextServiceOdo.Value; } set { Cols._NextServiceOdo.Value = value; } }
|
||||
public DateTime _NextServiceOn { get { return Cols._NextServiceOn.Value; } set { Cols._NextServiceOn.Value = value; } }
|
||||
public DateTime _MotOn { get { return Cols._MotOn.Value; } set { Cols._MotOn.Value = value; } }
|
||||
public String _MotNo { get { return Cols._MotNo.Value; } set { Cols._MotNo.Value = value; } }
|
||||
public DateTime _NextTaxOn { get { return Cols._NextTaxOn.Value; } set { Cols._NextTaxOn.Value = value; } }
|
||||
public Int32 _LatestOdo { get { return Cols._LatestOdo.Value; } set { Cols._LatestOdo.Value = value; } }
|
||||
public DateTime _LatestOdoOn { get { return Cols._LatestOdoOn.Value; } set { Cols._LatestOdoOn.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_VehicleClassId = GetFieldInt32(dbDataReader, "VehicleClassId", _VehicleClassId);
|
||||
_RegNumber = GetFieldString(dbDataReader, "RegNumber", _RegNumber);
|
||||
_VIN = GetFieldString(dbDataReader, "VIN", _VIN);
|
||||
_CapCode = GetFieldString(dbDataReader, "CapCode", _CapCode);
|
||||
_KeyNumber = GetFieldString(dbDataReader, "KeyNumber", _KeyNumber);
|
||||
_KeyLocation = GetFieldString(dbDataReader, "KeyLocation", _KeyLocation);
|
||||
_EngineNumber = GetFieldString(dbDataReader, "EngineNumber", _EngineNumber);
|
||||
_EngineCapacity = GetFieldInt16(dbDataReader, "EngineCapacity", _EngineCapacity);
|
||||
_Seats = GetFieldInt16(dbDataReader, "Seats", _Seats);
|
||||
_Weight = GetFieldInt16(dbDataReader, "Weight", _Weight);
|
||||
_ManufactureYear = GetFieldInt16(dbDataReader, "ManufactureYear", _ManufactureYear);
|
||||
_BuildOn = GetFieldDateTime(dbDataReader, "BuildOn", _BuildOn);
|
||||
_FirstRegisterOn = GetFieldDateTime(dbDataReader, "FirstRegisterOn", _FirstRegisterOn);
|
||||
_RegisterOn = GetFieldDateTime(dbDataReader, "RegisterOn", _RegisterOn);
|
||||
_RegNumberPrev = GetFieldString(dbDataReader, "RegNumberPrev", _RegNumberPrev);
|
||||
_PurchaseOdo = GetFieldInt32(dbDataReader, "PurchaseOdo", _PurchaseOdo);
|
||||
_TachoCode = GetFieldString(dbDataReader, "TachoCode", _TachoCode);
|
||||
_TachoId = GetFieldString(dbDataReader, "TachoId", _TachoId);
|
||||
_LastServiceOdo = GetFieldInt32(dbDataReader, "LastServiceOdo", _LastServiceOdo);
|
||||
_LastServiceOn = GetFieldDateTime(dbDataReader, "LastServiceOn", _LastServiceOn);
|
||||
_NextServiceOdo = GetFieldInt32(dbDataReader, "NextServiceOdo", _NextServiceOdo);
|
||||
_NextServiceOn = GetFieldDateTime(dbDataReader, "NextServiceOn", _NextServiceOn);
|
||||
_MotOn = GetFieldDateTime(dbDataReader, "MotOn", _MotOn);
|
||||
_MotNo = GetFieldString(dbDataReader, "MotNo", _MotNo);
|
||||
_NextTaxOn = GetFieldDateTime(dbDataReader, "NextTaxOn", _NextTaxOn);
|
||||
_LatestOdo = GetFieldInt32(dbDataReader, "LatestOdo", _LatestOdo);
|
||||
_LatestOdoOn = GetFieldDateTime(dbDataReader, "LatestOdoOn", _LatestOdoOn);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("VehicleClassId")) AddCommandParameter(dbCommand, "@VehicleClassId", _VehicleClassId);
|
||||
if (columnNames.ContainsCI("RegNumber")) AddCommandParameter(dbCommand, "@RegNumber", _RegNumber);
|
||||
if (columnNames.ContainsCI("VIN")) AddCommandParameter(dbCommand, "@VIN", _VIN);
|
||||
if (columnNames.ContainsCI("CapCode")) AddCommandParameter(dbCommand, "@CapCode", _CapCode);
|
||||
if (columnNames.ContainsCI("KeyNumber")) AddCommandParameter(dbCommand, "@KeyNumber", _KeyNumber);
|
||||
if (columnNames.ContainsCI("KeyLocation")) AddCommandParameter(dbCommand, "@KeyLocation", _KeyLocation);
|
||||
if (columnNames.ContainsCI("EngineNumber")) AddCommandParameter(dbCommand, "@EngineNumber", _EngineNumber);
|
||||
if (columnNames.ContainsCI("EngineCapacity")) AddCommandParameter(dbCommand, "@EngineCapacity", _EngineCapacity);
|
||||
if (columnNames.ContainsCI("Seats")) AddCommandParameter(dbCommand, "@Seats", _Seats);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("ManufactureYear")) AddCommandParameter(dbCommand, "@ManufactureYear", _ManufactureYear);
|
||||
if (columnNames.ContainsCI("BuildOn")) AddCommandParameter(dbCommand, "@BuildOn", _BuildOn);
|
||||
if (columnNames.ContainsCI("FirstRegisterOn")) AddCommandParameter(dbCommand, "@FirstRegisterOn", _FirstRegisterOn);
|
||||
if (columnNames.ContainsCI("RegisterOn")) AddCommandParameter(dbCommand, "@RegisterOn", _RegisterOn);
|
||||
if (columnNames.ContainsCI("RegNumberPrev")) AddCommandParameter(dbCommand, "@RegNumberPrev", _RegNumberPrev);
|
||||
if (columnNames.ContainsCI("PurchaseOdo")) AddCommandParameter(dbCommand, "@PurchaseOdo", _PurchaseOdo);
|
||||
if (columnNames.ContainsCI("TachoCode")) AddCommandParameter(dbCommand, "@TachoCode", _TachoCode);
|
||||
if (columnNames.ContainsCI("TachoId")) AddCommandParameter(dbCommand, "@TachoId", _TachoId);
|
||||
if (columnNames.ContainsCI("LastServiceOdo")) AddCommandParameter(dbCommand, "@LastServiceOdo", _LastServiceOdo);
|
||||
if (columnNames.ContainsCI("LastServiceOn")) AddCommandParameter(dbCommand, "@LastServiceOn", _LastServiceOn);
|
||||
if (columnNames.ContainsCI("NextServiceOdo")) AddCommandParameter(dbCommand, "@NextServiceOdo", _NextServiceOdo);
|
||||
if (columnNames.ContainsCI("NextServiceOn")) AddCommandParameter(dbCommand, "@NextServiceOn", _NextServiceOn);
|
||||
if (columnNames.ContainsCI("MotOn")) AddCommandParameter(dbCommand, "@MotOn", _MotOn);
|
||||
if (columnNames.ContainsCI("MotNo")) AddCommandParameter(dbCommand, "@MotNo", _MotNo);
|
||||
if (columnNames.ContainsCI("NextTaxOn")) AddCommandParameter(dbCommand, "@NextTaxOn", _NextTaxOn);
|
||||
if (columnNames.ContainsCI("LatestOdo")) AddCommandParameter(dbCommand, "@LatestOdo", _LatestOdo);
|
||||
if (columnNames.ContainsCI("LatestOdoOn")) AddCommandParameter(dbCommand, "@LatestOdoOn", _LatestOdoOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("VehicleClassId")) AddCommandParameter(dbCommand, "@VehicleClassId", _VehicleClassId);
|
||||
if (columnNames.ContainsCI("RegNumber")) AddCommandParameter(dbCommand, "@RegNumber", _RegNumber);
|
||||
if (columnNames.ContainsCI("VIN")) AddCommandParameter(dbCommand, "@VIN", _VIN);
|
||||
if (columnNames.ContainsCI("CapCode")) AddCommandParameter(dbCommand, "@CapCode", _CapCode);
|
||||
if (columnNames.ContainsCI("KeyNumber")) AddCommandParameter(dbCommand, "@KeyNumber", _KeyNumber);
|
||||
if (columnNames.ContainsCI("KeyLocation")) AddCommandParameter(dbCommand, "@KeyLocation", _KeyLocation);
|
||||
if (columnNames.ContainsCI("EngineNumber")) AddCommandParameter(dbCommand, "@EngineNumber", _EngineNumber);
|
||||
if (columnNames.ContainsCI("EngineCapacity")) AddCommandParameter(dbCommand, "@EngineCapacity", _EngineCapacity);
|
||||
if (columnNames.ContainsCI("Seats")) AddCommandParameter(dbCommand, "@Seats", _Seats);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("ManufactureYear")) AddCommandParameter(dbCommand, "@ManufactureYear", _ManufactureYear);
|
||||
if (columnNames.ContainsCI("BuildOn")) AddCommandParameter(dbCommand, "@BuildOn", _BuildOn);
|
||||
if (columnNames.ContainsCI("FirstRegisterOn")) AddCommandParameter(dbCommand, "@FirstRegisterOn", _FirstRegisterOn);
|
||||
if (columnNames.ContainsCI("RegisterOn")) AddCommandParameter(dbCommand, "@RegisterOn", _RegisterOn);
|
||||
if (columnNames.ContainsCI("RegNumberPrev")) AddCommandParameter(dbCommand, "@RegNumberPrev", _RegNumberPrev);
|
||||
if (columnNames.ContainsCI("PurchaseOdo")) AddCommandParameter(dbCommand, "@PurchaseOdo", _PurchaseOdo);
|
||||
if (columnNames.ContainsCI("TachoCode")) AddCommandParameter(dbCommand, "@TachoCode", _TachoCode);
|
||||
if (columnNames.ContainsCI("TachoId")) AddCommandParameter(dbCommand, "@TachoId", _TachoId);
|
||||
if (columnNames.ContainsCI("LastServiceOdo")) AddCommandParameter(dbCommand, "@LastServiceOdo", _LastServiceOdo);
|
||||
if (columnNames.ContainsCI("LastServiceOn")) AddCommandParameter(dbCommand, "@LastServiceOn", _LastServiceOn);
|
||||
if (columnNames.ContainsCI("NextServiceOdo")) AddCommandParameter(dbCommand, "@NextServiceOdo", _NextServiceOdo);
|
||||
if (columnNames.ContainsCI("NextServiceOn")) AddCommandParameter(dbCommand, "@NextServiceOn", _NextServiceOn);
|
||||
if (columnNames.ContainsCI("MotOn")) AddCommandParameter(dbCommand, "@MotOn", _MotOn);
|
||||
if (columnNames.ContainsCI("MotNo")) AddCommandParameter(dbCommand, "@MotNo", _MotNo);
|
||||
if (columnNames.ContainsCI("NextTaxOn")) AddCommandParameter(dbCommand, "@NextTaxOn", _NextTaxOn);
|
||||
if (columnNames.ContainsCI("LatestOdo")) AddCommandParameter(dbCommand, "@LatestOdo", _LatestOdo);
|
||||
if (columnNames.ContainsCI("LatestOdoOn")) AddCommandParameter(dbCommand, "@LatestOdoOn", _LatestOdoOn);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,247 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class StockLevel_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
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 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");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"CommodityId",
|
||||
"LocationId",
|
||||
"Type",
|
||||
"Source",
|
||||
"Recorded",
|
||||
"Quantity",
|
||||
"Bay1",
|
||||
"Bay2",
|
||||
"Bay3",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal StockLevel_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "StockLevel";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// 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 _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 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; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_CommodityId = GetFieldInt32(dbDataReader, "CommodityId", _CommodityId);
|
||||
_LocationId = GetFieldInt32(dbDataReader, "LocationId", _LocationId);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Source = GetFieldInt16(dbDataReader, "Source", _Source);
|
||||
_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);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("LocationId")) AddCommandParameter(dbCommand, "@LocationId", _LocationId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Source")) AddCommandParameter(dbCommand, "@Source", _Source);
|
||||
if (columnNames.ContainsCI("Recorded")) AddCommandParameter(dbCommand, "@Recorded", _Recorded);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("Bay1")) AddCommandParameter(dbCommand, "@Bay1", _Bay1);
|
||||
if (columnNames.ContainsCI("Bay2")) AddCommandParameter(dbCommand, "@Bay2", _Bay2);
|
||||
if (columnNames.ContainsCI("Bay3")) AddCommandParameter(dbCommand, "@Bay3", _Bay3);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("CommodityId")) AddCommandParameter(dbCommand, "@CommodityId", _CommodityId);
|
||||
if (columnNames.ContainsCI("LocationId")) AddCommandParameter(dbCommand, "@LocationId", _LocationId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Source")) AddCommandParameter(dbCommand, "@Source", _Source);
|
||||
if (columnNames.ContainsCI("Recorded")) AddCommandParameter(dbCommand, "@Recorded", _Recorded);
|
||||
if (columnNames.ContainsCI("Quantity")) AddCommandParameter(dbCommand, "@Quantity", _Quantity);
|
||||
if (columnNames.ContainsCI("Bay1")) AddCommandParameter(dbCommand, "@Bay1", _Bay1);
|
||||
if (columnNames.ContainsCI("Bay2")) AddCommandParameter(dbCommand, "@Bay2", _Bay2);
|
||||
if (columnNames.ContainsCI("Bay3")) AddCommandParameter(dbCommand, "@Bay3", _Bay3);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SysParam_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt16 _Cat { get; } = new ColumnDataInt16("Cat");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataString _Value { get; } = new ColumnDataString("Value");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _AffIdTarget { get; } = new ColumnDataInt32("AffIdTarget");
|
||||
public ColumnDataInt32 _AssocId { get; } = new ColumnDataInt32("AssocId");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Cat",
|
||||
"Name",
|
||||
"Value",
|
||||
"AffIdOwner",
|
||||
"AffIdTarget",
|
||||
"AssocId",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SysParam_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SysParam";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int16 _Cat { get { return Cols._Cat.Value; } set { Cols._Cat.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public String _Value { get { return Cols._Value.Value; } set { Cols._Value.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _AffIdTarget { get { return Cols._AffIdTarget.Value; } set { Cols._AffIdTarget.Value = value; } }
|
||||
public Int32 _AssocId { get { return Cols._AssocId.Value; } set { Cols._AssocId.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Cat = GetFieldInt16(dbDataReader, "Cat", _Cat);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_Value = GetFieldString(dbDataReader, "Value", _Value);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AffIdTarget = GetFieldInt32(dbDataReader, "AffIdTarget", _AffIdTarget);
|
||||
_AssocId = GetFieldInt32(dbDataReader, "AssocId", _AssocId);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Cat")) AddCommandParameter(dbCommand, "@Cat", _Cat);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Value")) AddCommandParameter(dbCommand, "@Value", _Value);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AffIdTarget")) AddCommandParameter(dbCommand, "@AffIdTarget", _AffIdTarget);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Cat")) AddCommandParameter(dbCommand, "@Cat", _Cat);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("Value")) AddCommandParameter(dbCommand, "@Value", _Value);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AffIdTarget")) AddCommandParameter(dbCommand, "@AffIdTarget", _AffIdTarget);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,200 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SystemAccountUser_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _AccountId { get; } = new ColumnDataInt32("AccountId");
|
||||
public ColumnDataInt32 _UserId { get; } = new ColumnDataInt32("UserId");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"AccountId",
|
||||
"UserId",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"AccountId",
|
||||
"UserId",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SystemAccountUser_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SystemAccountUser";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _AccountId { get { return Cols._AccountId.Value; } set { Cols._AccountId.Value = value; } }
|
||||
public Int32 _UserId { get { return Cols._UserId.Value; } set { Cols._UserId.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_AccountId = GetFieldInt32(dbDataReader, "AccountId", _AccountId);
|
||||
_UserId = GetFieldInt32(dbDataReader, "UserId", _UserId);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AccountId")) AddCommandParameter(dbCommand, "@AccountId", _AccountId);
|
||||
if (columnNames.ContainsCI("UserId")) AddCommandParameter(dbCommand, "@UserId", _UserId);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE AccountId=@AccountId AND UserId=@UserId;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE AccountId=? AND UserId=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@AccountId", _AccountId);
|
||||
AddCommandParameter(dbCommand, "@UserId", _UserId);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,235 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SystemAccount_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt32 _InterfaceId { get; } = new ColumnDataInt32("InterfaceId");
|
||||
public ColumnDataInt32 _AssocId { get; } = new ColumnDataInt32("AssocId");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _Name { get; } = new ColumnDataString("Name");
|
||||
public ColumnDataString _AuthCodeEnc { get; } = new ColumnDataString("AuthCodeEnc");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"Type",
|
||||
"InterfaceId",
|
||||
"AssocId",
|
||||
"Code",
|
||||
"Name",
|
||||
"AuthCodeEnc",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SystemAccount_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SystemAccount";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int32 _InterfaceId { get { return Cols._InterfaceId.Value; } set { Cols._InterfaceId.Value = value; } }
|
||||
public Int32 _AssocId { get { return Cols._AssocId.Value; } set { Cols._AssocId.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _Name { get { return Cols._Name.Value; } set { Cols._Name.Value = value; } }
|
||||
public String _AuthCodeEnc { get { return Cols._AuthCodeEnc.Value; } set { Cols._AuthCodeEnc.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_InterfaceId = GetFieldInt32(dbDataReader, "InterfaceId", _InterfaceId);
|
||||
_AssocId = GetFieldInt32(dbDataReader, "AssocId", _AssocId);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_Name = GetFieldString(dbDataReader, "Name", _Name);
|
||||
_AuthCodeEnc = GetFieldString(dbDataReader, "AuthCodeEnc", _AuthCodeEnc);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("AuthCodeEnc")) AddCommandParameter(dbCommand, "@AuthCodeEnc", _AuthCodeEnc);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Name")) AddCommandParameter(dbCommand, "@Name", _Name);
|
||||
if (columnNames.ContainsCI("AuthCodeEnc")) AddCommandParameter(dbCommand, "@AuthCodeEnc", _AuthCodeEnc);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,223 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class SystemUser_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _InterfaceId { get; } = new ColumnDataInt32("InterfaceId");
|
||||
public ColumnDataInt32 _AffiliateId { get; } = new ColumnDataInt32("AffiliateId");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _AuthCodeEnc { get; } = new ColumnDataString("AuthCodeEnc");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"InterfaceId",
|
||||
"AffiliateId",
|
||||
"Code",
|
||||
"AuthCodeEnc",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal SystemUser_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "SystemUser";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _InterfaceId { get { return Cols._InterfaceId.Value; } set { Cols._InterfaceId.Value = value; } }
|
||||
public Int32 _AffiliateId { get { return Cols._AffiliateId.Value; } set { Cols._AffiliateId.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _AuthCodeEnc { get { return Cols._AuthCodeEnc.Value; } set { Cols._AuthCodeEnc.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_InterfaceId = GetFieldInt32(dbDataReader, "InterfaceId", _InterfaceId);
|
||||
_AffiliateId = GetFieldInt32(dbDataReader, "AffiliateId", _AffiliateId);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_AuthCodeEnc = GetFieldString(dbDataReader, "AuthCodeEnc", _AuthCodeEnc);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("AffiliateId")) AddCommandParameter(dbCommand, "@AffiliateId", _AffiliateId);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("AuthCodeEnc")) AddCommandParameter(dbCommand, "@AuthCodeEnc", _AuthCodeEnc);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("InterfaceId")) AddCommandParameter(dbCommand, "@InterfaceId", _InterfaceId);
|
||||
if (columnNames.ContainsCI("AffiliateId")) AddCommandParameter(dbCommand, "@AffiliateId", _AffiliateId);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("AuthCodeEnc")) AddCommandParameter(dbCommand, "@AuthCodeEnc", _AuthCodeEnc);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,253 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class TaxCode_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _CodeAlt1 { get; } = new ColumnDataString("CodeAlt1");
|
||||
public ColumnDataString _CodeAlt2 { get; } = new ColumnDataString("CodeAlt2");
|
||||
public ColumnDataString _Description { get; } = new ColumnDataString("Description");
|
||||
public ColumnDataInt32 _RegionId { get; } = new ColumnDataInt32("RegionId");
|
||||
public ColumnDataDateTime _EffectFrom { get; } = new ColumnDataDateTime("EffectFrom");
|
||||
public ColumnDataDateTime _EffectTo { get; } = new ColumnDataDateTime("EffectTo");
|
||||
public ColumnDataDecimal _TaxRate { get; } = new ColumnDataDecimal("TaxRate");
|
||||
public ColumnDataDecimal _TaxRatePrev { get; } = new ColumnDataDecimal("TaxRatePrev");
|
||||
public ColumnDataInt32 _TaxCodeIdLink { get; } = new ColumnDataInt32("TaxCodeIdLink");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Code",
|
||||
"CodeAlt1",
|
||||
"CodeAlt2",
|
||||
"Description",
|
||||
"RegionId",
|
||||
"EffectFrom",
|
||||
"EffectTo",
|
||||
"TaxRate",
|
||||
"TaxRatePrev",
|
||||
"TaxCodeIdLink",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal TaxCode_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "TaxCode";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _CodeAlt1 { get { return Cols._CodeAlt1.Value; } set { Cols._CodeAlt1.Value = value; } }
|
||||
public String _CodeAlt2 { get { return Cols._CodeAlt2.Value; } set { Cols._CodeAlt2.Value = value; } }
|
||||
public String _Description { get { return Cols._Description.Value; } set { Cols._Description.Value = value; } }
|
||||
public Int32 _RegionId { get { return Cols._RegionId.Value; } set { Cols._RegionId.Value = value; } }
|
||||
public DateTime _EffectFrom { get { return Cols._EffectFrom.Value; } set { Cols._EffectFrom.Value = value; } }
|
||||
public DateTime _EffectTo { get { return Cols._EffectTo.Value; } set { Cols._EffectTo.Value = value; } }
|
||||
public Decimal _TaxRate { get { return Cols._TaxRate.Value; } set { Cols._TaxRate.Value = value; } }
|
||||
public Decimal _TaxRatePrev { get { return Cols._TaxRatePrev.Value; } set { Cols._TaxRatePrev.Value = value; } }
|
||||
public Int32 _TaxCodeIdLink { get { return Cols._TaxCodeIdLink.Value; } set { Cols._TaxCodeIdLink.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_CodeAlt1 = GetFieldString(dbDataReader, "CodeAlt1", _CodeAlt1);
|
||||
_CodeAlt2 = GetFieldString(dbDataReader, "CodeAlt2", _CodeAlt2);
|
||||
_Description = GetFieldString(dbDataReader, "Description", _Description);
|
||||
_RegionId = GetFieldInt32(dbDataReader, "RegionId", _RegionId);
|
||||
_EffectFrom = GetFieldDateTime(dbDataReader, "EffectFrom", _EffectFrom);
|
||||
_EffectTo = GetFieldDateTime(dbDataReader, "EffectTo", _EffectTo);
|
||||
_TaxRate = GetFieldDecimal(dbDataReader, "TaxRate", _TaxRate);
|
||||
_TaxRatePrev = GetFieldDecimal(dbDataReader, "TaxRatePrev", _TaxRatePrev);
|
||||
_TaxCodeIdLink = GetFieldInt32(dbDataReader, "TaxCodeIdLink", _TaxCodeIdLink);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("CodeAlt1")) AddCommandParameter(dbCommand, "@CodeAlt1", _CodeAlt1);
|
||||
if (columnNames.ContainsCI("CodeAlt2")) AddCommandParameter(dbCommand, "@CodeAlt2", _CodeAlt2);
|
||||
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||
if (columnNames.ContainsCI("RegionId")) AddCommandParameter(dbCommand, "@RegionId", _RegionId);
|
||||
if (columnNames.ContainsCI("EffectFrom")) AddCommandParameter(dbCommand, "@EffectFrom", _EffectFrom);
|
||||
if (columnNames.ContainsCI("EffectTo")) AddCommandParameter(dbCommand, "@EffectTo", _EffectTo);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("TaxRatePrev")) AddCommandParameter(dbCommand, "@TaxRatePrev", _TaxRatePrev);
|
||||
if (columnNames.ContainsCI("TaxCodeIdLink")) AddCommandParameter(dbCommand, "@TaxCodeIdLink", _TaxCodeIdLink);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("CodeAlt1")) AddCommandParameter(dbCommand, "@CodeAlt1", _CodeAlt1);
|
||||
if (columnNames.ContainsCI("CodeAlt2")) AddCommandParameter(dbCommand, "@CodeAlt2", _CodeAlt2);
|
||||
if (columnNames.ContainsCI("Description")) AddCommandParameter(dbCommand, "@Description", _Description);
|
||||
if (columnNames.ContainsCI("RegionId")) AddCommandParameter(dbCommand, "@RegionId", _RegionId);
|
||||
if (columnNames.ContainsCI("EffectFrom")) AddCommandParameter(dbCommand, "@EffectFrom", _EffectFrom);
|
||||
if (columnNames.ContainsCI("EffectTo")) AddCommandParameter(dbCommand, "@EffectTo", _EffectTo);
|
||||
if (columnNames.ContainsCI("TaxRate")) AddCommandParameter(dbCommand, "@TaxRate", _TaxRate);
|
||||
if (columnNames.ContainsCI("TaxRatePrev")) AddCommandParameter(dbCommand, "@TaxRatePrev", _TaxRatePrev);
|
||||
if (columnNames.ContainsCI("TaxCodeIdLink")) AddCommandParameter(dbCommand, "@TaxCodeIdLink", _TaxCodeIdLink);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,571 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class Transaction_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt32 _AffIdOwner { get; } = new ColumnDataInt32("AffIdOwner");
|
||||
public ColumnDataInt32 _AssocId { get; } = new ColumnDataInt32("AssocId");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataString _Ref { get; } = new ColumnDataString("Ref");
|
||||
public ColumnDataInt32 _RefInt { get; } = new ColumnDataInt32("RefInt");
|
||||
public ColumnDataString _RefExt { get; } = new ColumnDataString("RefExt");
|
||||
public ColumnDataString _RaisedBy { get; } = new ColumnDataString("RaisedBy");
|
||||
public ColumnDataInt32 _AffIdRaise { get; } = new ColumnDataInt32("AffIdRaise");
|
||||
public ColumnDataInt32 _AssocIdOffice { get; } = new ColumnDataInt32("AssocIdOffice");
|
||||
public ColumnDataString _ContactName { get; } = new ColumnDataString("ContactName");
|
||||
public ColumnDataString _Likelihood { get; } = new ColumnDataString("Likelihood");
|
||||
public ColumnDataInt32 _TransIdSource { get; } = new ColumnDataInt32("TransIdSource");
|
||||
public ColumnDataString _ReferCode { get; } = new ColumnDataString("ReferCode");
|
||||
public ColumnDataString _ReferSource { get; } = new ColumnDataString("ReferSource");
|
||||
public ColumnDataInt32 _AffIdRefer { get; } = new ColumnDataInt32("AffIdRefer");
|
||||
public ColumnDataInt32 _AssocIdContract { get; } = new ColumnDataInt32("AssocIdContract");
|
||||
public ColumnDataInt32 _AssIdDeliver { get; } = new ColumnDataInt32("AssIdDeliver");
|
||||
public ColumnDataDateTime _Raised { get; } = new ColumnDataDateTime("Raised");
|
||||
public ColumnDataDateTime _Required { get; } = new ColumnDataDateTime("Required");
|
||||
public ColumnDataDateTime _InProgress { get; } = new ColumnDataDateTime("InProgress");
|
||||
public ColumnDataDateTime _DeliveredEst { get; } = new ColumnDataDateTime("DeliveredEst");
|
||||
public ColumnDataDateTime _DeliveredAct { get; } = new ColumnDataDateTime("DeliveredAct");
|
||||
public ColumnDataDateTime _Closed { get; } = new ColumnDataDateTime("Closed");
|
||||
public ColumnDataString _Department { get; } = new ColumnDataString("Department");
|
||||
public ColumnDataString _DescBrief { get; } = new ColumnDataString("DescBrief");
|
||||
public ColumnDataString _DescIntro { get; } = new ColumnDataString("DescIntro");
|
||||
public ColumnDataString _DescOutline { get; } = new ColumnDataString("DescOutline");
|
||||
public ColumnDataString _DescDetail { get; } = new ColumnDataString("DescDetail");
|
||||
public ColumnDataString _ResponseCode { get; } = new ColumnDataString("ResponseCode");
|
||||
public ColumnDataString _ContactAreaCode { get; } = new ColumnDataString("ContactAreaCode");
|
||||
public ColumnDataString _Postcode { get; } = new ColumnDataString("Postcode");
|
||||
public ColumnDataInt32 _CurrencyId { get; } = new ColumnDataInt32("CurrencyId");
|
||||
public ColumnDataInt32 _TaxCodeId { get; } = new ColumnDataInt32("TaxCodeId");
|
||||
public ColumnDataDecimal _AmountEst { get; } = new ColumnDataDecimal("AmountEst");
|
||||
public ColumnDataDecimal _AmountMax { get; } = new ColumnDataDecimal("AmountMax");
|
||||
public ColumnDataDecimal _AmountNet { get; } = new ColumnDataDecimal("AmountNet");
|
||||
public ColumnDataDecimal _AmountTax { get; } = new ColumnDataDecimal("AmountTax");
|
||||
public ColumnDataDecimal _AmountTot { get; } = new ColumnDataDecimal("AmountTot");
|
||||
public ColumnDataString _TimeEstChunks { get; } = new ColumnDataString("TimeEstChunks");
|
||||
public ColumnDataDecimal _TimeEst { get; } = new ColumnDataDecimal("TimeEst");
|
||||
public ColumnDataString _TimeActChunks { get; } = new ColumnDataString("TimeActChunks");
|
||||
public ColumnDataDecimal _TimeAct { get; } = new ColumnDataDecimal("TimeAct");
|
||||
public ColumnDataDecimal _TimeTot { get; } = new ColumnDataDecimal("TimeTot");
|
||||
public ColumnDataInt32 _LocationIdStock { get; } = new ColumnDataInt32("LocationIdStock");
|
||||
public ColumnDataDecimal _Weight { get; } = new ColumnDataDecimal("Weight");
|
||||
public ColumnDataInt32 _UomIdWeight { get; } = new ColumnDataInt32("UomIdWeight");
|
||||
public ColumnDataString _BoxCount { get; } = new ColumnDataString("BoxCount");
|
||||
public ColumnDataString _DeliveryStatusCode { get; } = new ColumnDataString("DeliveryStatusCode");
|
||||
public ColumnDataString _DeliveryTypeCode { get; } = new ColumnDataString("DeliveryTypeCode");
|
||||
public ColumnDataString _DeliveryMethodCode { get; } = new ColumnDataString("DeliveryMethodCode");
|
||||
public ColumnDataString _DeliveryCourierCode { get; } = new ColumnDataString("DeliveryCourierCode");
|
||||
public ColumnDataString _DeliveryBookInCode { get; } = new ColumnDataString("DeliveryBookInCode");
|
||||
public ColumnDataString _StockPickerCode { get; } = new ColumnDataString("StockPickerCode");
|
||||
public ColumnDataString _DeliveryRef { get; } = new ColumnDataString("DeliveryRef");
|
||||
public ColumnDataString _DeliveryComment { get; } = new ColumnDataString("DeliveryComment");
|
||||
public ColumnDataDecimal _DeliveryAmountNet { get; } = new ColumnDataDecimal("DeliveryAmountNet");
|
||||
public ColumnDataInt32 _TaxCodeIdDelivery { get; } = new ColumnDataInt32("TaxCodeIdDelivery");
|
||||
public ColumnDataDecimal _DeliveryAmountTax { get; } = new ColumnDataDecimal("DeliveryAmountTax");
|
||||
public ColumnDataDecimal _DeliveryAmountTot { get; } = new ColumnDataDecimal("DeliveryAmountTot");
|
||||
public ColumnDataString _DeliveryDepartment { get; } = new ColumnDataString("DeliveryDepartment");
|
||||
public ColumnDataString _DeliveryNominalCode { get; } = new ColumnDataString("DeliveryNominalCode");
|
||||
public ColumnDataDecimal _CostLabourRateHour { get; } = new ColumnDataDecimal("CostLabourRateHour");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _StatusCat { get; } = new ColumnDataString("StatusCat");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"AffIdOwner",
|
||||
"AssocId",
|
||||
"Type",
|
||||
"Ref",
|
||||
"RefInt",
|
||||
"RefExt",
|
||||
"RaisedBy",
|
||||
"AffIdRaise",
|
||||
"AssocIdOffice",
|
||||
"ContactName",
|
||||
"Likelihood",
|
||||
"TransIdSource",
|
||||
"ReferCode",
|
||||
"ReferSource",
|
||||
"AffIdRefer",
|
||||
"AssocIdContract",
|
||||
"AssIdDeliver",
|
||||
"Raised",
|
||||
"Required",
|
||||
"InProgress",
|
||||
"DeliveredEst",
|
||||
"DeliveredAct",
|
||||
"Closed",
|
||||
"Department",
|
||||
"DescBrief",
|
||||
"DescIntro",
|
||||
"DescOutline",
|
||||
"DescDetail",
|
||||
"ResponseCode",
|
||||
"ContactAreaCode",
|
||||
"Postcode",
|
||||
"CurrencyId",
|
||||
"TaxCodeId",
|
||||
"AmountEst",
|
||||
"AmountMax",
|
||||
"AmountNet",
|
||||
"AmountTax",
|
||||
"AmountTot",
|
||||
"TimeEstChunks",
|
||||
"TimeEst",
|
||||
"TimeActChunks",
|
||||
"TimeAct",
|
||||
"TimeTot",
|
||||
"LocationIdStock",
|
||||
"Weight",
|
||||
"UomIdWeight",
|
||||
"BoxCount",
|
||||
"DeliveryStatusCode",
|
||||
"DeliveryTypeCode",
|
||||
"DeliveryMethodCode",
|
||||
"DeliveryCourierCode",
|
||||
"DeliveryBookInCode",
|
||||
"StockPickerCode",
|
||||
"DeliveryRef",
|
||||
"DeliveryComment",
|
||||
"DeliveryAmountNet",
|
||||
"TaxCodeIdDelivery",
|
||||
"DeliveryAmountTax",
|
||||
"DeliveryAmountTot",
|
||||
"DeliveryDepartment",
|
||||
"DeliveryNominalCode",
|
||||
"CostLabourRateHour",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"StatusCat",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal Transaction_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "Transaction";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int32 _AffIdOwner { get { return Cols._AffIdOwner.Value; } set { Cols._AffIdOwner.Value = value; } }
|
||||
public Int32 _AssocId { get { return Cols._AssocId.Value; } set { Cols._AssocId.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public String _Ref { get { return Cols._Ref.Value; } set { Cols._Ref.Value = value; } }
|
||||
public Int32 _RefInt { get { return Cols._RefInt.Value; } set { Cols._RefInt.Value = value; } }
|
||||
public String _RefExt { get { return Cols._RefExt.Value; } set { Cols._RefExt.Value = value; } }
|
||||
public String _RaisedBy { get { return Cols._RaisedBy.Value; } set { Cols._RaisedBy.Value = value; } }
|
||||
public Int32 _AffIdRaise { get { return Cols._AffIdRaise.Value; } set { Cols._AffIdRaise.Value = value; } }
|
||||
public Int32 _AssocIdOffice { get { return Cols._AssocIdOffice.Value; } set { Cols._AssocIdOffice.Value = value; } }
|
||||
public String _ContactName { get { return Cols._ContactName.Value; } set { Cols._ContactName.Value = value; } }
|
||||
public String _Likelihood { get { return Cols._Likelihood.Value; } set { Cols._Likelihood.Value = value; } }
|
||||
public Int32 _TransIdSource { get { return Cols._TransIdSource.Value; } set { Cols._TransIdSource.Value = value; } }
|
||||
public String _ReferCode { get { return Cols._ReferCode.Value; } set { Cols._ReferCode.Value = value; } }
|
||||
public String _ReferSource { get { return Cols._ReferSource.Value; } set { Cols._ReferSource.Value = value; } }
|
||||
public Int32 _AffIdRefer { get { return Cols._AffIdRefer.Value; } set { Cols._AffIdRefer.Value = value; } }
|
||||
public Int32 _AssocIdContract { get { return Cols._AssocIdContract.Value; } set { Cols._AssocIdContract.Value = value; } }
|
||||
public Int32 _AssIdDeliver { get { return Cols._AssIdDeliver.Value; } set { Cols._AssIdDeliver.Value = value; } }
|
||||
public DateTime _Raised { get { return Cols._Raised.Value; } set { Cols._Raised.Value = value; } }
|
||||
public DateTime _Required { get { return Cols._Required.Value; } set { Cols._Required.Value = value; } }
|
||||
public DateTime _InProgress { get { return Cols._InProgress.Value; } set { Cols._InProgress.Value = value; } }
|
||||
public DateTime _DeliveredEst { get { return Cols._DeliveredEst.Value; } set { Cols._DeliveredEst.Value = value; } }
|
||||
public DateTime _DeliveredAct { get { return Cols._DeliveredAct.Value; } set { Cols._DeliveredAct.Value = value; } }
|
||||
public DateTime _Closed { get { return Cols._Closed.Value; } set { Cols._Closed.Value = value; } }
|
||||
public String _Department { get { return Cols._Department.Value; } set { Cols._Department.Value = value; } }
|
||||
public String _DescBrief { get { return Cols._DescBrief.Value; } set { Cols._DescBrief.Value = value; } }
|
||||
public String _DescIntro { get { return Cols._DescIntro.Value; } set { Cols._DescIntro.Value = value; } }
|
||||
public String _DescOutline { get { return Cols._DescOutline.Value; } set { Cols._DescOutline.Value = value; } }
|
||||
public String _DescDetail { get { return Cols._DescDetail.Value; } set { Cols._DescDetail.Value = value; } }
|
||||
public String _ResponseCode { get { return Cols._ResponseCode.Value; } set { Cols._ResponseCode.Value = value; } }
|
||||
public String _ContactAreaCode { get { return Cols._ContactAreaCode.Value; } set { Cols._ContactAreaCode.Value = value; } }
|
||||
public String _Postcode { get { return Cols._Postcode.Value; } set { Cols._Postcode.Value = value; } }
|
||||
public Int32 _CurrencyId { get { return Cols._CurrencyId.Value; } set { Cols._CurrencyId.Value = value; } }
|
||||
public Int32 _TaxCodeId { get { return Cols._TaxCodeId.Value; } set { Cols._TaxCodeId.Value = value; } }
|
||||
public Decimal _AmountEst { get { return Cols._AmountEst.Value; } set { Cols._AmountEst.Value = value; } }
|
||||
public Decimal _AmountMax { get { return Cols._AmountMax.Value; } set { Cols._AmountMax.Value = value; } }
|
||||
public Decimal _AmountNet { get { return Cols._AmountNet.Value; } set { Cols._AmountNet.Value = value; } }
|
||||
public Decimal _AmountTax { get { return Cols._AmountTax.Value; } set { Cols._AmountTax.Value = value; } }
|
||||
public Decimal _AmountTot { get { return Cols._AmountTot.Value; } set { Cols._AmountTot.Value = value; } }
|
||||
public String _TimeEstChunks { get { return Cols._TimeEstChunks.Value; } set { Cols._TimeEstChunks.Value = value; } }
|
||||
public Decimal _TimeEst { get { return Cols._TimeEst.Value; } set { Cols._TimeEst.Value = value; } }
|
||||
public String _TimeActChunks { get { return Cols._TimeActChunks.Value; } set { Cols._TimeActChunks.Value = value; } }
|
||||
public Decimal _TimeAct { get { return Cols._TimeAct.Value; } set { Cols._TimeAct.Value = value; } }
|
||||
public Decimal _TimeTot { get { return Cols._TimeTot.Value; } set { Cols._TimeTot.Value = value; } }
|
||||
public Int32 _LocationIdStock { get { return Cols._LocationIdStock.Value; } set { Cols._LocationIdStock.Value = value; } }
|
||||
public Decimal _Weight { get { return Cols._Weight.Value; } set { Cols._Weight.Value = value; } }
|
||||
public Int32 _UomIdWeight { get { return Cols._UomIdWeight.Value; } set { Cols._UomIdWeight.Value = value; } }
|
||||
public String _BoxCount { get { return Cols._BoxCount.Value; } set { Cols._BoxCount.Value = value; } }
|
||||
public String _DeliveryStatusCode { get { return Cols._DeliveryStatusCode.Value; } set { Cols._DeliveryStatusCode.Value = value; } }
|
||||
public String _DeliveryTypeCode { get { return Cols._DeliveryTypeCode.Value; } set { Cols._DeliveryTypeCode.Value = value; } }
|
||||
public String _DeliveryMethodCode { get { return Cols._DeliveryMethodCode.Value; } set { Cols._DeliveryMethodCode.Value = value; } }
|
||||
public String _DeliveryCourierCode { get { return Cols._DeliveryCourierCode.Value; } set { Cols._DeliveryCourierCode.Value = value; } }
|
||||
public String _DeliveryBookInCode { get { return Cols._DeliveryBookInCode.Value; } set { Cols._DeliveryBookInCode.Value = value; } }
|
||||
public String _StockPickerCode { get { return Cols._StockPickerCode.Value; } set { Cols._StockPickerCode.Value = value; } }
|
||||
public String _DeliveryRef { get { return Cols._DeliveryRef.Value; } set { Cols._DeliveryRef.Value = value; } }
|
||||
public String _DeliveryComment { get { return Cols._DeliveryComment.Value; } set { Cols._DeliveryComment.Value = value; } }
|
||||
public Decimal _DeliveryAmountNet { get { return Cols._DeliveryAmountNet.Value; } set { Cols._DeliveryAmountNet.Value = value; } }
|
||||
public Int32 _TaxCodeIdDelivery { get { return Cols._TaxCodeIdDelivery.Value; } set { Cols._TaxCodeIdDelivery.Value = value; } }
|
||||
public Decimal _DeliveryAmountTax { get { return Cols._DeliveryAmountTax.Value; } set { Cols._DeliveryAmountTax.Value = value; } }
|
||||
public Decimal _DeliveryAmountTot { get { return Cols._DeliveryAmountTot.Value; } set { Cols._DeliveryAmountTot.Value = value; } }
|
||||
public String _DeliveryDepartment { get { return Cols._DeliveryDepartment.Value; } set { Cols._DeliveryDepartment.Value = value; } }
|
||||
public String _DeliveryNominalCode { get { return Cols._DeliveryNominalCode.Value; } set { Cols._DeliveryNominalCode.Value = value; } }
|
||||
public Decimal _CostLabourRateHour { get { return Cols._CostLabourRateHour.Value; } set { Cols._CostLabourRateHour.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _StatusCat { get { return Cols._StatusCat.Value; } set { Cols._StatusCat.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_AffIdOwner = GetFieldInt32(dbDataReader, "AffIdOwner", _AffIdOwner);
|
||||
_AssocId = GetFieldInt32(dbDataReader, "AssocId", _AssocId);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_Ref = GetFieldString(dbDataReader, "Ref", _Ref);
|
||||
_RefInt = GetFieldInt32(dbDataReader, "RefInt", _RefInt);
|
||||
_RefExt = GetFieldString(dbDataReader, "RefExt", _RefExt);
|
||||
_RaisedBy = GetFieldString(dbDataReader, "RaisedBy", _RaisedBy);
|
||||
_AffIdRaise = GetFieldInt32(dbDataReader, "AffIdRaise", _AffIdRaise);
|
||||
_AssocIdOffice = GetFieldInt32(dbDataReader, "AssocIdOffice", _AssocIdOffice);
|
||||
_ContactName = GetFieldString(dbDataReader, "ContactName", _ContactName);
|
||||
_Likelihood = GetFieldString(dbDataReader, "Likelihood", _Likelihood);
|
||||
_TransIdSource = GetFieldInt32(dbDataReader, "TransIdSource", _TransIdSource);
|
||||
_ReferCode = GetFieldString(dbDataReader, "ReferCode", _ReferCode);
|
||||
_ReferSource = GetFieldString(dbDataReader, "ReferSource", _ReferSource);
|
||||
_AffIdRefer = GetFieldInt32(dbDataReader, "AffIdRefer", _AffIdRefer);
|
||||
_AssocIdContract = GetFieldInt32(dbDataReader, "AssocIdContract", _AssocIdContract);
|
||||
_AssIdDeliver = GetFieldInt32(dbDataReader, "AssIdDeliver", _AssIdDeliver);
|
||||
_Raised = GetFieldDateTime(dbDataReader, "Raised", _Raised);
|
||||
_Required = GetFieldDateTime(dbDataReader, "Required", _Required);
|
||||
_InProgress = GetFieldDateTime(dbDataReader, "InProgress", _InProgress);
|
||||
_DeliveredEst = GetFieldDateTime(dbDataReader, "DeliveredEst", _DeliveredEst);
|
||||
_DeliveredAct = GetFieldDateTime(dbDataReader, "DeliveredAct", _DeliveredAct);
|
||||
_Closed = GetFieldDateTime(dbDataReader, "Closed", _Closed);
|
||||
_Department = GetFieldString(dbDataReader, "Department", _Department);
|
||||
_DescBrief = GetFieldString(dbDataReader, "DescBrief", _DescBrief);
|
||||
_DescIntro = GetFieldString(dbDataReader, "DescIntro", _DescIntro);
|
||||
_DescOutline = GetFieldString(dbDataReader, "DescOutline", _DescOutline);
|
||||
_DescDetail = GetFieldString(dbDataReader, "DescDetail", _DescDetail);
|
||||
_ResponseCode = GetFieldString(dbDataReader, "ResponseCode", _ResponseCode);
|
||||
_ContactAreaCode = GetFieldString(dbDataReader, "ContactAreaCode", _ContactAreaCode);
|
||||
_Postcode = GetFieldString(dbDataReader, "Postcode", _Postcode);
|
||||
_CurrencyId = GetFieldInt32(dbDataReader, "CurrencyId", _CurrencyId);
|
||||
_TaxCodeId = GetFieldInt32(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_AmountEst = GetFieldDecimal(dbDataReader, "AmountEst", _AmountEst);
|
||||
_AmountMax = GetFieldDecimal(dbDataReader, "AmountMax", _AmountMax);
|
||||
_AmountNet = GetFieldDecimal(dbDataReader, "AmountNet", _AmountNet);
|
||||
_AmountTax = GetFieldDecimal(dbDataReader, "AmountTax", _AmountTax);
|
||||
_AmountTot = GetFieldDecimal(dbDataReader, "AmountTot", _AmountTot);
|
||||
_TimeEstChunks = GetFieldString(dbDataReader, "TimeEstChunks", _TimeEstChunks);
|
||||
_TimeEst = GetFieldDecimal(dbDataReader, "TimeEst", _TimeEst);
|
||||
_TimeActChunks = GetFieldString(dbDataReader, "TimeActChunks", _TimeActChunks);
|
||||
_TimeAct = GetFieldDecimal(dbDataReader, "TimeAct", _TimeAct);
|
||||
_TimeTot = GetFieldDecimal(dbDataReader, "TimeTot", _TimeTot);
|
||||
_LocationIdStock = GetFieldInt32(dbDataReader, "LocationIdStock", _LocationIdStock);
|
||||
_Weight = GetFieldDecimal(dbDataReader, "Weight", _Weight);
|
||||
_UomIdWeight = GetFieldInt32(dbDataReader, "UomIdWeight", _UomIdWeight);
|
||||
_BoxCount = GetFieldString(dbDataReader, "BoxCount", _BoxCount);
|
||||
_DeliveryStatusCode = GetFieldString(dbDataReader, "DeliveryStatusCode", _DeliveryStatusCode);
|
||||
_DeliveryTypeCode = GetFieldString(dbDataReader, "DeliveryTypeCode", _DeliveryTypeCode);
|
||||
_DeliveryMethodCode = GetFieldString(dbDataReader, "DeliveryMethodCode", _DeliveryMethodCode);
|
||||
_DeliveryCourierCode = GetFieldString(dbDataReader, "DeliveryCourierCode", _DeliveryCourierCode);
|
||||
_DeliveryBookInCode = GetFieldString(dbDataReader, "DeliveryBookInCode", _DeliveryBookInCode);
|
||||
_StockPickerCode = GetFieldString(dbDataReader, "StockPickerCode", _StockPickerCode);
|
||||
_DeliveryRef = GetFieldString(dbDataReader, "DeliveryRef", _DeliveryRef);
|
||||
_DeliveryComment = GetFieldString(dbDataReader, "DeliveryComment", _DeliveryComment);
|
||||
_DeliveryAmountNet = GetFieldDecimal(dbDataReader, "DeliveryAmountNet", _DeliveryAmountNet);
|
||||
_TaxCodeIdDelivery = GetFieldInt32(dbDataReader, "TaxCodeIdDelivery", _TaxCodeIdDelivery);
|
||||
_DeliveryAmountTax = GetFieldDecimal(dbDataReader, "DeliveryAmountTax", _DeliveryAmountTax);
|
||||
_DeliveryAmountTot = GetFieldDecimal(dbDataReader, "DeliveryAmountTot", _DeliveryAmountTot);
|
||||
_DeliveryDepartment = GetFieldString(dbDataReader, "DeliveryDepartment", _DeliveryDepartment);
|
||||
_DeliveryNominalCode = GetFieldString(dbDataReader, "DeliveryNominalCode", _DeliveryNominalCode);
|
||||
_CostLabourRateHour = GetFieldDecimal(dbDataReader, "CostLabourRateHour", _CostLabourRateHour);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_StatusCat = GetFieldString(dbDataReader, "StatusCat", _StatusCat);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Ref")) AddCommandParameter(dbCommand, "@Ref", _Ref);
|
||||
if (columnNames.ContainsCI("RefInt")) AddCommandParameter(dbCommand, "@RefInt", _RefInt);
|
||||
if (columnNames.ContainsCI("RefExt")) AddCommandParameter(dbCommand, "@RefExt", _RefExt);
|
||||
if (columnNames.ContainsCI("RaisedBy")) AddCommandParameter(dbCommand, "@RaisedBy", _RaisedBy);
|
||||
if (columnNames.ContainsCI("AffIdRaise")) AddCommandParameter(dbCommand, "@AffIdRaise", _AffIdRaise);
|
||||
if (columnNames.ContainsCI("AssocIdOffice")) AddCommandParameter(dbCommand, "@AssocIdOffice", _AssocIdOffice);
|
||||
if (columnNames.ContainsCI("ContactName")) AddCommandParameter(dbCommand, "@ContactName", _ContactName);
|
||||
if (columnNames.ContainsCI("Likelihood")) AddCommandParameter(dbCommand, "@Likelihood", _Likelihood);
|
||||
if (columnNames.ContainsCI("TransIdSource")) AddCommandParameter(dbCommand, "@TransIdSource", _TransIdSource);
|
||||
if (columnNames.ContainsCI("ReferCode")) AddCommandParameter(dbCommand, "@ReferCode", _ReferCode);
|
||||
if (columnNames.ContainsCI("ReferSource")) AddCommandParameter(dbCommand, "@ReferSource", _ReferSource);
|
||||
if (columnNames.ContainsCI("AffIdRefer")) AddCommandParameter(dbCommand, "@AffIdRefer", _AffIdRefer);
|
||||
if (columnNames.ContainsCI("AssocIdContract")) AddCommandParameter(dbCommand, "@AssocIdContract", _AssocIdContract);
|
||||
if (columnNames.ContainsCI("AssIdDeliver")) AddCommandParameter(dbCommand, "@AssIdDeliver", _AssIdDeliver);
|
||||
if (columnNames.ContainsCI("Raised")) AddCommandParameter(dbCommand, "@Raised", _Raised);
|
||||
if (columnNames.ContainsCI("Required")) AddCommandParameter(dbCommand, "@Required", _Required);
|
||||
if (columnNames.ContainsCI("InProgress")) AddCommandParameter(dbCommand, "@InProgress", _InProgress);
|
||||
if (columnNames.ContainsCI("DeliveredEst")) AddCommandParameter(dbCommand, "@DeliveredEst", _DeliveredEst);
|
||||
if (columnNames.ContainsCI("DeliveredAct")) AddCommandParameter(dbCommand, "@DeliveredAct", _DeliveredAct);
|
||||
if (columnNames.ContainsCI("Closed")) AddCommandParameter(dbCommand, "@Closed", _Closed);
|
||||
if (columnNames.ContainsCI("Department")) AddCommandParameter(dbCommand, "@Department", _Department);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescIntro")) AddCommandParameter(dbCommand, "@DescIntro", _DescIntro);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("ResponseCode")) AddCommandParameter(dbCommand, "@ResponseCode", _ResponseCode);
|
||||
if (columnNames.ContainsCI("ContactAreaCode")) AddCommandParameter(dbCommand, "@ContactAreaCode", _ContactAreaCode);
|
||||
if (columnNames.ContainsCI("Postcode")) AddCommandParameter(dbCommand, "@Postcode", _Postcode);
|
||||
if (columnNames.ContainsCI("CurrencyId")) AddCommandParameter(dbCommand, "@CurrencyId", _CurrencyId);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("AmountEst")) AddCommandParameter(dbCommand, "@AmountEst", _AmountEst);
|
||||
if (columnNames.ContainsCI("AmountMax")) AddCommandParameter(dbCommand, "@AmountMax", _AmountMax);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("TimeEstChunks")) AddCommandParameter(dbCommand, "@TimeEstChunks", _TimeEstChunks);
|
||||
if (columnNames.ContainsCI("TimeEst")) AddCommandParameter(dbCommand, "@TimeEst", _TimeEst);
|
||||
if (columnNames.ContainsCI("TimeActChunks")) AddCommandParameter(dbCommand, "@TimeActChunks", _TimeActChunks);
|
||||
if (columnNames.ContainsCI("TimeAct")) AddCommandParameter(dbCommand, "@TimeAct", _TimeAct);
|
||||
if (columnNames.ContainsCI("TimeTot")) AddCommandParameter(dbCommand, "@TimeTot", _TimeTot);
|
||||
if (columnNames.ContainsCI("LocationIdStock")) AddCommandParameter(dbCommand, "@LocationIdStock", _LocationIdStock);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("UomIdWeight")) AddCommandParameter(dbCommand, "@UomIdWeight", _UomIdWeight);
|
||||
if (columnNames.ContainsCI("BoxCount")) AddCommandParameter(dbCommand, "@BoxCount", _BoxCount);
|
||||
if (columnNames.ContainsCI("DeliveryStatusCode")) AddCommandParameter(dbCommand, "@DeliveryStatusCode", _DeliveryStatusCode);
|
||||
if (columnNames.ContainsCI("DeliveryTypeCode")) AddCommandParameter(dbCommand, "@DeliveryTypeCode", _DeliveryTypeCode);
|
||||
if (columnNames.ContainsCI("DeliveryMethodCode")) AddCommandParameter(dbCommand, "@DeliveryMethodCode", _DeliveryMethodCode);
|
||||
if (columnNames.ContainsCI("DeliveryCourierCode")) AddCommandParameter(dbCommand, "@DeliveryCourierCode", _DeliveryCourierCode);
|
||||
if (columnNames.ContainsCI("DeliveryBookInCode")) AddCommandParameter(dbCommand, "@DeliveryBookInCode", _DeliveryBookInCode);
|
||||
if (columnNames.ContainsCI("StockPickerCode")) AddCommandParameter(dbCommand, "@StockPickerCode", _StockPickerCode);
|
||||
if (columnNames.ContainsCI("DeliveryRef")) AddCommandParameter(dbCommand, "@DeliveryRef", _DeliveryRef);
|
||||
if (columnNames.ContainsCI("DeliveryComment")) AddCommandParameter(dbCommand, "@DeliveryComment", _DeliveryComment);
|
||||
if (columnNames.ContainsCI("DeliveryAmountNet")) AddCommandParameter(dbCommand, "@DeliveryAmountNet", _DeliveryAmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeIdDelivery")) AddCommandParameter(dbCommand, "@TaxCodeIdDelivery", _TaxCodeIdDelivery);
|
||||
if (columnNames.ContainsCI("DeliveryAmountTax")) AddCommandParameter(dbCommand, "@DeliveryAmountTax", _DeliveryAmountTax);
|
||||
if (columnNames.ContainsCI("DeliveryAmountTot")) AddCommandParameter(dbCommand, "@DeliveryAmountTot", _DeliveryAmountTot);
|
||||
if (columnNames.ContainsCI("DeliveryDepartment")) AddCommandParameter(dbCommand, "@DeliveryDepartment", _DeliveryDepartment);
|
||||
if (columnNames.ContainsCI("DeliveryNominalCode")) AddCommandParameter(dbCommand, "@DeliveryNominalCode", _DeliveryNominalCode);
|
||||
if (columnNames.ContainsCI("CostLabourRateHour")) AddCommandParameter(dbCommand, "@CostLabourRateHour", _CostLabourRateHour);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("StatusCat")) AddCommandParameter(dbCommand, "@StatusCat", _StatusCat);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("AffIdOwner")) AddCommandParameter(dbCommand, "@AffIdOwner", _AffIdOwner);
|
||||
if (columnNames.ContainsCI("AssocId")) AddCommandParameter(dbCommand, "@AssocId", _AssocId);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("Ref")) AddCommandParameter(dbCommand, "@Ref", _Ref);
|
||||
if (columnNames.ContainsCI("RefInt")) AddCommandParameter(dbCommand, "@RefInt", _RefInt);
|
||||
if (columnNames.ContainsCI("RefExt")) AddCommandParameter(dbCommand, "@RefExt", _RefExt);
|
||||
if (columnNames.ContainsCI("RaisedBy")) AddCommandParameter(dbCommand, "@RaisedBy", _RaisedBy);
|
||||
if (columnNames.ContainsCI("AffIdRaise")) AddCommandParameter(dbCommand, "@AffIdRaise", _AffIdRaise);
|
||||
if (columnNames.ContainsCI("AssocIdOffice")) AddCommandParameter(dbCommand, "@AssocIdOffice", _AssocIdOffice);
|
||||
if (columnNames.ContainsCI("ContactName")) AddCommandParameter(dbCommand, "@ContactName", _ContactName);
|
||||
if (columnNames.ContainsCI("Likelihood")) AddCommandParameter(dbCommand, "@Likelihood", _Likelihood);
|
||||
if (columnNames.ContainsCI("TransIdSource")) AddCommandParameter(dbCommand, "@TransIdSource", _TransIdSource);
|
||||
if (columnNames.ContainsCI("ReferCode")) AddCommandParameter(dbCommand, "@ReferCode", _ReferCode);
|
||||
if (columnNames.ContainsCI("ReferSource")) AddCommandParameter(dbCommand, "@ReferSource", _ReferSource);
|
||||
if (columnNames.ContainsCI("AffIdRefer")) AddCommandParameter(dbCommand, "@AffIdRefer", _AffIdRefer);
|
||||
if (columnNames.ContainsCI("AssocIdContract")) AddCommandParameter(dbCommand, "@AssocIdContract", _AssocIdContract);
|
||||
if (columnNames.ContainsCI("AssIdDeliver")) AddCommandParameter(dbCommand, "@AssIdDeliver", _AssIdDeliver);
|
||||
if (columnNames.ContainsCI("Raised")) AddCommandParameter(dbCommand, "@Raised", _Raised);
|
||||
if (columnNames.ContainsCI("Required")) AddCommandParameter(dbCommand, "@Required", _Required);
|
||||
if (columnNames.ContainsCI("InProgress")) AddCommandParameter(dbCommand, "@InProgress", _InProgress);
|
||||
if (columnNames.ContainsCI("DeliveredEst")) AddCommandParameter(dbCommand, "@DeliveredEst", _DeliveredEst);
|
||||
if (columnNames.ContainsCI("DeliveredAct")) AddCommandParameter(dbCommand, "@DeliveredAct", _DeliveredAct);
|
||||
if (columnNames.ContainsCI("Closed")) AddCommandParameter(dbCommand, "@Closed", _Closed);
|
||||
if (columnNames.ContainsCI("Department")) AddCommandParameter(dbCommand, "@Department", _Department);
|
||||
if (columnNames.ContainsCI("DescBrief")) AddCommandParameter(dbCommand, "@DescBrief", _DescBrief);
|
||||
if (columnNames.ContainsCI("DescIntro")) AddCommandParameter(dbCommand, "@DescIntro", _DescIntro);
|
||||
if (columnNames.ContainsCI("DescOutline")) AddCommandParameter(dbCommand, "@DescOutline", _DescOutline);
|
||||
if (columnNames.ContainsCI("DescDetail")) AddCommandParameter(dbCommand, "@DescDetail", _DescDetail);
|
||||
if (columnNames.ContainsCI("ResponseCode")) AddCommandParameter(dbCommand, "@ResponseCode", _ResponseCode);
|
||||
if (columnNames.ContainsCI("ContactAreaCode")) AddCommandParameter(dbCommand, "@ContactAreaCode", _ContactAreaCode);
|
||||
if (columnNames.ContainsCI("Postcode")) AddCommandParameter(dbCommand, "@Postcode", _Postcode);
|
||||
if (columnNames.ContainsCI("CurrencyId")) AddCommandParameter(dbCommand, "@CurrencyId", _CurrencyId);
|
||||
if (columnNames.ContainsCI("TaxCodeId")) AddCommandParameter(dbCommand, "@TaxCodeId", _TaxCodeId);
|
||||
if (columnNames.ContainsCI("AmountEst")) AddCommandParameter(dbCommand, "@AmountEst", _AmountEst);
|
||||
if (columnNames.ContainsCI("AmountMax")) AddCommandParameter(dbCommand, "@AmountMax", _AmountMax);
|
||||
if (columnNames.ContainsCI("AmountNet")) AddCommandParameter(dbCommand, "@AmountNet", _AmountNet);
|
||||
if (columnNames.ContainsCI("AmountTax")) AddCommandParameter(dbCommand, "@AmountTax", _AmountTax);
|
||||
if (columnNames.ContainsCI("AmountTot")) AddCommandParameter(dbCommand, "@AmountTot", _AmountTot);
|
||||
if (columnNames.ContainsCI("TimeEstChunks")) AddCommandParameter(dbCommand, "@TimeEstChunks", _TimeEstChunks);
|
||||
if (columnNames.ContainsCI("TimeEst")) AddCommandParameter(dbCommand, "@TimeEst", _TimeEst);
|
||||
if (columnNames.ContainsCI("TimeActChunks")) AddCommandParameter(dbCommand, "@TimeActChunks", _TimeActChunks);
|
||||
if (columnNames.ContainsCI("TimeAct")) AddCommandParameter(dbCommand, "@TimeAct", _TimeAct);
|
||||
if (columnNames.ContainsCI("TimeTot")) AddCommandParameter(dbCommand, "@TimeTot", _TimeTot);
|
||||
if (columnNames.ContainsCI("LocationIdStock")) AddCommandParameter(dbCommand, "@LocationIdStock", _LocationIdStock);
|
||||
if (columnNames.ContainsCI("Weight")) AddCommandParameter(dbCommand, "@Weight", _Weight);
|
||||
if (columnNames.ContainsCI("UomIdWeight")) AddCommandParameter(dbCommand, "@UomIdWeight", _UomIdWeight);
|
||||
if (columnNames.ContainsCI("BoxCount")) AddCommandParameter(dbCommand, "@BoxCount", _BoxCount);
|
||||
if (columnNames.ContainsCI("DeliveryStatusCode")) AddCommandParameter(dbCommand, "@DeliveryStatusCode", _DeliveryStatusCode);
|
||||
if (columnNames.ContainsCI("DeliveryTypeCode")) AddCommandParameter(dbCommand, "@DeliveryTypeCode", _DeliveryTypeCode);
|
||||
if (columnNames.ContainsCI("DeliveryMethodCode")) AddCommandParameter(dbCommand, "@DeliveryMethodCode", _DeliveryMethodCode);
|
||||
if (columnNames.ContainsCI("DeliveryCourierCode")) AddCommandParameter(dbCommand, "@DeliveryCourierCode", _DeliveryCourierCode);
|
||||
if (columnNames.ContainsCI("DeliveryBookInCode")) AddCommandParameter(dbCommand, "@DeliveryBookInCode", _DeliveryBookInCode);
|
||||
if (columnNames.ContainsCI("StockPickerCode")) AddCommandParameter(dbCommand, "@StockPickerCode", _StockPickerCode);
|
||||
if (columnNames.ContainsCI("DeliveryRef")) AddCommandParameter(dbCommand, "@DeliveryRef", _DeliveryRef);
|
||||
if (columnNames.ContainsCI("DeliveryComment")) AddCommandParameter(dbCommand, "@DeliveryComment", _DeliveryComment);
|
||||
if (columnNames.ContainsCI("DeliveryAmountNet")) AddCommandParameter(dbCommand, "@DeliveryAmountNet", _DeliveryAmountNet);
|
||||
if (columnNames.ContainsCI("TaxCodeIdDelivery")) AddCommandParameter(dbCommand, "@TaxCodeIdDelivery", _TaxCodeIdDelivery);
|
||||
if (columnNames.ContainsCI("DeliveryAmountTax")) AddCommandParameter(dbCommand, "@DeliveryAmountTax", _DeliveryAmountTax);
|
||||
if (columnNames.ContainsCI("DeliveryAmountTot")) AddCommandParameter(dbCommand, "@DeliveryAmountTot", _DeliveryAmountTot);
|
||||
if (columnNames.ContainsCI("DeliveryDepartment")) AddCommandParameter(dbCommand, "@DeliveryDepartment", _DeliveryDepartment);
|
||||
if (columnNames.ContainsCI("DeliveryNominalCode")) AddCommandParameter(dbCommand, "@DeliveryNominalCode", _DeliveryNominalCode);
|
||||
if (columnNames.ContainsCI("CostLabourRateHour")) AddCommandParameter(dbCommand, "@CostLabourRateHour", _CostLabourRateHour);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("StatusCat")) AddCommandParameter(dbCommand, "@StatusCat", _StatusCat);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Mon 8-Jun-2020 16:53:26
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
internal class UnitMeasure_Db : SbmDbDataItem
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Column definitions.
|
||||
public class ColumnsData
|
||||
{
|
||||
public ColumnDataInt32 _Id { get; } = new ColumnDataInt32("Id");
|
||||
public ColumnDataInt16 _Category { get; } = new ColumnDataInt16("Category");
|
||||
public ColumnDataInt16 _Type { get; } = new ColumnDataInt16("Type");
|
||||
public ColumnDataInt16 _UnitType { get; } = new ColumnDataInt16("UnitType");
|
||||
public ColumnDataString _Code { get; } = new ColumnDataString("Code");
|
||||
public ColumnDataString _Abbr { get; } = new ColumnDataString("Abbr");
|
||||
public ColumnDataString _Single { get; } = new ColumnDataString("Single");
|
||||
public ColumnDataString _Multiple { get; } = new ColumnDataString("Multiple");
|
||||
public ColumnDataDecimal _EquValue { get; } = new ColumnDataDecimal("EquValue");
|
||||
public ColumnDataInt32 _UomIdEqu { get; } = new ColumnDataInt32("UomIdEqu");
|
||||
public ColumnDataInt32 _EquAlgorythm { get; } = new ColumnDataInt32("EquAlgorythm");
|
||||
public ColumnDataInt32 _UomIdRef1 { get; } = new ColumnDataInt32("UomIdRef1");
|
||||
public ColumnDataInt32 _UomIdRef2 { get; } = new ColumnDataInt32("UomIdRef2");
|
||||
public ColumnDataInt32 _UomIdRef3 { get; } = new ColumnDataInt32("UomIdRef3");
|
||||
public ColumnDataString _Notes { get; } = new ColumnDataString("Notes");
|
||||
public ColumnDataInt16 _Flags { get; } = new ColumnDataInt16("Flags");
|
||||
public ColumnDataString _Status { get; } = new ColumnDataString("Status");
|
||||
public ColumnDataDateTime _CreateOn { get; } = new ColumnDataDateTime("CreateOn");
|
||||
public ColumnDataInt32 _CreateBy { get; } = new ColumnDataInt32("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
protected static List<String> fields { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
"Category",
|
||||
"Type",
|
||||
"UnitType",
|
||||
"Code",
|
||||
"Abbr",
|
||||
"Single",
|
||||
"Multiple",
|
||||
"EquValue",
|
||||
"UomIdEqu",
|
||||
"EquAlgorythm",
|
||||
"UomIdRef1",
|
||||
"UomIdRef2",
|
||||
"UomIdRef3",
|
||||
"Notes",
|
||||
"Flags",
|
||||
"Status",
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsId { get; } = new List<String>()
|
||||
{
|
||||
};
|
||||
protected static List<String> fieldsPrimary { get; } = new List<String>()
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
};
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
internal UnitMeasure_Db(IDatabaseInfo dbInfo) : base(dbInfo)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public override String SchemaName { get; } = "dbo";
|
||||
public override String TableName { get; } = "UnitMeasure";
|
||||
public String TableNameFmt { get { return (!String.IsNullOrEmpty(SchemaName) ? "[" + SchemaName + "]." : "") + "[" + TableName + "]"; } }
|
||||
public static List<String> Fields { get { return new List<String>(fields); } }
|
||||
public static List<String> FieldsId { get { return new List<String>(fieldsId); } }
|
||||
public static List<String> FieldsNonId { get { return fields.FindAll(item => !fieldsId.ContainsCI(item)); } }
|
||||
// Columns.
|
||||
public ColumnsData Cols { get; } = new ColumnsData();
|
||||
public Int32 _Id { get { return Cols._Id.Value; } set { Cols._Id.Value = value; } }
|
||||
public Int16 _Category { get { return Cols._Category.Value; } set { Cols._Category.Value = value; } }
|
||||
public Int16 _Type { get { return Cols._Type.Value; } set { Cols._Type.Value = value; } }
|
||||
public Int16 _UnitType { get { return Cols._UnitType.Value; } set { Cols._UnitType.Value = value; } }
|
||||
public String _Code { get { return Cols._Code.Value; } set { Cols._Code.Value = value; } }
|
||||
public String _Abbr { get { return Cols._Abbr.Value; } set { Cols._Abbr.Value = value; } }
|
||||
public String _Single { get { return Cols._Single.Value; } set { Cols._Single.Value = value; } }
|
||||
public String _Multiple { get { return Cols._Multiple.Value; } set { Cols._Multiple.Value = value; } }
|
||||
public Decimal _EquValue { get { return Cols._EquValue.Value; } set { Cols._EquValue.Value = value; } }
|
||||
public Int32 _UomIdEqu { get { return Cols._UomIdEqu.Value; } set { Cols._UomIdEqu.Value = value; } }
|
||||
public Int32 _EquAlgorythm { get { return Cols._EquAlgorythm.Value; } set { Cols._EquAlgorythm.Value = value; } }
|
||||
public Int32 _UomIdRef1 { get { return Cols._UomIdRef1.Value; } set { Cols._UomIdRef1.Value = value; } }
|
||||
public Int32 _UomIdRef2 { get { return Cols._UomIdRef2.Value; } set { Cols._UomIdRef2.Value = value; } }
|
||||
public Int32 _UomIdRef3 { get { return Cols._UomIdRef3.Value; } set { Cols._UomIdRef3.Value = value; } }
|
||||
public String _Notes { get { return Cols._Notes.Value; } set { Cols._Notes.Value = value; } }
|
||||
public Int16 _Flags { get { return Cols._Flags.Value; } set { Cols._Flags.Value = value; } }
|
||||
public String _Status { get { return Cols._Status.Value; } set { Cols._Status.Value = value; } }
|
||||
public DateTime _CreateOn { get { return Cols._CreateOn.Value; } set { Cols._CreateOn.Value = value; } }
|
||||
public Int32 _CreateBy { get { return Cols._CreateBy.Value; } set { Cols._CreateBy.Value = value; } }
|
||||
public String _CreateHost { get { return Cols._CreateHost.Value; } set { Cols._CreateHost.Value = value; } }
|
||||
public DateTime _UpdateOn { get { return Cols._UpdateOn.Value; } set { Cols._UpdateOn.Value = value; } }
|
||||
public Int32 _UpdateBy { get { return Cols._UpdateBy.Value; } set { Cols._UpdateBy.Value = value; } }
|
||||
public String _UpdateHost { get { return Cols._UpdateHost.Value; } set { Cols._UpdateHost.Value = value; } }
|
||||
// Existing columns - confirmed on database if table exists.
|
||||
public List<String> ExistingColumnNames { get { return GetExistingColumnNames(Fields); } }
|
||||
public List<String> ExistingColumnNamesNonId { get { return GetExistingColumnNames(FieldsNonId); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
public override void PopulateFrom(DbCommand dbCommand, String tableAlias, String filter)
|
||||
{
|
||||
dbCommand.CommandText =
|
||||
"SELECT " + ExistingColumnNames.Concat(", ", (!String.IsNullOrEmpty(tableAlias) ? tableAlias + "." : "") + "[", "]") + " " +
|
||||
"FROM " + TableNameFmt + (!String.IsNullOrEmpty(tableAlias) ? " " + tableAlias : "") + " " +
|
||||
(!String.IsNullOrEmpty(filter) ? "WHERE " + filter : "");
|
||||
Log(GetType().Name + ".PopulateFrom", dbCommand.CommandText);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
dbDataReader.Read();
|
||||
PopulateFrom(dbDataReader);
|
||||
}
|
||||
}
|
||||
public override void PopulateFrom(DbDataReader dbDataReader)
|
||||
{
|
||||
_Id = GetFieldInt32(dbDataReader, "Id", _Id);
|
||||
_Category = GetFieldInt16(dbDataReader, "Category", _Category);
|
||||
_Type = GetFieldInt16(dbDataReader, "Type", _Type);
|
||||
_UnitType = GetFieldInt16(dbDataReader, "UnitType", _UnitType);
|
||||
_Code = GetFieldString(dbDataReader, "Code", _Code);
|
||||
_Abbr = GetFieldString(dbDataReader, "Abbr", _Abbr);
|
||||
_Single = GetFieldString(dbDataReader, "Single", _Single);
|
||||
_Multiple = GetFieldString(dbDataReader, "Multiple", _Multiple);
|
||||
_EquValue = GetFieldDecimal(dbDataReader, "EquValue", _EquValue);
|
||||
_UomIdEqu = GetFieldInt32(dbDataReader, "UomIdEqu", _UomIdEqu);
|
||||
_EquAlgorythm = GetFieldInt32(dbDataReader, "EquAlgorythm", _EquAlgorythm);
|
||||
_UomIdRef1 = GetFieldInt32(dbDataReader, "UomIdRef1", _UomIdRef1);
|
||||
_UomIdRef2 = GetFieldInt32(dbDataReader, "UomIdRef2", _UomIdRef2);
|
||||
_UomIdRef3 = GetFieldInt32(dbDataReader, "UomIdRef3", _UomIdRef3);
|
||||
_Notes = GetFieldString(dbDataReader, "Notes", _Notes);
|
||||
_Flags = GetFieldInt16(dbDataReader, "Flags", _Flags);
|
||||
_Status = GetFieldString(dbDataReader, "Status", _Status);
|
||||
_CreateOn = GetFieldDateTime(dbDataReader, "CreateOn", _CreateOn);
|
||||
_CreateBy = GetFieldInt32(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert command.
|
||||
public override bool ExecuteInsertCommand(DbCommand dbCommand)
|
||||
{
|
||||
List<String> columnNames = ExistingColumnNamesNonId;
|
||||
// Construct query.
|
||||
String query =
|
||||
"INSERT INTO " + TableNameFmt + " " +
|
||||
"(" + columnNames.Concat(",", "[", "]") + ") ";
|
||||
if (dbCommand is SqlCommand)
|
||||
query += "VALUES (" + columnNames.Concat(",", "@", "") + ") ";
|
||||
else query += "VALUES (" + StringListUtil.CreateList("?", columnNames.Count).Concat(",") + ") ";
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteInsertCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Id")) AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("UnitType")) AddCommandParameter(dbCommand, "@UnitType", _UnitType);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Abbr")) AddCommandParameter(dbCommand, "@Abbr", _Abbr);
|
||||
if (columnNames.ContainsCI("Single")) AddCommandParameter(dbCommand, "@Single", _Single);
|
||||
if (columnNames.ContainsCI("Multiple")) AddCommandParameter(dbCommand, "@Multiple", _Multiple);
|
||||
if (columnNames.ContainsCI("EquValue")) AddCommandParameter(dbCommand, "@EquValue", _EquValue);
|
||||
if (columnNames.ContainsCI("UomIdEqu")) AddCommandParameter(dbCommand, "@UomIdEqu", _UomIdEqu);
|
||||
if (columnNames.ContainsCI("EquAlgorythm")) AddCommandParameter(dbCommand, "@EquAlgorythm", _EquAlgorythm);
|
||||
if (columnNames.ContainsCI("UomIdRef1")) AddCommandParameter(dbCommand, "@UomIdRef1", _UomIdRef1);
|
||||
if (columnNames.ContainsCI("UomIdRef2")) AddCommandParameter(dbCommand, "@UomIdRef2", _UomIdRef2);
|
||||
if (columnNames.ContainsCI("UomIdRef3")) AddCommandParameter(dbCommand, "@UomIdRef3", _UomIdRef3);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("CreateOn")) AddCommandParameter(dbCommand, "@CreateOn", _CreateOn);
|
||||
if (columnNames.ContainsCI("CreateBy")) AddCommandParameter(dbCommand, "@CreateBy", _CreateBy);
|
||||
if (columnNames.ContainsCI("CreateHost")) AddCommandParameter(dbCommand, "@CreateHost", _CreateHost);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
// Execute insert command.
|
||||
bool commandSuccess = false;
|
||||
int executeNonQuery = dbCommand.ExecuteNonQuery();
|
||||
if (executeNonQuery == 1)
|
||||
{
|
||||
commandSuccess = true;
|
||||
}
|
||||
return commandSuccess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand(DbCommand dbCommand)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
{
|
||||
query += StringPairList.CreateFrom(columnNames.Bracket("[", "]"), columnNames).Concat("=@").Concat(", ") + " ";
|
||||
query += "WHERE Id=@Id;";
|
||||
}
|
||||
else
|
||||
{
|
||||
query += columnNames.Concat(", ", "", "=?") + " ";
|
||||
query += "WHERE Id=?;";
|
||||
}
|
||||
dbCommand.CommandText = query;
|
||||
Log(GetType().Name + ".ExecuteUpdateCommand", dbCommand.CommandText);
|
||||
// Populate parameters.
|
||||
dbCommand.Parameters.Clear();
|
||||
if (columnNames.ContainsCI("Category")) AddCommandParameter(dbCommand, "@Category", _Category);
|
||||
if (columnNames.ContainsCI("Type")) AddCommandParameter(dbCommand, "@Type", _Type);
|
||||
if (columnNames.ContainsCI("UnitType")) AddCommandParameter(dbCommand, "@UnitType", _UnitType);
|
||||
if (columnNames.ContainsCI("Code")) AddCommandParameter(dbCommand, "@Code", _Code);
|
||||
if (columnNames.ContainsCI("Abbr")) AddCommandParameter(dbCommand, "@Abbr", _Abbr);
|
||||
if (columnNames.ContainsCI("Single")) AddCommandParameter(dbCommand, "@Single", _Single);
|
||||
if (columnNames.ContainsCI("Multiple")) AddCommandParameter(dbCommand, "@Multiple", _Multiple);
|
||||
if (columnNames.ContainsCI("EquValue")) AddCommandParameter(dbCommand, "@EquValue", _EquValue);
|
||||
if (columnNames.ContainsCI("UomIdEqu")) AddCommandParameter(dbCommand, "@UomIdEqu", _UomIdEqu);
|
||||
if (columnNames.ContainsCI("EquAlgorythm")) AddCommandParameter(dbCommand, "@EquAlgorythm", _EquAlgorythm);
|
||||
if (columnNames.ContainsCI("UomIdRef1")) AddCommandParameter(dbCommand, "@UomIdRef1", _UomIdRef1);
|
||||
if (columnNames.ContainsCI("UomIdRef2")) AddCommandParameter(dbCommand, "@UomIdRef2", _UomIdRef2);
|
||||
if (columnNames.ContainsCI("UomIdRef3")) AddCommandParameter(dbCommand, "@UomIdRef3", _UomIdRef3);
|
||||
if (columnNames.ContainsCI("Notes")) AddCommandParameter(dbCommand, "@Notes", _Notes);
|
||||
if (columnNames.ContainsCI("Flags")) AddCommandParameter(dbCommand, "@Flags", _Flags);
|
||||
if (columnNames.ContainsCI("Status")) AddCommandParameter(dbCommand, "@Status", _Status);
|
||||
if (columnNames.ContainsCI("UpdateOn")) AddCommandParameter(dbCommand, "@UpdateOn", _UpdateOn);
|
||||
if (columnNames.ContainsCI("UpdateBy")) AddCommandParameter(dbCommand, "@UpdateBy", _UpdateBy);
|
||||
if (columnNames.ContainsCI("UpdateHost")) AddCommandParameter(dbCommand, "@UpdateHost", _UpdateHost);
|
||||
AddCommandParameter(dbCommand, "@Id", _Id);
|
||||
int executeNonQueryResult = dbCommand.ExecuteNonQuery();
|
||||
return (executeNonQueryResult == 1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,794 @@
|
||||
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;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
internal partial class SbmAccountMgr_Dbas : SbmAccountMgr
|
||||
{
|
||||
//*******************************************************************
|
||||
// A d d r e s s e s
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
/* public override SbmAddress CloneAddress(SbmAddress addressSource, bool copyId)
|
||||
{
|
||||
}*/
|
||||
private List<StringPair> GetLogProperties(SbmAddress address)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(address.Id)),
|
||||
new StringPair("Postcode",address.Postcode),
|
||||
new StringPair("Status",address.StatusCode)
|
||||
};
|
||||
}
|
||||
public override bool VerifyAsPrimaryAddress(SbmAddress addressPrimary)
|
||||
{
|
||||
// Check that this is the only primary address for the item.
|
||||
ClearErrorState();
|
||||
if (addressPrimary == null) return SetErrorState("item not specified");
|
||||
if (!SysId.IsValid(addressPrimary.Id)) return SetErrorState("invalid item id");
|
||||
if (!addressPrimary.IsPrimary) return SetErrorState("address is not primary");
|
||||
if (db == null) return SetErrorState("database not available");
|
||||
|
||||
SysId addressPrimaryId = addressPrimary.Id;
|
||||
String colAddress_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_Id);
|
||||
|
||||
// Identify the other addresses for the same item that are also primary.
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address));
|
||||
qry.Columns.Add(colAddress_Id);
|
||||
qry.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_ItemType) + "=" + ((int)addressPrimary.ItemType).ToString());
|
||||
qry.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Address_ItemId) + "=" + addressPrimary.ItemId.ToString());
|
||||
qry.Filters.Add(colAddress_Id + "<>" + addressPrimaryId.ToString());
|
||||
qry.Filters.Add(GetPrimaryAddressFilter(true, aliasAddress));
|
||||
|
||||
using (DbResultSet dbResultSet = DbResultSet_DataReader.ExecuteQuery(db, qry.ToString()))
|
||||
{
|
||||
if (dbResultSet != null && dbResultSet.NextRecord())
|
||||
{
|
||||
NamedValue.Map values = dbResultSet.GetRecordValues();
|
||||
SbmAddress address = GetAddressById(new SysId((int)values.GetValue(colAddress_Id).AsLong()));
|
||||
if (address != null && address.Id != addressPrimaryId && address.IsPrimary)
|
||||
{
|
||||
address.IsPrimary = false;
|
||||
if (!UpdateAddress(address, UserContext.DbUpdateInfo)) SetErrorState("failed to update adress - " + ErrorState);
|
||||
}
|
||||
}
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create Address.
|
||||
public override SbmAddress CreateAddress(Sbm.ItemType itemType, SysId idItem, Sbm.AddressType addressType)
|
||||
{
|
||||
return new SbmAddress_Dbas(UserContext, null, itemType, idItem, addressType, 0);
|
||||
}
|
||||
private SbmAddress_Dbas CreateAddress(Address_Db dbAddress)
|
||||
{
|
||||
ClearErrorState();
|
||||
Sbm.ItemType itemType = (Sbm.ItemType)dbAddress._ItemType;
|
||||
SysId itemId = new SysId(dbAddress._ItemId);
|
||||
if (dbAddress._AffIdOwner > 0 && !SysId.IsValid(itemId))
|
||||
{
|
||||
// 'AffiliateIdOwner' is legacy field prior to ItemType/ItemId being added.
|
||||
// Populate ItemTYpe/Id if ItemId not found in data and ItemType consistent (Affiliate or undefined).
|
||||
if (itemType == Sbm.ItemType.Affiliate || (int)itemType < 1)
|
||||
{
|
||||
itemType = Sbm.ItemType.Affiliate;
|
||||
itemId = new SysId(dbAddress._AffIdOwner);
|
||||
}
|
||||
}
|
||||
SbmAddress_Dbas address = new SbmAddress_Dbas(UserContext, new SysId(dbAddress._Id), itemType, itemId, (Sbm.AddressType)dbAddress._Type, (ushort)dbAddress._Flags);
|
||||
PopulateFrom(dbAddress, address);
|
||||
return address;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get Address.
|
||||
public override SbmAddress GetAddress(SbmAddress.Params prm)
|
||||
{
|
||||
return GetAddress(GetAddressQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmAddress GetAddress(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetAddressCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple Addresses found");
|
||||
return null;
|
||||
}
|
||||
SbmAddress address = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
Address_Db dbAddress = new Address_Db(DbInfo);
|
||||
dbAddress.PopulateFrom(dbCommand, aliasAddress, filter);
|
||||
address = CreateAddress(dbAddress);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetAddress\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return address;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Address.
|
||||
public override bool IsValidAddressData(SbmAddress.Data data, SbmAddress.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidAddressData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert Address.
|
||||
public override bool InsertAddress(SbmAddress address, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertAddress";
|
||||
ClearErrorState();
|
||||
if (!IsValidAddress(address)) return false;
|
||||
if (SysId.IsValid(address.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
Address_Db dbAddress = new Address_Db(DbInfo);
|
||||
PopulateTo(dbAddress, address, dbUpdateInfo);
|
||||
if (Address_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbAddress._Id = SysId.ToInt(db.GetNextId("Address", dbUpdateInfo));
|
||||
}
|
||||
dbAddress.ExecuteInsertCommand(dbCommand);
|
||||
address.Id = new SysId(dbAddress._Id);
|
||||
address.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update Address.
|
||||
public override bool UpdateAddress(SbmAddress address, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateAddress";
|
||||
ClearErrorState();
|
||||
if (!IsValidAddress(address)) return false;
|
||||
if (!SysId.IsValid(address.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!address.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve Address.
|
||||
dbConnection.Open();
|
||||
Address_Db dbAddress = new Address_Db(DbInfo);
|
||||
dbAddress.PopulateFrom(dbCommand, aliasAddress, "Id=" + SysId.ToString(address.Id));
|
||||
SbmUpdateLogItemMonitor_Address updateLogMonitor = new SbmUpdateLogItemMonitor_Address(UserContext, CreateAddress(dbAddress));
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbAddress, address, dbUpdateInfo);
|
||||
dbAddress.ExecuteUpdateCommand(dbCommand);
|
||||
address.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
updateLogMonitor.RecordUpdatedValues(address);
|
||||
updateLogMonitor.LogUpdates();
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete Address.
|
||||
public override bool AddressCanBeDeleted(SbmAddress address)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.AddressCanBeDeleted(address)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteAddress(SbmAddress address, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteAddress";
|
||||
ClearErrorState();
|
||||
if (!AddressCanBeDeleted(address)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve Address.
|
||||
dbConnection.Open();
|
||||
Address_Db dbAddress = new Address_Db(DbInfo);
|
||||
dbAddress.PopulateFrom(dbCommand, aliasAddress, "Id=" + address.Id.ToString());
|
||||
// Delete Address.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address) + " WHERE Id=" + SysId.ToString(address.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
address.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted.\n\tId: " + GetLogProperties(address).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(Address_Db dbAddress, SbmAddress address, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbAddress._Id = address.Id.ToInt();
|
||||
dbAddress._ItemType = (short)address.ItemType;
|
||||
dbAddress._ItemId = SysId.ToInt(address.ItemId);
|
||||
dbAddress._AffIdOwner = (address.ItemType == Sbm.ItemType.Affiliate ? SysId.ToInt(address.ItemId) : 0);
|
||||
dbAddress._AddIdRef = SysId.ToInt(address.AddressIdRef);
|
||||
dbAddress._RefExt = address.RefExt;
|
||||
dbAddress._Type = (short)address.AddressType;
|
||||
dbAddress._Name = address.Name;
|
||||
dbAddress._DescBrief = address.DescBrief;
|
||||
dbAddress._Line1 = address.Line1;
|
||||
dbAddress._Line2 = address.Line2;
|
||||
dbAddress._Line3 = address.Line3;
|
||||
dbAddress._City = address.City;
|
||||
dbAddress._Province = address.Province;
|
||||
dbAddress._Postcode = address.Postcode;
|
||||
dbAddress._Country = address.Country;
|
||||
dbAddress._CityRgn = SysId.ToInt(address.RegionIdCity);
|
||||
dbAddress._ProvinceRgn = SysId.ToInt(address.RegionIdProvince);
|
||||
dbAddress._CountryRgn = SysId.ToInt(address.RegionIdCountry);
|
||||
dbAddress._Contact = address.Contact;
|
||||
dbAddress._Phone = address.Phone;
|
||||
dbAddress._Email = address.Email;
|
||||
dbAddress._AccountManagerCode = address.AccountManagerCode;
|
||||
dbAddress._AccountHandlerCode = address.AccountHandlerCode;
|
||||
dbAddress._ContactAreaCode = address.ContactAreaCode;
|
||||
dbAddress._ContactHandlerCode = address.ContactHandlerCode;
|
||||
dbAddress._DeliveryTypeCode = address.DeliveryTypeCode;
|
||||
dbAddress._DeliveryBookInCode = address.DeliveryBookInCode;
|
||||
dbAddress._LastVisitOn = address.LastVisitOn;
|
||||
dbAddress._NextVisitOn = address.NextVisitOn;
|
||||
// Common properties.
|
||||
dbAddress._Notes = address.Notes;
|
||||
dbAddress._Status = SacsSystem.GetStatusCode(address.Status);
|
||||
dbAddress._Flags = (short)address.Flags;
|
||||
if (!SysId.IsValid(address.Id))
|
||||
{
|
||||
dbAddress._CreateOn = DateTime.UtcNow;
|
||||
dbAddress._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAddress._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbAddress._UpdateOn = DateTime.UtcNow;
|
||||
dbAddress._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAddress._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(Address_Db dbAddress, SbmAddress address)
|
||||
{
|
||||
//address.Id = new SysId(dbAddress._Id);
|
||||
//address.ItemType = (Sbm.ItemType)dbAddress._ItemType;
|
||||
//address.ItemId = new SysId(dbAddress._ItemId);
|
||||
address.AddressIdRef = new SysId(dbAddress._AddIdRef);
|
||||
address.RefExt = dbAddress._RefExt;
|
||||
address.AddressType = (Sbm.AddressType)dbAddress._Type;
|
||||
address.Name = dbAddress._Name;
|
||||
address.DescBrief = dbAddress._DescBrief;
|
||||
address.Line1 = dbAddress._Line1;
|
||||
address.Line2 = dbAddress._Line2;
|
||||
address.Line3 = dbAddress._Line3;
|
||||
address.City = dbAddress._City;
|
||||
address.Province = dbAddress._Province;
|
||||
address.Postcode = dbAddress._Postcode;
|
||||
address.Country = dbAddress._Country;
|
||||
address.RegionIdCity = new SysId(dbAddress._CityRgn);
|
||||
address.RegionIdProvince = new SysId(dbAddress._ProvinceRgn);
|
||||
address.RegionIdCountry = new SysId(dbAddress._CountryRgn);
|
||||
address.Contact = dbAddress._Contact;
|
||||
address.Phone = dbAddress._Phone;
|
||||
address.Email = dbAddress._Email;
|
||||
address.AccountManagerCode = dbAddress._AccountManagerCode;
|
||||
address.AccountHandlerCode = dbAddress._AccountHandlerCode;
|
||||
address.ContactAreaCode = dbAddress._ContactAreaCode;
|
||||
address.ContactHandlerCode = dbAddress._ContactHandlerCode;
|
||||
address.DeliveryTypeCode = dbAddress._DeliveryTypeCode;
|
||||
address.DeliveryBookInCode = dbAddress._DeliveryBookInCode;
|
||||
address.LastVisitOn = dbAddress._LastVisitOn;
|
||||
address.NextVisitOn = dbAddress._NextVisitOn;
|
||||
// Common properties.
|
||||
address.Notes = dbAddress._Notes;
|
||||
address.Status = SacsSystem.GetStatusForCode(dbAddress._Status);
|
||||
address.SetCreateStamp(dbAddress._CreateOn, new SysId(dbAddress._CreateBy), dbAddress._CreateHost);
|
||||
address.SetUpdateStamp(dbAddress._UpdateOn, new SysId(dbAddress._UpdateBy), dbAddress._UpdateHost);
|
||||
address.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Address column definitions.
|
||||
private static readonly String aliasAddress = "aAdd";
|
||||
private void SetAddressColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.Address)
|
||||
alias = aliasAddress;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting prmAddress column definition.
|
||||
public override ColumnDfn GetAddressColumnDfn(SbmAddress.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmAddress.Column.Pos:
|
||||
SetAddressColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmAddress.Column.Id:
|
||||
SetAddressColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.Address_Id, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
// Address Properties.
|
||||
case SbmAddress.Column.Type_Desc:
|
||||
SetAddressColDfn(columnDfn, "Type", 70, SbmDbDfn.ColumnIdx.Address_Type, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmAddress.Column.RefExt:
|
||||
SetAddressColDfn(columnDfn, "Ref", 80, SbmDbDfn.ColumnIdx.Address_RefExt);
|
||||
break;
|
||||
case SbmAddress.Column.Name:
|
||||
SetAddressColDfn(columnDfn, "Name", 120, SbmDbDfn.ColumnIdx.Address_Name, ColumnAlignment.Left);
|
||||
break;
|
||||
case SbmAddress.Column.DescBrief:
|
||||
SetAddressColDfn(columnDfn, "Desc Brief", 120, SbmDbDfn.ColumnIdx.Address_DescBrief);
|
||||
break;
|
||||
/*------------------------------------*/
|
||||
case SbmAddress.Column.Summary:
|
||||
SetAddressColDfn(columnDfn, "Address", 240, SbmDbDfn.ColumnIdx.Unknown);
|
||||
break;
|
||||
case SbmAddress.Column.Line1:
|
||||
SetAddressColDfn(columnDfn, "Line1", 100, SbmDbDfn.ColumnIdx.Address_Line1);
|
||||
break;
|
||||
case SbmAddress.Column.Line2:
|
||||
SetAddressColDfn(columnDfn, "Line2", 100, SbmDbDfn.ColumnIdx.Address_Line2);
|
||||
break;
|
||||
case SbmAddress.Column.Line3:
|
||||
SetAddressColDfn(columnDfn, "Line3", 100, SbmDbDfn.ColumnIdx.Address_Line3);
|
||||
break;
|
||||
case SbmAddress.Column.City:
|
||||
SetAddressColDfn(columnDfn, "City", 90, SbmDbDfn.ColumnIdx.Address_City);
|
||||
break;
|
||||
case SbmAddress.Column.Province:
|
||||
SetAddressColDfn(columnDfn, "Province", 90, SbmDbDfn.ColumnIdx.Address_Province);
|
||||
break;
|
||||
case SbmAddress.Column.Postcode:
|
||||
SetAddressColDfn(columnDfn, "Postcode", 80, SbmDbDfn.ColumnIdx.Address_Postcode);
|
||||
break;
|
||||
case SbmAddress.Column.Country:
|
||||
SetAddressColDfn(columnDfn, "Country", 90, SbmDbDfn.ColumnIdx.Address_Country);
|
||||
break;
|
||||
/*------------------------------------*/
|
||||
case SbmAddress.Column.Contact:
|
||||
SetAddressColDfn(columnDfn, "Contact", 100, SbmDbDfn.ColumnIdx.Address_Contact);
|
||||
break;
|
||||
case SbmAddress.Column.Phone:
|
||||
SetAddressColDfn(columnDfn, "Phone", 90, SbmDbDfn.ColumnIdx.Address_Phone);
|
||||
break;
|
||||
case SbmAddress.Column.Fax:
|
||||
SetAddressColDfn(columnDfn, "Fax", 90, SbmDbDfn.ColumnIdx.Address_Fax);
|
||||
break;
|
||||
case SbmAddress.Column.Email:
|
||||
SetAddressColDfn(columnDfn, "Email", 100, SbmDbDfn.ColumnIdx.Address_Email);
|
||||
break;
|
||||
case SbmAddress.Column.LastVisitOn:
|
||||
SetAddressColDfn(columnDfn, "Last Visit On", 80, SbmDbDfn.ColumnIdx.Address_LastVisitOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAddress.Column.NextVisitOn:
|
||||
SetAddressColDfn(columnDfn, "Next Visit On", 80, SbmDbDfn.ColumnIdx.Address_NextVisitOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAddress.Column.IsPrimary:
|
||||
SetAddressColDfn(columnDfn, "Primary", 40, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center);
|
||||
break;
|
||||
|
||||
// Derived properties.
|
||||
|
||||
// Common properties.
|
||||
case SbmAddress.Column.Notes:
|
||||
SetAddressColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.Address_Notes);
|
||||
break;
|
||||
case SbmAddress.Column.Status:
|
||||
SetAddressColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.Address_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmAddress.Column.Status_Desc:
|
||||
SetAddressColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.Address_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmAddress.Column.Status_Ind:
|
||||
SetAddressColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.Address_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmAddress.Column.CreateOn_Date:
|
||||
SetAddressColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.Address_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAddress.Column.UpdateOn_Date:
|
||||
SetAddressColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.Address_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Address query filter.
|
||||
public override List<string> GetAddressQueryFilter(SbmAddress.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// Address Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Id, aliasAddress) + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Id, aliasAddress) + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Address Type.
|
||||
String colAddress_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Type, aliasAddress);
|
||||
if (prm.AddressType > 0)
|
||||
filter.Add(colAddress_Type + "='" + ((int)prm.AddressType).ToString());
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// ItemType & ItemId.
|
||||
if (ItemId.IsValid(prm.ItemId))
|
||||
{
|
||||
List<String> filterItemTypes = new List<String>();
|
||||
// ItemType.
|
||||
String colAddress_ItemType = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_ItemType, aliasAddress);
|
||||
filterItemTypes.Add(colAddress_ItemType + "=" + ((int)prm.ItemId.Type).ToString());
|
||||
String colAddress_ItemId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_ItemId, aliasAddress);
|
||||
filterItemTypes.Add(colAddress_ItemId + "=" + SysId.ToString(prm.ItemId.Id));
|
||||
//ItemId.
|
||||
List<String> filterItemIds = new List<String>();
|
||||
if (!filterItemTypes.IsEmpty())
|
||||
filterItemIds.Add(filterItemTypes.Concat(" AND ", "(", ")"));
|
||||
// Older installations may still be using the 'AffIdOwner' column instead of ItemType/Id.
|
||||
if (ColumnExists(SbmDbDfn.ColumnIdx.Address_AffIdOwner) && prm.ItemId.Type == (int)Sbm.ItemType.Affiliate && ItemId.IsValid(prm.ItemId))
|
||||
filterItemIds.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AffIdOwner, aliasAddress) + "=" + SysId.ToString(prm.ItemId.Id));
|
||||
filter.Add(filterItemIds.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// AffIdOwner.
|
||||
String colAddress_AffIdOwner = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AffIdOwner, aliasAddress);
|
||||
if (SysId.IsValid(prm.AffiliateIdOwner))
|
||||
filter.Add(colAddress_AffIdOwner + "=" + SysId.ToString(prm.AffiliateIdOwner));
|
||||
// AddIdRef.
|
||||
String colAddress_AddIdRef = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AddIdRef, aliasAddress);
|
||||
if (SysId.IsValid(prm.AddressIdRef))
|
||||
filter.Add(colAddress_AddIdRef + "=" + SysId.ToString(prm.AddressIdRef));
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Address RefExt.
|
||||
String colAddress_RefExt = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_RefExt, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.RefExt))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_RefExt, DbQuery.FormatForCondition(prm.RefExt).Length) + "='" + DbQuery.FormatForCondition(prm.RefExt) + "'");
|
||||
|
||||
// Addres Name.
|
||||
String colAddress_Name = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Name, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.Name))
|
||||
filter.Add(colAddress_Name + " = '" + DbQuery.FormatForCondition(prm.Name) + "'");
|
||||
|
||||
// Addresses.
|
||||
if (!StringUtil.IsEmpty(prm.Address))
|
||||
{
|
||||
String colAddress_Line1 = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line1, aliasAddress);
|
||||
String colAddress_Line2 = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line2, aliasAddress);
|
||||
String colAddress_Line3 = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line3, aliasAddress);
|
||||
String colAddress_City = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_City, aliasAddress);
|
||||
String colAddress_Province = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Province, aliasAddress);
|
||||
|
||||
String qryFmtCondAddress = DbQuery.FormatForCondition(prm.Address);
|
||||
|
||||
/*List<String> filterAddress = new List<String>()
|
||||
{
|
||||
DbQuery.FormatFn_Left(colAddress_Line1, qryFmtCondAddress.Length) + "='" + qryFmtCondAddress + "'",
|
||||
DbQuery.FormatFn_Left(colAddress_Line2, qryFmtCondAddress.Length) + "='" + qryFmtCondAddress + "'",
|
||||
DbQuery.FormatFn_Left(colAddress_Line3, qryFmtCondAddress.Length) + "='" + qryFmtCondAddress + "'",
|
||||
DbQuery.FormatFn_Left(colAddress_City, qryFmtCondAddress.Length) + "='" + qryFmtCondAddress + "'",
|
||||
DbQuery.FormatFn_Left(colAddress_Province, qryFmtCondAddress.Length) + "='" + qryFmtCondAddress + "'",
|
||||
};*/
|
||||
List<String> filterAddress = new List<String>();
|
||||
filterAddress.Add(DbQuery.FormatFn_Left(colAddress_Line1, DbQuery.FormatForCondition(prm.Address).Length) + "='" + DbQuery.FormatForCondition(prm.Address) + "'");
|
||||
filterAddress.Add(DbQuery.FormatFn_Left(colAddress_Line2, DbQuery.FormatForCondition(prm.Address).Length) + "='" + DbQuery.FormatForCondition(prm.Address) + "'");
|
||||
filterAddress.Add(DbQuery.FormatFn_Left(colAddress_Line3, DbQuery.FormatForCondition(prm.Address).Length) + "='" + DbQuery.FormatForCondition(prm.Address) + "'");
|
||||
filterAddress.Add(DbQuery.FormatFn_Left(colAddress_City, DbQuery.FormatForCondition(prm.Address).Length) + "='" + DbQuery.FormatForCondition(prm.Address) + "'");
|
||||
filterAddress.Add(DbQuery.FormatFn_Left(colAddress_Province, DbQuery.FormatForCondition(prm.Address).Length) + "='" + DbQuery.FormatForCondition(prm.Address) + "'");
|
||||
filter.Add(filterAddress.Concat(" OR ", "(", ")", true, true));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Postcode.
|
||||
String colAddress_Postcode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Postcode, aliasAddress);
|
||||
String colAddress_PostcodeFmt = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_PostcodeFmt, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.Postcode))
|
||||
{
|
||||
String postcodeFmt = DbQuery.FormatForCondition(StringUtil.EmptyOnNull(prm.Postcode).ReplaceAll(" ", ""));
|
||||
if (!postcodeFmt.IsEmpty())
|
||||
filter.Add("(" + colAddress_PostcodeFmt + "='" + postcodeFmt + "' OR " + colAddress_Postcode + "='" + DbQuery.FormatForCondition(prm.Postcode) + "')");
|
||||
}
|
||||
if (!StringUtil.IsEmpty(prm.PostcodePartial))
|
||||
{
|
||||
String postcodepartialFmt = DbQuery.FormatForCondition(StringUtil.EmptyOnNull(prm.PostcodePartial).ReplaceAll(" ", ""));
|
||||
if (!postcodepartialFmt.IsEmpty())
|
||||
filter.Add("(" + colAddress_PostcodeFmt + "='" + postcodepartialFmt + "' OR " + colAddress_Postcode + "='" + DbQuery.FormatForCondition(prm.Postcode) + "')");
|
||||
}
|
||||
|
||||
// Phone.
|
||||
String colAddress_Phone = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Phone, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.Phone))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_Phone, DbQuery.FormatForCondition(prm.Phone).Length) + " = '" + DbQuery.FormatForCondition(prm.Phone) + "'");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Codings.
|
||||
|
||||
//AccountManagerCode.
|
||||
String colAddress_AccountManagerCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AccountManagerCode, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.AccountManagerCode))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_AccountManagerCode, DbQuery.FormatForCondition(prm.AccountManagerCode).Length) + " = '" + DbQuery.FormatForCondition(prm.AccountManagerCode) + "'");
|
||||
//AccountHandlerCode.
|
||||
String colAddress_AccountHandlerCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_AccountHandlerCode, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.AccountHandlerCode))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_AccountHandlerCode, DbQuery.FormatForCondition(prm.AccountHandlerCode).Length) + " = '" + DbQuery.FormatForCondition(prm.AccountHandlerCode) + "'");
|
||||
//ContactAreaCode.
|
||||
String colAddress_ContactAreaCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_ContactAreaCode, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.ContactAreaCode))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_ContactAreaCode, DbQuery.FormatForCondition(prm.ContactAreaCode).Length) + " = '" + DbQuery.FormatForCondition(prm.ContactAreaCode) + "'");
|
||||
//ContactHandlerCode.
|
||||
String colAddress_ContactHandlerCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_ContactHandlerCode, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.ContactHandlerCode))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_ContactHandlerCode, DbQuery.FormatForCondition(prm.ContactHandlerCode).Length) + " = '" + DbQuery.FormatForCondition(prm.ContactHandlerCode) + "'");
|
||||
//DeliveryTypeCode.
|
||||
String colAddress_DeliveryTypeCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_DeliveryTypeCode, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.DeliveryTypeCode))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_DeliveryTypeCode, DbQuery.FormatForCondition(prm.DeliveryTypeCode).Length) + " = '" + DbQuery.FormatForCondition(prm.DeliveryTypeCode) + "'");
|
||||
//DeliveryBookInCode.
|
||||
String colAddress_DeliveryBookInCode = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_DeliveryBookInCode, aliasAddress);
|
||||
if (!StringUtil.IsEmpty(prm.DeliveryBookInCode))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAddress_DeliveryBookInCode, DbQuery.FormatForCondition(prm.DeliveryBookInCode).Length) + " = '" + DbQuery.FormatForCondition(prm.DeliveryBookInCode) + "'");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Common Properties.
|
||||
|
||||
/* ToDo does it require: Notes.
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial))
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Notes, aliasAddress) + " LIKE '%" + DbQuery.FormatForLike(prm.NotesPartial) + "%'");*/
|
||||
|
||||
// Address Status.
|
||||
if (prm.PrimaryOnly)
|
||||
filter.Add(GetPrimaryAddressFilter(true, aliasAddress));
|
||||
|
||||
/*if (prm.StatusCat == SbmAddress.StatusCat.ActiveOnly)
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Status, aliasAddress) + " = '" + StatusActive + "'");*/
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Primary Address Filter
|
||||
public String GetPrimaryAddressFilter(bool match, String aliasTable)
|
||||
{
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
return DbQuery.BuildBitMappedFilter(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Flags, aliasAddress), SbmAddress.Flag_Primary, match);
|
||||
}
|
||||
|
||||
// Address sort columns.
|
||||
public List<String> GetAddressSortColumns(SbmAddress.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnNames = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for Address columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.Address)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasAddress);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnNames.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnNames.RemoveBlanks();
|
||||
if (sortColumnNames.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnNames.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Type, aliasAddress) + " ASC");
|
||||
}
|
||||
return sortColumnNames;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Address count.
|
||||
private long GetAddressCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address) + " As " + aliasAddress, filter);
|
||||
}
|
||||
public override long GetAddressCount(SbmAddress.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetAddressCount(GetAddressQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Address list.
|
||||
public override List<SbmAddress> GetAddressList(SbmAddress.Params prm)
|
||||
{
|
||||
List<SbmAddress> Addresses = new List<SbmAddress>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Address), aliasAddress);
|
||||
Address_Db dbAddress = new Address_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbAddress.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetAddressQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetAddressSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbAddress = new Address_Db(DbInfo);
|
||||
dbAddress.PopulateFrom(dbDataReader);
|
||||
Addresses.Add(CreateAddress(dbAddress));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetAddressList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return Addresses;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Address query execution.
|
||||
public override DbResultSet AddressExecuteQuery(List<ColumnDfn> columns, SbmAddress.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Construct query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Id, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.Type_Desc))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Type, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.RefExt))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_RefExt, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.Name))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Name, aliasAddress));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line1, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.Line2) || columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Line3, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.City) || columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Province, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.Postcode) || columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Country, aliasAddress));
|
||||
|
||||
if (columns.HasId((int)SbmAddress.Column.Contact))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Contact, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.Phone))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Phone, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.Fax))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Fax, aliasAddress));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_LastVisitOn, aliasAddress));
|
||||
if (columns.HasId((int)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))
|
||||
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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_Status, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_CreateOn, aliasAddress));
|
||||
if (columns.HasId((int)SbmAddress.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Address_UpdateOn, aliasAddress));
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetAddressQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetAddressSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,520 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SbmAccountMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// S y s P a r a m
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmSysParam sysParam)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(sysParam.Id)),
|
||||
new StringPair("Status",sysParam.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create SysParam.
|
||||
public override SbmSysParam CreateSysParam(Sbm.SysParamCategory sysparamCategory, String sysparamName)
|
||||
{
|
||||
return new SbmSysParam_Dbas(UserContext, null, sysparamCategory, sysparamName, 0);
|
||||
|
||||
}
|
||||
private SbmSysParam_Dbas CreateSysParam(SysParam_Db dbSysParam)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmSysParam_Dbas sysparam = new SbmSysParam_Dbas(UserContext, new SysId(dbSysParam._Id), (Sbm.SysParamCategory)dbSysParam._Cat, dbSysParam._Name, (ushort)dbSysParam._Flags);
|
||||
PopulateFrom(dbSysParam, sysparam);
|
||||
return sysparam;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get SysParam.
|
||||
public override SbmSysParam GetSysParam(SbmSysParam.Params prm)
|
||||
{
|
||||
return GetSysParam(GetSysParamQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmSysParam GetSysParam(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetSysParamCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple Sys Params found");
|
||||
return null;
|
||||
}
|
||||
SbmSysParam sysParam = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SysParam_Db dbSysParam = new SysParam_Db(DbInfo);
|
||||
dbSysParam.PopulateFrom(dbCommand, aliasSysParam, filter);
|
||||
sysParam = CreateSysParam(dbSysParam);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetSysParam\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return sysParam;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate SysParam.
|
||||
public override bool IsValidSysParamData(SbmSysParam.Data data, SbmSysParam.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidSysParamData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert SysParam.
|
||||
public override bool InsertSysParam(SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertSysParam";
|
||||
ClearErrorState();
|
||||
if (!IsValidSysParam(sysparam)) return false;
|
||||
if (SysId.IsValid(sysparam.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SysParam_Db dbSysParam = new SysParam_Db(DbInfo);
|
||||
PopulateTo(dbSysParam, sysparam, dbUpdateInfo);
|
||||
if (SysParam_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbSysParam._Id = SysId.ToInt(db.GetNextId("SysParam", dbUpdateInfo));
|
||||
}
|
||||
dbSysParam.ExecuteInsertCommand(dbCommand);
|
||||
sysparam.Id = new SysId(dbSysParam._Id);
|
||||
sysparam.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update SysParam.
|
||||
public override bool UpdateSysParam(SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateSysParam";
|
||||
ClearErrorState();
|
||||
if (!IsValidSysParam(sysparam)) return false;
|
||||
if (!SysId.IsValid(sysparam.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!sysparam.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve SysParam.
|
||||
dbConnection.Open();
|
||||
SysParam_Db dbSysParam = new SysParam_Db(DbInfo);
|
||||
dbSysParam.PopulateFrom(dbCommand, aliasSysParam, "Id=" + SysId.ToString(sysparam.Id));
|
||||
SbmUpdateLogItemMonitor_SysParam updateLogMonitor = new SbmUpdateLogItemMonitor_SysParam(UserContext, CreateSysParam(dbSysParam));
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbSysParam, sysparam, dbUpdateInfo);
|
||||
dbSysParam.ExecuteUpdateCommand(dbCommand);
|
||||
sysparam.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
updateLogMonitor.RecordUpdatedValues(sysparam);
|
||||
updateLogMonitor.LogUpdates();
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete SysParam.
|
||||
public override bool SysParamCanBeDeleted(SbmSysParam sysparam)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.SysParamCanBeDeleted(sysparam)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteSysParam(SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteSysParam";
|
||||
ClearErrorState();
|
||||
if (!SysParamCanBeDeleted(sysparam)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve SysParam.
|
||||
dbConnection.Open();
|
||||
SysParam_Db dbSysParam = new SysParam_Db(DbInfo);
|
||||
dbSysParam.PopulateFrom(dbCommand, aliasSysParam, "Id=" + sysparam.Id.ToString());
|
||||
// Delete SysParam.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SysParam) + " WHERE Id=" + SysId.ToString(sysparam.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
sysparam.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(sysparam).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SysParam_Db dbSysParam, SbmSysParam sysparam, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbSysParam._Id = sysparam.Id.ToInt();
|
||||
dbSysParam._Cat = (short)sysparam.Category;
|
||||
dbSysParam._Name = sysparam.Name;
|
||||
dbSysParam._Value = sysparam.Value;
|
||||
dbSysParam._AffIdOwner = sysparam.AffiliateIdOwner.ToInt();
|
||||
dbSysParam._AffIdTarget = sysparam.AffiliateIdTarget.ToInt();
|
||||
dbSysParam._AssocId = sysparam.AssociationId.ToInt();
|
||||
// Common properties.
|
||||
//dbSysParam._Notes = sysparam.Notes;
|
||||
dbSysParam._Status = SacsSystem.GetStatusCode(sysparam.Status);
|
||||
dbSysParam._Flags = (short)sysparam.Flags;
|
||||
if (!SysId.IsValid(sysparam.Id))
|
||||
{
|
||||
dbSysParam._CreateOn = DateTime.UtcNow;
|
||||
dbSysParam._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSysParam._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbSysParam._UpdateOn = DateTime.UtcNow;
|
||||
dbSysParam._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSysParam._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SysParam_Db dbSysParam, SbmSysParam sysparam)
|
||||
{
|
||||
//sysparam.Id = new SysId(dbSysParam._Id);
|
||||
sysparam.Category = (Sbm.SysParamCategory)dbSysParam._Cat;
|
||||
sysparam.Name = dbSysParam._Name;
|
||||
sysparam.Value = dbSysParam._Value;
|
||||
sysparam.AffiliateIdOwner = new SysId(dbSysParam._AffIdOwner);
|
||||
sysparam.AffiliateIdTarget = new SysId(dbSysParam._AffIdTarget);
|
||||
sysparam.AssociationId = new SysId(dbSysParam._AssocId);
|
||||
// Common properties.
|
||||
//sysparam.Notes = dbSysParam._Notes;
|
||||
sysparam.Status = SacsSystem.GetStatusForCode(dbSysParam._Status);
|
||||
sysparam.SetCreateStamp(dbSysParam._CreateOn, new SysId(dbSysParam._CreateBy), dbSysParam._CreateHost);
|
||||
sysparam.SetUpdateStamp(dbSysParam._UpdateOn, new SysId(dbSysParam._UpdateBy), dbSysParam._UpdateHost);
|
||||
sysparam.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SysParam column definitions.
|
||||
private static readonly String aliasSysParam = "aSysPrm";
|
||||
private void SetSysParamColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SysParam)
|
||||
alias = aliasSysParam;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting prmSysParam column definition.
|
||||
public override ColumnDfn GetSysParamColumnDfn(SbmSysParam.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmSysParam.Column.Pos:
|
||||
SetSysParamColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmSysParam.Column.Id:
|
||||
SetSysParamColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SysParam_Id, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
// SysParam Properties.
|
||||
case SbmSysParam.Column.Category:
|
||||
SetSysParamColDfn(columnDfn, "SysParam Category", 80, SbmDbDfn.ColumnIdx.SysParam_Cat);
|
||||
break;
|
||||
case SbmSysParam.Column.Name:
|
||||
SetSysParamColDfn(columnDfn, "Name", 100, SbmDbDfn.ColumnIdx.SysParam_Name);
|
||||
break;
|
||||
case SbmSysParam.Column.Value:
|
||||
SetSysParamColDfn(columnDfn, "Value", 100, SbmDbDfn.ColumnIdx.SysParam_Value);
|
||||
break;
|
||||
// Derived properties.
|
||||
case SbmSysParam.Column.AffIdOwner:
|
||||
SetSysParamColDfn(columnDfn, "Affiliate Id Owner", 80, SbmDbDfn.ColumnIdx.SysParam_AffIdOwner, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSysParam.Column.AffIdTarget:
|
||||
SetSysParamColDfn(columnDfn, "Affiliate Id Target", 80, SbmDbDfn.ColumnIdx.SysParam_AffIdTarget, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSysParam.Column.AssocId:
|
||||
SetSysParamColDfn(columnDfn, "Assoc Id", 80, SbmDbDfn.ColumnIdx.SysParam_AssocId, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
// Common properties.
|
||||
/*case SbmSysParam.Column.Notes:
|
||||
SetSysParamColDfn(columnDfn, "Notes", 240, SbmDbDfn.ColumnIdx.SysParam_Notes);
|
||||
break;*/
|
||||
case SbmSysParam.Column.Status:
|
||||
SetSysParamColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SysParam_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmSysParam.Column.Status_Desc:
|
||||
SetSysParamColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SysParam_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmSysParam.Column.Status_Ind:
|
||||
SetSysParamColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SysParam_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmSysParam.Column.CreateOn_Date:
|
||||
SetSysParamColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SysParam_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSysParam.Column.UpdateOn_Date:
|
||||
SetSysParamColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SysParam_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SysParam query filter.
|
||||
public override List<string> GetSysParamQueryFilter(SbmSysParam.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// Param Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colSysParam_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Id, aliasSysParam);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colSysParam_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colSysParam_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
// Category.
|
||||
String colSysParam_Cat = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Cat, aliasSysParam);
|
||||
if (prm.Category > 0)
|
||||
filter.Add(colSysParam_Cat + " = '" + ((int)prm.Category).ToString() + "'");
|
||||
|
||||
// Name.
|
||||
String colSysParam_Name = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Name, aliasSysParam);
|
||||
if (!StringUtil.IsEmpty(prm.Name))
|
||||
filter.Add(colSysParam_Name + " = '" + DbQuery.FormatForCondition(prm.Name) + "'");
|
||||
if (!StringUtil.IsEmpty(prm.NamePartial))
|
||||
filter.Add(colSysParam_Name + " LIKE '%" + DbQuery.FormatForLike(prm.NamePartial) + "%'");
|
||||
|
||||
// Affiliate Owner Id.
|
||||
String colSysParam_AffIdOwner = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdOwner, aliasSysParam);
|
||||
if (SysId.IsValid(prm.AffIdOwner))
|
||||
filter.Add(colSysParam_AffIdOwner + " = '" + DbQuery.FormatForCondition(SysId.ToString(prm.AffIdOwner)) + "'");
|
||||
|
||||
// Affiliate Target Id.
|
||||
String colSysParam_AffIdTarget = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdTarget, aliasSysParam);
|
||||
if (SysId.IsValid(prm.AssocId))
|
||||
filter.Add(colSysParam_AffIdTarget + " = '" + DbQuery.FormatForCondition(SysId.ToString(prm.AssocId)) + "'");
|
||||
|
||||
// Association Id.
|
||||
String colSysParam_AssocId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AssocId, aliasSysParam);
|
||||
if (SysId.IsValid(prm.AssocId))
|
||||
filter.Add(colSysParam_AssocId + " = '" + DbQuery.FormatForCondition(SysId.ToString(prm.AssocId)) + "'");
|
||||
|
||||
// Common Properties
|
||||
/* Notes.
|
||||
String colSysParam_Notes = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Notes, aliasSysParam);
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial))
|
||||
filter.Add(colSysParam_Notes + " LIKE '%" + DbQuery.FormatForLike(prm.NotesPartial) + "%'");
|
||||
|
||||
// Status.
|
||||
String colSysParam_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Status, aliasSysParam);
|
||||
if (prm.StatusCat == SbmSysParam.StatusCat.ActiveOnly)
|
||||
filter.Add(colSysParam_Status + " = '" + StatusActive + "'");*/
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
// SysParam sort columns.
|
||||
public List<String> GetSysParamSortColumns(SbmSysParam.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnNames = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for SysParam columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SysParam)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasSysParam);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnNames.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnNames.RemoveBlanks();
|
||||
if (sortColumnNames.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnNames.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdOwner, aliasSysParam) + " ASC");
|
||||
}
|
||||
return sortColumnNames;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SysParam count.
|
||||
private long GetSysParamCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SysParam) + " As " + aliasSysParam, filter);
|
||||
}
|
||||
public override long GetSysParamCount(SbmSysParam.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetSysParamCount(GetSysParamQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SysParam list.
|
||||
public override List<SbmSysParam> GetSysParamList(SbmSysParam.Params prm)
|
||||
{
|
||||
List<SbmSysParam> prmSysParams = new List<SbmSysParam>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SysParam), aliasSysParam);
|
||||
SysParam_Db dbSysParam = new SysParam_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbSysParam.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetSysParamQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetSysParamSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbSysParam = new SysParam_Db(DbInfo);
|
||||
dbSysParam.PopulateFrom(dbDataReader);
|
||||
prmSysParams.Add(CreateSysParam(dbSysParam));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetSysParamList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return prmSysParams;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SysParam query execution.
|
||||
public override DbResultSet ExecuteSysParamQuery(List<ColumnDfn> columns, SbmSysParam.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Construct query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Id, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.Category))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Cat, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.Name))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Name, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.Value))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Value, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.AffIdOwner))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdOwner, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.AffIdTarget))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AffIdTarget, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.AssocId))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_AssocId, aliasSysParam));
|
||||
// Common Properties
|
||||
/*if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_Status, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_CreateOn, aliasSysParam));
|
||||
if (columns.HasId((int)SbmSysParam.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SysParam_UpdateOn, aliasSysParam));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetSysParamQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetSysParamSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,602 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
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)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(systemAccount.Id)),
|
||||
new StringPair("Status",systemAccount.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create SystemAccount.
|
||||
public override SbmSystemAccount CreateSystemAccount(Sbm.SystemAccountType systemAccountType, SysId interfaceId, SysId assocId)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmSystemAccount systemAccount = null;
|
||||
if (SysId.IsValid(AffiliateId_Owner))
|
||||
{
|
||||
if (systemAccountType > 0)
|
||||
systemAccount = new SbmSystemAccount_Dbas(UserContext, new SysId(), AffiliateId_Owner, systemAccountType, interfaceId, assocId, 0);
|
||||
else SetErrorState("Invalid account type");
|
||||
}
|
||||
else SetErrorState("Owner not selected");
|
||||
return systemAccount;
|
||||
}
|
||||
private SbmSystemAccount_Dbas CreateSystemAccount(SystemAccount_Db dbSystemAccount)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmSystemAccount_Dbas systemAccount = new SbmSystemAccount_Dbas(UserContext, 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;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get SystemAccount.
|
||||
public override SbmSystemAccount GetSystemAccount(SbmSystemAccount.Params prm)
|
||||
{
|
||||
return GetSystemAccount(GetSystemAccountQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmSystemAccount GetSystemAccount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetSystemAccountCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple System Accounts found");
|
||||
return null;
|
||||
}
|
||||
SbmSystemAccount systemAccount = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SystemAccount_Db dbSystemAccount = new SystemAccount_Db(DbInfo);
|
||||
dbSystemAccount.PopulateFrom(dbCommand, aliasSystemAccount, filter);
|
||||
systemAccount = CreateSystemAccount(dbSystemAccount);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetSystemAccount\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return systemAccount;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate SystemAccount.
|
||||
public override bool IsValidSystemAccountData(SbmSystemAccount.Data data, SbmSystemAccount.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidSystemAccountData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert SystemAccount.
|
||||
public override bool InsertSystemAccount(SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertSystemAccount";
|
||||
ClearErrorState();
|
||||
if (!IsValidSystemAccount(systemAccount)) return false;
|
||||
if (SysId.IsValid(systemAccount.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SystemAccount_Db dbSystemAccount = new SystemAccount_Db(DbInfo);
|
||||
PopulateTo(dbSystemAccount, systemAccount, dbUpdateInfo);
|
||||
if (SystemAccount_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbSystemAccount._Id = SysId.ToInt(db.GetNextId("SystemAccount", dbUpdateInfo));
|
||||
}
|
||||
dbSystemAccount.ExecuteInsertCommand(dbCommand);
|
||||
systemAccount.Id = new SysId(dbSystemAccount._Id);
|
||||
systemAccount.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update SystemAccount.
|
||||
public override bool UpdateSystemAccount(SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateSystemAccount";
|
||||
ClearErrorState();
|
||||
if (!IsValidSystemAccount(systemAccount)) return false;
|
||||
if (!SysId.IsValid(systemAccount.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!systemAccount.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve SystemAccount.
|
||||
dbConnection.Open();
|
||||
SystemAccount_Db dbSystemAccount = new SystemAccount_Db(DbInfo);
|
||||
dbSystemAccount.PopulateFrom(dbCommand, aliasSystemAccount, "Id=" + SysId.ToString(systemAccount.Id));
|
||||
//SbmUpdateLogItemMonitor_SystemAccount updateLogMonitor = new SbmUpdateLogItemMonitor_SystemAccount(SbmGlobals.SessionProfile.SessionContext, CreateSystemAccount(dbSystemAccount), dbUpdateInfo);
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbSystemAccount, systemAccount, dbUpdateInfo);
|
||||
dbSystemAccount.ExecuteUpdateCommand(dbCommand);
|
||||
systemAccount.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
/*updateLogMonitor.RecordUpdatedValues(systemAccount);
|
||||
updateLogMonitor.LogUpdates();*/
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete SystemAccount.
|
||||
public override bool SystemAccountCanBeDeleted(SbmSystemAccount systemAccount)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.SystemAccountCanBeDeleted(systemAccount)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteSystemAccount(SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteSystemAccount";
|
||||
ClearErrorState();
|
||||
if (!SystemAccountCanBeDeleted(systemAccount)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve SystemAccount.
|
||||
dbConnection.Open();
|
||||
SystemAccount_Db dbSystemAccount = new SystemAccount_Db(DbInfo);
|
||||
dbSystemAccount.PopulateFrom(dbCommand, aliasSystemAccount, "Id=" + systemAccount.Id.ToString());
|
||||
// Delete SystemAccount.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount) + " WHERE Id=" + SysId.ToString(systemAccount.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
systemAccount.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(systemAccount).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SystemAccount_Db dbSystemAccount, SbmSystemAccount systemAccount, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbSystemAccount._Id = systemAccount.Id.ToInt();
|
||||
dbSystemAccount._AffIdOwner = systemAccount.AffiliateIdOwner.ToInt();
|
||||
dbSystemAccount._Type = (short)systemAccount.SystemAccountType;
|
||||
dbSystemAccount._InterfaceId = systemAccount.InterfaceId.ToInt();
|
||||
dbSystemAccount._AssocId = systemAccount.AssociationId.ToInt();
|
||||
dbSystemAccount._Code = systemAccount.Code;
|
||||
dbSystemAccount._Name = systemAccount.Name;
|
||||
dbSystemAccount._AuthCodeEnc = systemAccount.AuthCodeEnc;
|
||||
// Common properties.
|
||||
dbSystemAccount._Notes = systemAccount.Notes;
|
||||
dbSystemAccount._Status = SacsSystem.GetStatusCode(systemAccount.Status);
|
||||
dbSystemAccount._Flags = (short)systemAccount.Flags;
|
||||
if (!SysId.IsValid(systemAccount.Id))
|
||||
{
|
||||
dbSystemAccount._CreateOn = DateTime.UtcNow;
|
||||
dbSystemAccount._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSystemAccount._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbSystemAccount._UpdateOn = DateTime.UtcNow;
|
||||
dbSystemAccount._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSystemAccount._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SystemAccount_Db dbSystemAccount, SbmSystemAccount systemAccount)
|
||||
{
|
||||
//systemAccount.Id = new SysId(dbSystemAccount._Id);
|
||||
systemAccount.AffiliateIdOwner = new SysId(dbSystemAccount._AffIdOwner);
|
||||
systemAccount.SystemAccountType = (Sbm.SystemAccountType)dbSystemAccount._Type;
|
||||
systemAccount.InterfaceId = new SysId(dbSystemAccount._InterfaceId);
|
||||
systemAccount.AssociationId = new SysId(dbSystemAccount._AssocId);
|
||||
systemAccount.Code = dbSystemAccount._Code;
|
||||
systemAccount.Name = dbSystemAccount._Name;
|
||||
systemAccount.AuthCodeEnc = dbSystemAccount._AuthCodeEnc;
|
||||
// Common properties.
|
||||
systemAccount.Notes = dbSystemAccount._Notes;
|
||||
systemAccount.Status = SacsSystem.GetStatusForCode(dbSystemAccount._Status);
|
||||
systemAccount.SetCreateStamp(dbSystemAccount._CreateOn, new SysId(dbSystemAccount._CreateBy), dbSystemAccount._CreateHost);
|
||||
systemAccount.SetUpdateStamp(dbSystemAccount._UpdateOn, new SysId(dbSystemAccount._UpdateBy), dbSystemAccount._UpdateHost);
|
||||
systemAccount.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Table and column aliases.
|
||||
private static readonly String aliasSystemAccount = "aSysAcc";
|
||||
private static readonly String aliasSystemAccount_SysUser = "aSysAccSysUsr";
|
||||
private static readonly String aliasSystemAccount_SysAccUser = "aSysAcc_SysAccUsr";
|
||||
private static readonly String aliasSystemAccount_Association = "aSysAccAss";
|
||||
private static readonly String prefixSystemAccount_Association = "SysAccAss_";
|
||||
private static readonly String aliasSystemAccount_Interface = "aSysAccInt";
|
||||
private static readonly String prefixSystemAccount_Interface = "SysAccInt_";
|
||||
private static readonly String colnameSysAcc_UserCount = "SysAccUsrCount";
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Setting SystemAccount column definitions.
|
||||
private void SetSystemAccountColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SystemAccount)
|
||||
alias = aliasSystemAccount;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting SystemAccount column definition.
|
||||
public override ColumnDfn GetSystemAccountColumnDfn(SbmSystemAccount.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmSystemAccount.Column.Pos:
|
||||
SetSystemAccountColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmSystemAccount.Column.Id:
|
||||
SetSystemAccountColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SystemAccount_Id, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
|
||||
// SystemAccount Properties.
|
||||
case SbmSystemAccount.Column.Code:
|
||||
SetSystemAccountColDfn(columnDfn, "Code", 65, SbmDbDfn.ColumnIdx.SystemAccount_Code);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Name:
|
||||
SetSystemAccountColDfn(columnDfn, "Name", 160, SbmDbDfn.ColumnIdx.SystemAccount_Name);
|
||||
break;
|
||||
case SbmSystemAccount.Column.UserCount:
|
||||
SetSystemAccountColDfn(columnDfn, "Users", 60, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colnameSysAcc_UserCount;
|
||||
break;
|
||||
|
||||
case SbmSystemAccount.Column.Interface_Code:
|
||||
SetSystemAccountColDfn(columnDfn, "Interface code", 80, SbmDbDfn.ColumnIdx.Interface_Code, ColumnAlignment.Center, DataValue.DataType.String, aliasSystemAccount_Interface, prefixSystemAccount_Interface);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Interface_Caption:
|
||||
SetSystemAccountColDfn(columnDfn, "Interface caption", 120, SbmDbDfn.ColumnIdx.Interface_Caption, ColumnAlignment.Left, DataValue.DataType.String, aliasSystemAccount_Interface, prefixSystemAccount_Interface);
|
||||
break;
|
||||
//-----------------------------------------------------------------
|
||||
// Association details:
|
||||
case SbmSystemAccount.Column.Assoc_Status_Desc:
|
||||
SetSystemAccountColDfn(columnDfn, "Assoc Stat", 50, SbmDbDfn.ColumnIdx.Association_Status);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Assoc_Status_Ind:
|
||||
SetSystemAccountColDfn(columnDfn, "Assoc Stat", 70, SbmDbDfn.ColumnIdx.Association_Status, ColumnAlignment.Center, DataValue.DataType.TriState, aliasSystemAccount_Association, prefixSystemAccount_Association);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
// Common properties.
|
||||
case SbmSystemAccount.Column.Notes:
|
||||
SetSystemAccountColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SystemAccount_Notes);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Flag:
|
||||
SetSystemAccountColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SystemAccount_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Status:
|
||||
SetSystemAccountColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemAccount_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Status_Desc:
|
||||
SetSystemAccountColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemAccount_Status);
|
||||
break;
|
||||
case SbmSystemAccount.Column.Status_Ind:
|
||||
SetSystemAccountColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemAccount_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmSystemAccount.Column.CreateOn_Date:
|
||||
SetSystemAccountColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SystemAccount_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSystemAccount.Column.UpdateOn_Date:
|
||||
SetSystemAccountColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SystemAccount_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccount query filter.
|
||||
public override List<string> GetSystemAccountQueryFilter(SbmSystemAccount.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// SystemAccount Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colSystemAccount_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemAccount);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colSystemAccount_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colSystemAccount_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// Affiliate Owner.
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_AffIdOwner, aliasSystemAccount) + "=" + AffiliateId_Owner.ToString());
|
||||
|
||||
// Interface.
|
||||
if (SysId.IsValid(prm.InterfaceId))
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId, aliasSystemAccount) + "=" + prm.InterfaceId.ToString());
|
||||
|
||||
// Association.
|
||||
if (SysId.IsValid(prm.AssocId))
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_AssocId, aliasSystemAccount) + "=" + prm.AssocId.ToString());
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// Partial Code & Name.
|
||||
if (!StringUtil.IsEmpty(prm.CodePartial))
|
||||
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Code, aliasSystemAccount), prm.CodePartial.Length) + "='" + DbQuery.FormatForCondition(prm.CodePartial) + "'");
|
||||
|
||||
if (!StringUtil.IsEmpty(prm.NamePartial))
|
||||
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Name, aliasSystemAccount), prm.NamePartial.Length) + "='" + DbQuery.FormatForCondition(prm.NamePartial) + "'");
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// Exclude Accounts that are already associated with the specified System User (by Interface & Affiliate):
|
||||
if (SysId.IsValid(prm.AffiliateExcludeIdUserAccounts))
|
||||
{
|
||||
// Query SysUsr.
|
||||
DbQuery qryUsr = new DbQuery(db.DbmsType);
|
||||
qryUsr.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), aliasSystemAccount_SysUser);
|
||||
qryUsr.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemAccount_SysUser));
|
||||
qryUsr.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId, aliasSystemAccount_SysUser) + "=" + prm.AffiliateExcludeIdUserAccounts.ToString());
|
||||
if (SysId.IsValid(prm.InterfaceId))
|
||||
qryUsr.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId, aliasSystemAccount_SysUser) + "=" + prm.InterfaceId.ToString());
|
||||
|
||||
// Query SysAccUsr - accounts that are already associated with this user.
|
||||
DbQuery qryAccUsr = new DbQuery(db.DbmsType);
|
||||
qryAccUsr.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemAccount_SysAccUser);
|
||||
qryAccUsr.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccount_SysAccUser));
|
||||
qryAccUsr.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemAccount_SysAccUser) + " IN(" + qryUsr.BuildQuery() + ")");
|
||||
|
||||
// Exclude users that belong to any of these accounts.
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemAccount) + " NOT IN(" + qryAccUsr.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// SystemAccount sort columns.
|
||||
public List<String> GetSystemAccountSortColumns(SbmSystemAccount.Params prm)
|
||||
{
|
||||
// Sort sequence.
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for SystemAccount columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SystemAccount)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasSystemAccount);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Type, aliasSystemAccount) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccount count.
|
||||
private long GetSystemAccountCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount) + " As " + aliasSystemAccount, filter);
|
||||
}
|
||||
public override long GetSystemAccountCount(SbmSystemAccount.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetSystemAccountCount(GetSystemAccountQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccount list.
|
||||
public override List<SbmSystemAccount> GetSystemAccountList(SbmSystemAccount.Params prm)
|
||||
{
|
||||
List<SbmSystemAccount> SystemAccounts = new List<SbmSystemAccount>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount), aliasSystemAccount);
|
||||
SystemAccount_Db dbSystemAccount = new SystemAccount_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbSystemAccount.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetSystemAccountQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetSystemAccountSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbSystemAccount = new SystemAccount_Db(DbInfo);
|
||||
dbSystemAccount.PopulateFrom(dbDataReader);
|
||||
SystemAccounts.Add(CreateSystemAccount(dbSystemAccount));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetSystemAccountList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return SystemAccounts;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccount query execution.
|
||||
public override DbResultSet SystemAccountExecuteQuery(List<ColumnDfn> columns, SbmSystemAccount.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount), aliasSystemAccount);
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// 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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Type));
|
||||
if (columns.HasId((int)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))
|
||||
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)
|
||||
{
|
||||
// Join to the interface table:
|
||||
DbQueryJoin joinInt = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinInt.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Interface), aliasSystemAccount_Interface);
|
||||
joinInt.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Interface_Id, aliasSystemAccount_Interface) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId, aliasSystemAccount));
|
||||
query.Joins.Add(joinInt);
|
||||
// Add the Interface columns.
|
||||
List<SbmDbDfn.ColumnIdx> colInterface = new List<SbmDbDfn.ColumnIdx>();
|
||||
colInterface.Add(SbmDbDfn.ColumnIdx.Interface_Code);
|
||||
colInterface.Add(SbmDbDfn.ColumnIdx.Interface_Caption);
|
||||
foreach (SbmDbDfn.ColumnIdx dbColumn in colInterface)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasSystemAccount_Interface), prefixSystemAccount_Interface + SbmDbDfn.GetColumnName(dbColumn, false));
|
||||
}
|
||||
//--------------------------------------------------------------- -
|
||||
// Association.
|
||||
bool hasAssociationCols = false;
|
||||
if (!hasAssociationCols) hasAssociationCols = columns.HasId((int)SbmSystemAccount.Column.Assoc_Status_Ind);
|
||||
if (hasAssociationCols)
|
||||
{
|
||||
// Join to the Assoc table:
|
||||
DbQueryJoin joinAssoc = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinAssoc.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Association), aliasSystemAccount_Association);
|
||||
joinAssoc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Association_Id, aliasSystemAccount_Association) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_AssocId, aliasSystemAccount));
|
||||
query.Joins.Add(joinAssoc);
|
||||
// Add the Assoc columns.
|
||||
List<SbmDbDfn.ColumnIdx> colAssocation = new List<SbmDbDfn.ColumnIdx>();
|
||||
colAssocation.Add(SbmDbDfn.ColumnIdx.Association_Id);
|
||||
colAssocation.Add(SbmDbDfn.ColumnIdx.Association_Status);
|
||||
foreach (SbmDbDfn.ColumnIdx dbColumn in colAssocation)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasSystemAccount_Association), prefixSystemAccount_Association + SbmDbDfn.GetColumnName(dbColumn, false));
|
||||
}
|
||||
//--------------------------------------------------------------- -
|
||||
// Associated User.
|
||||
|
||||
if (columns.HasId((int)SbmSystemAccount.Column.UserCount))
|
||||
{
|
||||
DbQuery qryUsers = new DbQuery(db.DbmsType);
|
||||
qryUsers.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser));
|
||||
qryUsers.Columns.Add("Count(" + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId) + ")");
|
||||
qryUsers.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemAccount));
|
||||
query.Columns.Add("(" + qryUsers.BuildQuery() + ")", colnameSysAcc_UserCount);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmSystemAccount.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Notes, aliasSystemAccount));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Status, aliasSystemAccount));
|
||||
if (columns.HasId((int)SbmSystemAccount.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_CreateOn, aliasSystemAccount));
|
||||
if (columns.HasId((int)SbmSystemAccount.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_UpdateOn, aliasSystemAccount));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetSystemAccountQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetSystemAccountSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,600 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
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)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(systemAccountUser.Id)),
|
||||
new StringPair("Status",systemAccountUser.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create SystemAccountUser.
|
||||
public override SbmSystemAccountUser CreateSystemAccountUser(SysId accountId, SysId userId)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmSystemAccountUser systemAccountUser = new SbmSystemAccountUser_Dbas(UserContext, accountId, userId, 0);
|
||||
return systemAccountUser;
|
||||
}
|
||||
private SbmSystemAccountUser_Dbas CreateSystemAccountUser(SystemAccountUser_Db dbSystemAccountUser)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmSystemAccountUser_Dbas systemAccountUser = new SbmSystemAccountUser_Dbas(UserContext, new SysId(dbSystemAccountUser._AccountId), new SysId(dbSystemAccountUser._UserId), (ushort)dbSystemAccountUser._Flags);
|
||||
PopulateFrom(dbSystemAccountUser, systemAccountUser);
|
||||
return systemAccountUser;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get SystemAccountUser.
|
||||
public override SbmSystemAccountUser GetSystemAccountUser(SbmSystemAccountUser.Params prm)
|
||||
{
|
||||
return GetSystemAccountUser(GetSystemAccountUserQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmSystemAccountUser GetSystemAccountUser(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetSystemAccountUserCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple System Account Users found");
|
||||
return null;
|
||||
}
|
||||
SbmSystemAccountUser SystemAccountUser = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SystemAccountUser_Db dbSystemAccountUser = new SystemAccountUser_Db(DbInfo);
|
||||
dbSystemAccountUser.PopulateFrom(dbCommand, aliasSystemAccountUser, filter);
|
||||
SystemAccountUser = CreateSystemAccountUser(dbSystemAccountUser);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetSystemAccountUser\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return SystemAccountUser;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate SystemAccountUser.
|
||||
public override bool IsValidSystemAccountUserData(SbmSystemAccountUser.Data data, SbmSystemAccountUser.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidSystemAccountUserData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert SystemAccountUser.
|
||||
public override bool InsertSystemAccountUser(SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertSystemAccountUser";
|
||||
ClearErrorState();
|
||||
if (!IsValidSystemAccountUser(systemAccountUser)) return false;
|
||||
if (SysId.IsValid(systemAccountUser.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
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(db.GetNextId("SystemAccountUser", dbUpdateInfo));
|
||||
}
|
||||
dbSystemAccountUser.ExecuteInsertCommand(dbCommand);
|
||||
systemAccountUser.Id = new SysId(dbSystemAccountUser._AccountId);
|
||||
systemAccountUser.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update SystemAccountUser.
|
||||
public override bool UpdateSystemAccountUser(SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateSystemAccountUser";
|
||||
ClearErrorState();
|
||||
if (!IsValidSystemAccountUser(systemAccountUser)) return false;
|
||||
if (!SysId.IsValid(systemAccountUser.AccountId)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!SysId.IsValid(systemAccountUser.UserId)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!systemAccountUser.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve SystemAccountUser.
|
||||
dbConnection.Open();
|
||||
SystemAccountUser_Db dbSystemAccountUser = new SystemAccountUser_Db(DbInfo);
|
||||
dbSystemAccountUser.PopulateFrom(dbCommand, aliasSystemAccountUser, "UserId=" + SysId.ToString(systemAccountUser.UserId) + "And AccountId=" + SysId.ToString(systemAccountUser.AccountId));
|
||||
//SbmUpdateLogItemMonitor_SystemAccountUser updateLogMonitor = new SbmUpdateLogItemMonitor_SystemAccountUser(SbmGlobals.SessionProfile.SessionContext, CreateSystemAccountUser(dbSystemAccountUser), dbUpdateInfo);
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbSystemAccountUser, systemAccountUser, dbUpdateInfo);
|
||||
dbSystemAccountUser.ExecuteUpdateCommand(dbCommand);
|
||||
systemAccountUser.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
/*updateLogMonitor.RecordUpdatedValues(systemAccountUser);
|
||||
updateLogMonitor.LogUpdates();*/
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete SystemAccountUser.
|
||||
public override bool SystemAccountUserCanBeDeleted(SbmSystemAccountUser systemAccountUser)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.SystemAccountUserCanBeDeleted(systemAccountUser)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteSystemAccountUser(SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteSystemAccountUser";
|
||||
ClearErrorState();
|
||||
if (!SystemAccountUserCanBeDeleted(systemAccountUser)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve SystemAccountUser.
|
||||
dbConnection.Open();
|
||||
SystemAccountUser_Db dbSystemAccountUser = new SystemAccountUser_Db(DbInfo);
|
||||
dbSystemAccountUser.PopulateFrom(dbCommand, aliasSystemAccountUser, "Id=" + systemAccountUser.Id.ToString());
|
||||
// Delete SystemAccountUser.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser) + " WHERE Id=" + SysId.ToString(systemAccountUser.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
systemAccountUser.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(systemAccountUser).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SystemAccountUser_Db dbSystemAccountUser, SbmSystemAccountUser systemAccountUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbSystemAccountUser._AccountId = systemAccountUser.AccountId.ToInt();
|
||||
dbSystemAccountUser._UserId = systemAccountUser.UserId.ToInt();
|
||||
// Common properties.
|
||||
dbSystemAccountUser._Notes = systemAccountUser.Notes;
|
||||
dbSystemAccountUser._Status = SacsSystem.GetStatusCode(systemAccountUser.Status);
|
||||
dbSystemAccountUser._Flags = (short)systemAccountUser.Flags;
|
||||
if (!SysId.IsValid(systemAccountUser.UserId) && !SysId.IsValid(systemAccountUser.AccountId))
|
||||
{
|
||||
dbSystemAccountUser._CreateOn = DateTime.UtcNow;
|
||||
dbSystemAccountUser._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSystemAccountUser._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbSystemAccountUser._UpdateOn = DateTime.UtcNow;
|
||||
dbSystemAccountUser._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSystemAccountUser._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SystemAccountUser_Db dbSystemAccountUser, SbmSystemAccountUser systemAccountUser)
|
||||
{
|
||||
//systemAccountUser.Id = new SysId(dbSystemAccountUser._Id);
|
||||
systemAccountUser.AccountId = new SysId(dbSystemAccountUser._AccountId);
|
||||
systemAccountUser.UserId = new SysId(dbSystemAccountUser._UserId);
|
||||
// Common properties.
|
||||
systemAccountUser.Notes = dbSystemAccountUser._Notes;
|
||||
systemAccountUser.Status = SacsSystem.GetStatusForCode(dbSystemAccountUser._Status);
|
||||
systemAccountUser.SetCreateStamp(dbSystemAccountUser._CreateOn, new SysId(dbSystemAccountUser._CreateBy), dbSystemAccountUser._CreateHost);
|
||||
systemAccountUser.SetUpdateStamp(dbSystemAccountUser._UpdateOn, new SysId(dbSystemAccountUser._UpdateBy), dbSystemAccountUser._UpdateHost);
|
||||
systemAccountUser.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Table and column aliases.
|
||||
private static readonly String aliasSystemAccountUser = "aSysAccUsr";
|
||||
private static readonly String aliasSystemAccountUser_SystemAccount = "aSAUSysAcc";
|
||||
private static readonly String prefixSystemAccountUser_SystemAccount = "SAUSysAcc_";
|
||||
private static readonly String aliasSystemAccountUser_SystemUser = "aSAUSysUsr";
|
||||
private static readonly String prefixSystemAccountUser_SystemUser = "SAUSysUsr_";
|
||||
private static readonly String aliasSystemAccountUser_Affiliate = "aSAUAff";
|
||||
private static readonly String prefixSystemAccountUser_Affiliate = "SAUAff_";
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Setting SystemAccountUser column definitions.
|
||||
private void SetSystemAccountUserColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SystemAccountUser)
|
||||
alias = aliasSystemAccountUser;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting SystemAccountUser column definition.
|
||||
public override ColumnDfn GetSystemAccountUserColumnDfn(SbmSystemAccountUser.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
// SystemAccountUser Properties.
|
||||
case SbmSystemAccountUser.Column.Pos:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Account Details.
|
||||
case SbmSystemAccountUser.Column.AccountId:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Account Id", 60, SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.Account_Code:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Account Code", 80, SbmDbDfn.ColumnIdx.SystemAccount_Code, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemAccountUser_SystemAccount, prefixSystemAccountUser_SystemAccount);
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.Account_Name:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Account Name", 160, SbmDbDfn.ColumnIdx.SystemAccount_Name, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemAccountUser_SystemAccount, prefixSystemAccountUser_SystemAccount);
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// User Details.
|
||||
case SbmSystemAccountUser.Column.UserId:
|
||||
SetSystemAccountUserColDfn(columnDfn, "User Id", 60, SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.User_Code:
|
||||
SetSystemAccountUserColDfn(columnDfn, "User Code", 120, SbmDbDfn.ColumnIdx.SystemUser_Code, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemAccountUser_SystemUser, prefixSystemAccountUser_SystemUser);
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Affiliate-Contact Details.
|
||||
case SbmSystemAccountUser.Column.User_Contact_Email:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Email", 170, SbmDbDfn.ColumnIdx.Affiliate_Email, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemAccountUser_Affiliate, prefixSystemAccountUser_Affiliate);
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.User_Contact_Name:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Name", 170, SbmDbDfn.ColumnIdx.Affiliate_Name, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemAccountUser_Affiliate, prefixSystemAccountUser_Affiliate);
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Common properties.
|
||||
case SbmSystemAccountUser.Column.Notes:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SystemAccountUser_Notes);
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.Flag:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SystemAccountUser_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.Status:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemAccountUser_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.Status_Desc:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemAccountUser_Status);
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.Status_Ind:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemAccountUser_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.CreateOn_Date:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SystemAccountUser_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSystemAccountUser.Column.UpdateOn_Date:
|
||||
SetSystemAccountUserColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SystemAccountUser_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccountUser query filter.
|
||||
public override List<string> GetSystemAccountUserQueryFilter(SbmSystemAccountUser.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// SystemAccountUser Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colSystemAccountUser_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccountUser);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colSystemAccountUser_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colSystemAccountUser_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
|
||||
// Interface Id.
|
||||
if (SysId.IsValid(prm.InterfaceId) && !SysId.IsValid(prm.AssocId) && !SysId.IsValid(prm.AffiliateId))
|
||||
{
|
||||
DbQuery qryAccount = new DbQuery(db.DbmsType);
|
||||
qryAccount.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount));
|
||||
qryAccount.Columns.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_Id));
|
||||
qryAccount.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId) + "=" + prm.InterfaceId.ToString());
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccountUser) + " IN (" + qryAccount.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
// Account Id.
|
||||
if (SysId.IsValid(prm.AccountId))
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccountUser) + "=" + prm.AccountId.ToString());
|
||||
|
||||
// Association Id.
|
||||
if (SysId.IsValid(prm.AssocId))
|
||||
{
|
||||
DbQuery qryAccount = new DbQuery(db.DbmsType);
|
||||
qryAccount.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount));
|
||||
qryAccount.Columns.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_Id));
|
||||
qryAccount.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_AssocId) + "=" + prm.AssocId.ToString());
|
||||
if (SysId.IsValid(prm.InterfaceId))
|
||||
qryAccount.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId) + "=" + prm.InterfaceId.ToString());
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccountUser) + " IN (" + qryAccount.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
// User Id.
|
||||
if (SysId.IsValid(prm.UserId))
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemAccountUser) + "=" + prm.UserId.ToString());
|
||||
|
||||
// Affiliate Id.
|
||||
if (SysId.IsValid(prm.AffiliateId))
|
||||
{
|
||||
DbQuery qryUser = new DbQuery(db.DbmsType);
|
||||
qryUser.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser));
|
||||
qryUser.Columns.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_Id));
|
||||
qryUser.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId) + "=" + prm.AffiliateId.ToString());
|
||||
if (SysId.IsValid(prm.InterfaceId))
|
||||
qryUser.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_InterfaceId) + "=" + prm.InterfaceId.ToString());
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemAccountUser) + " IN (" + qryUser.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Status.
|
||||
if (prm.RestrictToActive)
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_Status, aliasSystemAccountUser) + "='" + StatusActive + "'");
|
||||
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// SystemAccountUser sort columns.
|
||||
public List<String> GetSystemAccountUserSortColumns(SbmSystemAccountUser.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for SystemAccountUser columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SystemAccountUser)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasSystemAccountUser);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemAccountUser) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccountUser count.
|
||||
private long GetSystemAccountUserCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser) + " As " + aliasSystemAccountUser, filter);
|
||||
}
|
||||
public override long GetSystemAccountUserCount(SbmSystemAccountUser.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetSystemAccountUserCount(GetSystemAccountUserQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccountUser list.
|
||||
public override List<SbmSystemAccountUser> GetSystemAccountUserList(SbmSystemAccountUser.Params prm)
|
||||
{
|
||||
List<SbmSystemAccountUser> SystemAccountUseres = new List<SbmSystemAccountUser>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemAccountUser);
|
||||
SystemAccountUser_Db dbSystemAccountUser = new SystemAccountUser_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbSystemAccountUser.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetSystemAccountUserQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetSystemAccountUserSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbSystemAccountUser = new SystemAccountUser_Db(DbInfo);
|
||||
dbSystemAccountUser.PopulateFrom(dbDataReader);
|
||||
SystemAccountUseres.Add(CreateSystemAccountUser(dbSystemAccountUser));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetSystemAccountUserList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return SystemAccountUseres;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemAccountUser query execution.
|
||||
public override DbResultSet SystemAccountUserExecuteQuery(List<ColumnDfn> columns, SbmSystemAccountUser.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemAccountUser);
|
||||
|
||||
// SystemAccountUser Properties - add columns as defined in query list.
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// Account details.
|
||||
if (columns.HasId((int)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));
|
||||
if (colRequired_Account_Code || colRequired_Account_Name)
|
||||
{
|
||||
// Join to the system Account table.
|
||||
DbQueryJoin joinSysUsr = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinSysUsr.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount), aliasSystemAccountUser_SystemAccount);
|
||||
joinSysUsr.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemAccountUser_SystemAccount) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemAccountUser));
|
||||
query.Joins.Add(joinSysUsr);
|
||||
|
||||
// Add the Account columns to the query.
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemAccountUser_SystemAccount), prefixSystemAccountUser_SystemAccount + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_Id));
|
||||
if (colRequired_Account_Code)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Code, aliasSystemAccountUser_SystemAccount), prefixSystemAccountUser_SystemAccount + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_Code));
|
||||
if (colRequired_Account_Name)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Name, aliasSystemAccountUser_SystemAccount), prefixSystemAccountUser_SystemAccount + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccount_Name));
|
||||
//bHasSysAccountTable = true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// User details.
|
||||
if (columns.HasId((int)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));
|
||||
if (colRequired_User_Code || colRequired_User_Email || colRequired_User_Name)
|
||||
{
|
||||
// Join to the system user table.
|
||||
DbQueryJoin joinSysUsr = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinSysUsr.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), aliasSystemAccountUser_SystemUser);
|
||||
joinSysUsr.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemAccountUser_SystemUser) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemAccountUser));
|
||||
query.Joins.Add(joinSysUsr);
|
||||
|
||||
// Add the user columns to the query.
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemAccountUser_SystemUser), prefixSystemAccountUser_SystemUser + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_Id));
|
||||
if (colRequired_User_Code)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Code, aliasSystemAccountUser_SystemUser), prefixSystemAccountUser_SystemUser + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemUser_Code));
|
||||
|
||||
// Are any of the contact's details required.
|
||||
if ((colRequired_User_Email || colRequired_User_Name))
|
||||
{
|
||||
// Join to the user's affiliate.
|
||||
DbQueryJoin joinAff = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinAff.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate), aliasSystemAccountUser_Affiliate);
|
||||
joinAff.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasSystemAccountUser_Affiliate) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId, aliasSystemAccountUser_SystemUser));
|
||||
query.Joins.Add(joinAff);
|
||||
|
||||
// Add the affiliate columns to the query.
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasSystemAccountUser_Affiliate), prefixSystemAccountUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_Id));
|
||||
if (colRequired_User_Email)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Email, aliasSystemAccountUser_Affiliate), prefixSystemAccountUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_Email));
|
||||
if (colRequired_User_Name)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Name, aliasSystemAccountUser_Affiliate), prefixSystemAccountUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_Name));
|
||||
}
|
||||
//bHasSysUserTable = true;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------- -
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmSystemAccountUser.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_Notes, aliasSystemAccountUser));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_Status, aliasSystemAccountUser));
|
||||
if (columns.HasId((int)SbmSystemAccountUser.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_CreateOn, aliasSystemAccountUser));
|
||||
if (columns.HasId((int)SbmSystemAccountUser.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UpdateOn, aliasSystemAccountUser));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetSystemAccountUserQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetSystemAccountUserSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,581 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SbmAccountMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// S y s t e m U s e r s
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmSystemUser systemUser)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(systemUser.Id)),
|
||||
new StringPair("Status",systemUser.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create SystemUser.
|
||||
public override SbmSystemUser CreateSystemUser(SysId interfaceId, SysId affiliateId)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmSystemUser systemUser = null;
|
||||
if (SysId.IsValid(AffiliateId_Owner))
|
||||
systemUser = new SbmSystemUser_Dbas(UserContext, 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(UserContext, new SysId(dbSystemUser._Id), new SysId(dbSystemUser._AffIdOwner), new SysId(dbSystemUser._InterfaceId), new SysId(dbSystemUser._AffiliateId), (ushort)dbSystemUser._Flags);
|
||||
PopulateFrom(dbSystemUser, systemUser);
|
||||
return systemUser;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get SystemUser.
|
||||
public override SbmSystemUser GetSystemUser(SbmSystemUser.Params prm)
|
||||
{
|
||||
return GetSystemUser(GetSystemUserQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmSystemUser GetSystemUser(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetSystemUserCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple System Users found");
|
||||
return null;
|
||||
}
|
||||
SbmSystemUser SystemUser = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SystemUser_Db dbSystemUser = new SystemUser_Db(DbInfo);
|
||||
dbSystemUser.PopulateFrom(dbCommand, aliasSystemUser, filter);
|
||||
SystemUser = CreateSystemUser(dbSystemUser);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetSystemUser\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return SystemUser;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate SystemUser.
|
||||
public override bool IsValidSystemUserData(SbmSystemUser.Data data, SbmSystemUser.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidSystemUserData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert SystemUser.
|
||||
public override bool InsertSystemUser(SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertSystemUser";
|
||||
ClearErrorState();
|
||||
if (!IsValidSystemUser(systemUser)) return false;
|
||||
if (SysId.IsValid(systemUser.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SystemUser_Db dbSystemUser = new SystemUser_Db(DbInfo);
|
||||
PopulateTo(dbSystemUser, systemUser, dbUpdateInfo);
|
||||
if (SystemUser_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbSystemUser._Id = SysId.ToInt(db.GetNextId("SystemUser", dbUpdateInfo));
|
||||
}
|
||||
dbSystemUser.ExecuteInsertCommand(dbCommand);
|
||||
systemUser.Id = new SysId(dbSystemUser._Id);
|
||||
systemUser.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update SystemUser.
|
||||
public override bool UpdateSystemUser(SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateSystemUser";
|
||||
ClearErrorState();
|
||||
if (!IsValidSystemUser(systemUser)) return false;
|
||||
if (!SysId.IsValid(systemUser.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!systemUser.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve prmSystemUser.
|
||||
dbConnection.Open();
|
||||
SystemUser_Db dbSystemUser = new SystemUser_Db(DbInfo);
|
||||
dbSystemUser.PopulateFrom(dbCommand, aliasSystemUser, "Id=" + SysId.ToString(systemUser.Id));
|
||||
//SbmUpdateLogItemMonitor_SystemUser updateLogMonitor = new SbmUpdateLogItemMonitor_SystemUser(SbmGlobals.SessionProfile.SessionContext, CreateSystemUser(dbSystemUser), dbUpdateInfo);
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbSystemUser, systemUser, dbUpdateInfo);
|
||||
dbSystemUser.ExecuteUpdateCommand(dbCommand);
|
||||
systemUser.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
/*updateLogMonitor.RecordUpdatedValues(systemUser);
|
||||
updateLogMonitor.LogUpdates();*/
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete SystemUser.
|
||||
public override bool SystemUserCanBeDeleted(SbmSystemUser systemUser)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.SystemUserCanBeDeleted(systemUser)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteSystemUser(SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteSystemUser";
|
||||
ClearErrorState();
|
||||
if (!SystemUserCanBeDeleted(systemUser)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve prmSystemUser.
|
||||
dbConnection.Open();
|
||||
SystemUser_Db dbSystemUser = new SystemUser_Db(DbInfo);
|
||||
dbSystemUser.PopulateFrom(dbCommand, aliasSystemUser, "Id=" + systemUser.Id.ToString());
|
||||
// Delete prmSystemUser.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser) + " WHERE Id=" + SysId.ToString(systemUser.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
systemUser.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(systemUser).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SystemUser_Db dbSystemUser, SbmSystemUser systemUser, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbSystemUser._Id = systemUser.Id.ToInt();
|
||||
dbSystemUser._AffIdOwner = systemUser.AffiliateIdOwner.ToInt();
|
||||
dbSystemUser._InterfaceId = systemUser.InterfaceId.ToInt();
|
||||
dbSystemUser._AffiliateId = systemUser.AffiliateId.ToInt();
|
||||
dbSystemUser._Code = systemUser.Code;
|
||||
dbSystemUser._AuthCodeEnc = systemUser.AuthCodeEnc;
|
||||
// Common properties.
|
||||
dbSystemUser._Notes = systemUser.Notes;
|
||||
dbSystemUser._Status = SacsSystem.GetStatusCode(systemUser.Status);
|
||||
dbSystemUser._Flags = (short)systemUser.Flags;
|
||||
if (!SysId.IsValid(systemUser.Id))
|
||||
{
|
||||
dbSystemUser._CreateOn = DateTime.UtcNow;
|
||||
dbSystemUser._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSystemUser._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbSystemUser._UpdateOn = DateTime.UtcNow;
|
||||
dbSystemUser._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbSystemUser._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SystemUser_Db dbSystemUser, SbmSystemUser systemUser)
|
||||
{
|
||||
systemUser.Id = new SysId(dbSystemUser._Id);
|
||||
systemUser.AffiliateIdOwner = new SysId(dbSystemUser._AffIdOwner);
|
||||
systemUser.InterfaceId = new SysId(dbSystemUser._InterfaceId);
|
||||
systemUser.AffiliateId = new SysId(dbSystemUser._AffiliateId);
|
||||
systemUser.Code = dbSystemUser._Code;
|
||||
systemUser.AuthCodeEnc = dbSystemUser._AuthCodeEnc;
|
||||
// Common properties.
|
||||
systemUser.Notes = dbSystemUser._Notes;
|
||||
systemUser.Status = SacsSystem.GetStatusForCode(dbSystemUser._Status);
|
||||
systemUser.SetCreateStamp(dbSystemUser._CreateOn, new SysId(dbSystemUser._CreateBy), dbSystemUser._CreateHost);
|
||||
systemUser.SetUpdateStamp(dbSystemUser._UpdateOn, new SysId(dbSystemUser._UpdateBy), dbSystemUser._UpdateHost);
|
||||
systemUser.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Table and column aliases.
|
||||
private static readonly String aliasSystemUser = "aSysUsr";
|
||||
private static readonly String aliasSystemUser_Affiliate = "aSysUsrAff";
|
||||
private static readonly String prefixSystemUser_Affiliate = "SysUsrAff_";
|
||||
private static readonly String aliasSystemUser_SystemAccount = "aSysUsrSysAcc";
|
||||
private static readonly String prefixSystemUser_SystemAccount = "SysUsrSysAcc_";
|
||||
private static readonly String aliasSystemUser_SystemAccountUser = "aSysUsrSysAccUsr";
|
||||
private static readonly String prefixSystemUser_SystemAccountUser = "SysUsrSysAccUsr_";
|
||||
|
||||
private static readonly String colnameSysUsr_AccountCount = "SysUsrAccCount";
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Setting SystemUser column definitions.
|
||||
private void SetSystemUserColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SystemUser)
|
||||
alias = aliasSystemUser;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting SystemUser column definition.
|
||||
public override ColumnDfn GetSystemUserColumnDfn(SbmSystemUser.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
// SystemUser Properties.
|
||||
case SbmSystemUser.Column.Pos:
|
||||
SetSystemUserColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmSystemUser.Column.Id:
|
||||
SetSystemUserColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SystemUser_Id, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSystemUser.Column.Code:
|
||||
SetSystemUserColDfn(columnDfn, "Code", 120, SbmDbDfn.ColumnIdx.SystemUser_Code, ColumnAlignment.Default, DataValue.DataType.String);
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Affiliate details.
|
||||
case SbmSystemUser.Column.Contact_Name:
|
||||
SetSystemUserColDfn(columnDfn, "Name", 120, SbmDbDfn.ColumnIdx.Affiliate_Name, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemUser_Affiliate, prefixSystemUser_Affiliate);
|
||||
break;
|
||||
case SbmSystemUser.Column.Contact_Email:
|
||||
SetSystemUserColDfn(columnDfn, "Email", 120, SbmDbDfn.ColumnIdx.Affiliate_Email, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemUser_Affiliate, prefixSystemUser_Affiliate);
|
||||
break;
|
||||
case SbmSystemUser.Column.Contact_PhoneMain:
|
||||
SetSystemUserColDfn(columnDfn, "Phone", 85, SbmDbDfn.ColumnIdx.Affiliate_PhoneMain, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemUser_Affiliate, prefixSystemUser_Affiliate);
|
||||
break;
|
||||
case SbmSystemUser.Column.Contact_PhoneMobile:
|
||||
SetSystemUserColDfn(columnDfn, "Mobile", 85, SbmDbDfn.ColumnIdx.Affiliate_PhoneMobile, ColumnAlignment.Default, DataValue.DataType.String, aliasSystemUser_Affiliate, prefixSystemUser_Affiliate);
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Associated details.
|
||||
case SbmSystemUser.Column.AccountCount:
|
||||
SetSystemUserColDfn(columnDfn, "Accounts", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = colnameSysUsr_AccountCount;
|
||||
break;
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Common properties.
|
||||
case SbmSystemUser.Column.Notes:
|
||||
SetSystemUserColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SystemUser_Notes);
|
||||
break;
|
||||
case SbmSystemUser.Column.Flag:
|
||||
SetSystemUserColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SystemUser_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmSystemUser.Column.Status:
|
||||
SetSystemUserColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemUser_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmSystemUser.Column.Status_Desc:
|
||||
SetSystemUserColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemUser_Status);
|
||||
break;
|
||||
case SbmSystemUser.Column.Status_Ind:
|
||||
SetSystemUserColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SystemUser_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmSystemUser.Column.CreateOn_Date:
|
||||
SetSystemUserColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SystemUser_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmSystemUser.Column.UpdateOn_Date:
|
||||
SetSystemUserColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SystemUser_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemUser query filter.
|
||||
public override List<string> GetSystemUserQueryFilter(SbmSystemUser.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// SystemUser Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colSystemUser_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemUser);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colSystemUser_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colSystemUser_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Owner.
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_AffIdOwner, aliasSystemUser) + "=" + AffiliateId_Owner.ToString());
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Code Partial.
|
||||
if (!StringUtil.IsEmpty(prm.CodePartial))
|
||||
{
|
||||
;
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Code, aliasSystemAccount) + " LIKE '" + DbQuery.FormatForLike(prm.CodePartial) + "%'");
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Email Partial - link to affiliate.
|
||||
if (!StringUtil.IsEmpty(prm.EmailPartial))
|
||||
{
|
||||
// Query contacts (affiliates) by partial email.
|
||||
DbQuery qryAff = new DbQuery(db.DbmsType);
|
||||
qryAff.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate), aliasSystemUser_Affiliate);
|
||||
qryAff.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasSystemUser_Affiliate));
|
||||
qryAff.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Email, aliasSystemUser_Affiliate) + " LIKE '" + DbQuery.FormatForLike(prm.EmailPartial) + "%'");
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId) + " IN(" + qryAff.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Exclude Users that are already associated with the specified System Account by Interface & Association.
|
||||
if (SysId.IsValid(prm.AssocationExcludeIdUserAccounts))
|
||||
{
|
||||
// Query system account.
|
||||
DbQuery qrySysAcc = new DbQuery(db.DbmsType);
|
||||
qrySysAcc.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount), aliasSystemUser_SystemAccount);
|
||||
qrySysAcc.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_Id, aliasSystemUser_SystemAccount));
|
||||
qrySysAcc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_AssocId, aliasSystemUser_SystemAccount) + "=" + prm.AssocationExcludeIdUserAccounts.ToString());
|
||||
if (SysId.IsValid(prm.InterfaceId))
|
||||
qrySysAcc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccount_InterfaceId, aliasSystemUser_SystemAccount) + "=" + prm.InterfaceId.ToString());
|
||||
|
||||
// Query users that belong to this account.
|
||||
DbQuery qrySysAccUsr = new DbQuery(db.DbmsType);
|
||||
qrySysAccUsr.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemUser_SystemAccountUser);
|
||||
qrySysAccUsr.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId, aliasSystemUser_SystemAccountUser));
|
||||
qrySysAccUsr.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId, aliasSystemUser_SystemAccountUser) + " IN(" + qrySysAcc.BuildQuery() + ")");
|
||||
|
||||
// Exclude users that belong to any of these accounts:
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id) + " NOT IN(" + qrySysAccUsr.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// SystemUser sort columns.
|
||||
public List<String> GetSystemUserSortColumns(SbmSystemUser.Params prm)
|
||||
{
|
||||
// Sort sequence.
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for SystemUser columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SystemUser)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasSystemUser);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_AffIdOwner, aliasSystemUser) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemUser count.
|
||||
private long GetSystemUserCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser) + " As " + aliasSystemUser, filter);
|
||||
}
|
||||
public override long GetSystemUserCount(SbmSystemUser.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetSystemUserCount(GetSystemUserQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemUser list.
|
||||
public override List<SbmSystemUser> GetSystemUserList(SbmSystemUser.Params prm)
|
||||
{
|
||||
List<SbmSystemUser> SystemUseres = new List<SbmSystemUser>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemUser), aliasSystemUser);
|
||||
SystemUser_Db dbSystemUser = new SystemUser_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbSystemUser.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetSystemUserQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetSystemUserSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbSystemUser = new SystemUser_Db(DbInfo);
|
||||
dbSystemUser.PopulateFrom(dbDataReader);
|
||||
SystemUseres.Add(CreateSystemUser(dbSystemUser));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetSystemUserList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return SystemUseres;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// SystemUser query execution.
|
||||
public override DbResultSet SystemUserExecuteQuery(List<ColumnDfn> columns, SbmSystemUser.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemUser));
|
||||
if (columns.HasId((int)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);
|
||||
if (hasCol_ContactEmail || hasCol_ContactName || hasCol_ContactPhoneMain || hasCol_ContactPhoneMobile)
|
||||
{
|
||||
// Join to the contact (affiliate) table.
|
||||
DbQueryJoin joinAff = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinAff.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Affiliate), aliasSystemUser_Affiliate);
|
||||
joinAff.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasSystemUser_Affiliate) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_AffiliateId, aliasSystemUser));
|
||||
query.Joins.Add(joinAff);
|
||||
|
||||
// Add the user columns to the query.
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Id, aliasSystemUser_Affiliate), prefixSystemUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_Id));
|
||||
if (hasCol_ContactName)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Name, aliasSystemUser_Affiliate), prefixSystemUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_Name));
|
||||
if (hasCol_ContactEmail)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_Email, aliasSystemUser_Affiliate), prefixSystemUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_Email));
|
||||
if (hasCol_ContactPhoneMain)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_PhoneMain, aliasSystemUser_Affiliate), prefixSystemUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_PhoneMain));
|
||||
if (hasCol_ContactPhoneMobile)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Affiliate_PhoneMobile, aliasSystemUser_Affiliate), prefixSystemUser_Affiliate + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.Affiliate_PhoneMobile));
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Number of associated accounts:
|
||||
if (columns.HasId((int)SbmSystemUser.Column.AccountCount))
|
||||
{
|
||||
DbQuery qryAccounts = new DbQuery(db.DbmsType);
|
||||
qryAccounts.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccountUser), aliasSystemUser_SystemAccountUser);
|
||||
qryAccounts.Columns.Add("Count(" + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_AccountId) + ")", aliasSystemUser_SystemAccountUser);
|
||||
qryAccounts.Filters.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SystemAccountUser_UserId) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Id, aliasSystemUser));
|
||||
query.Columns.Add("(" + qryAccounts.BuildQuery() + ")", colnameSysUsr_AccountCount);
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmSystemUser.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Notes, aliasSystemUser));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_Status, aliasSystemUser));
|
||||
if (columns.HasId((int)SbmSystemUser.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_CreateOn, aliasSystemUser));
|
||||
if (columns.HasId((int)SbmSystemUser.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SystemUser_UpdateOn, aliasSystemUser));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetSystemUserQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetSystemUserSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
internal partial class SbmAccountMgr_Dbas : SbmAccountMgr
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private SacsDatabase db = null;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAccountMgr_Dbas(SbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetDatabase(SessionContext) as SacsDatabase);
|
||||
DbInfo = new SbmDbDataItem.SbmDatabaseInfo(db.DatabaseName, db.GetTableDfns());
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing)
|
||||
{
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
protected ISacsDatabase Database { get { return db; } }
|
||||
protected SbmDbDataItem.SbmDatabaseInfo DbInfo { get; }
|
||||
public override bool SystemAccountDatabaseIsValid { get { return Database.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SystemAccount)); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,811 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SbmAssetMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// A s s e t
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmAsset asset)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(asset.Id)),
|
||||
new StringPair("DescBrief",asset.DescBrief),
|
||||
new StringPair("Status",asset.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get Asset.
|
||||
public override SbmAsset GetAsset(SbmAsset.Params prm)
|
||||
{
|
||||
return GetAsset(GetAssetQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmAsset GetAsset(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetAssetCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple Assets found");
|
||||
return null;
|
||||
}
|
||||
SbmAsset asset = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaAsset_Db dbAsset = new SaAsset_Db(DbInfo);
|
||||
dbAsset.PopulateFrom(dbCommand, aliasAsset, filter);
|
||||
asset = CreateAsset(dbAsset);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetAsset\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return asset;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create Asset.
|
||||
public override SbmAsset CreateAsset(SysId assetCatId)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmAsset asset = null;
|
||||
if (SysId.IsValid(assetCatId))
|
||||
asset = new SbmAsset_Dbas(UserContext, 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(UserContext, new SysId(dbAsset._Id), new SysId(dbAsset._AssetCategoryId), (ushort)dbAsset._Flags);
|
||||
PopulateFrom(dbAsset, asset);
|
||||
return asset;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Asset.
|
||||
public override bool IsValidAssetData(SbmAsset.Data data, SbmAsset.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidAssetData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert Asset.
|
||||
public override bool InsertAsset(SbmAsset asset, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertAsset";
|
||||
ClearErrorState();
|
||||
if (!IsValidAsset(asset)) return false;
|
||||
if (SysId.IsValid(asset.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaAsset_Db dbAsset = new SaAsset_Db(DbInfo);
|
||||
PopulateTo(dbAsset, asset, dbUpdateInfo);
|
||||
if (SaAsset_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbAsset._Id = SysId.ToInt(db.GetNextId("Asset", dbUpdateInfo));
|
||||
}
|
||||
dbAsset.ExecuteInsertCommand(dbCommand);
|
||||
asset.Id = new SysId(dbAsset._Id);
|
||||
asset.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(asset).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update Asset.
|
||||
public override bool UpdateAsset(SbmAsset asset, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateAsset";
|
||||
ClearErrorState();
|
||||
if (!IsValidAsset(asset)) return false;
|
||||
if (!SysId.IsValid(asset.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!asset.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(asset).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve Asset.
|
||||
dbConnection.Open();
|
||||
SaAsset_Db dbAsset = new SaAsset_Db(DbInfo);
|
||||
dbAsset.PopulateFrom(dbCommand, aliasAsset, "Id=" + SysId.ToString(asset.Id));
|
||||
SbmUpdateLogItemMonitor_Asset updateLogMonitor = new SbmUpdateLogItemMonitor_Asset(UserContext, CreateAsset(dbAsset));
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbAsset, asset, dbUpdateInfo);
|
||||
dbAsset.ExecuteUpdateCommand(dbCommand);
|
||||
asset.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated." + GetLogProperties(asset).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
updateLogMonitor.RecordUpdatedValues(asset);
|
||||
updateLogMonitor.LogUpdates();
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete Asset.
|
||||
public override bool AssetCanBeDeleted(SbmAsset asset)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.AssetCanBeDeleted(asset)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteAsset(SbmAsset asset, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertAsset";
|
||||
ClearErrorState();
|
||||
if (!AssetCanBeDeleted(asset)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve Asset.
|
||||
dbConnection.Open();
|
||||
SaAsset_Db dbAsset = new SaAsset_Db(DbInfo);
|
||||
dbAsset.PopulateFrom(dbCommand, aliasAsset, "Id=" + asset.Id.ToString());
|
||||
// Delete Asset.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset) + " WHERE Id=" + SysId.ToString(asset.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
asset.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted." + GetLogProperties(asset).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SaAsset_Db dbAsset, SbmAsset asset, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbAsset._Id = asset.Id.ToInt();
|
||||
dbAsset._AssetCategoryId = asset.AssetCategoryId.ToInt();
|
||||
dbAsset._SerialNumber = asset.SerialNumber;
|
||||
dbAsset._RefExt = asset.RefExt;
|
||||
dbAsset._DescBrief = asset.DescBrief;
|
||||
dbAsset._ItemType = asset.ItemId.Type;
|
||||
dbAsset._ItemId = SysId.ToInt(asset.ItemId.Id);
|
||||
dbAsset._PurchaseOn = asset.PurchaseOn;
|
||||
dbAsset._AssocIdSupplier = asset.AssocIdSupplier.ToInt();
|
||||
dbAsset._PurchaseInvoiceRef = asset.PurchaseInvoiceRef;
|
||||
dbAsset._PaymentTerms = asset.PaymentTerms;
|
||||
dbAsset._AmountPurchase = asset.AmountPurchase;
|
||||
dbAsset._TaxCodeIdPurchase = asset.TaxCodeIdPurchase.ToInt();
|
||||
dbAsset._AmountPurchaseGross = asset.AmountPurchaseGross;
|
||||
dbAsset._AmountSettlementGross = asset.AmountSettlementGross;
|
||||
dbAsset._AmountEnhancementGross = asset.AmountEnhancementGross;
|
||||
dbAsset._AssocIdCustomer = asset.AssocIdCustomer.ToInt();
|
||||
dbAsset._SellCategoryCode = asset.SellCategoryCode;
|
||||
dbAsset._AmountSell = asset.AmountSell;
|
||||
dbAsset._TaxCodeIdSell = asset.TaxCodeIdSell.ToInt();
|
||||
dbAsset._AmountSellGross = asset.AmountSellGross;
|
||||
dbAsset._TaxCodeIdProfit = asset.TaxCodeIdProfit.ToInt();
|
||||
dbAsset._SoldOn = asset.SoldOn;
|
||||
dbAsset._AmountSold = asset.AmountSold;
|
||||
dbAsset._AmountSoldGross = asset.AmountSoldGross;
|
||||
dbAsset._DisposeCode = asset.DisposeCode;
|
||||
dbAsset._DisposeOn = asset.DisposeOn;
|
||||
dbAsset._DueBackOn = asset.DueBackOn;
|
||||
dbAsset._AmountRentalCost = asset.AmountRentalCost;
|
||||
dbAsset._UomIdRentalCost = asset.UomIdRentalCost.ToInt();
|
||||
dbAsset._TaxCodeIdRentalCost = asset.TaxCodeIdRentalCost.ToInt();
|
||||
dbAsset._AmountRentalPrice = asset.AmountRentalPrice;
|
||||
dbAsset._UomIdRentalPrice = asset.UomIdRentalPrice.ToInt();
|
||||
dbAsset._TaxCodeIdRentalPrice = asset.TaxCodeIdRentalPrice.ToInt();
|
||||
dbAsset._ProcessIdNext = asset.ProcessIdNext.ToInt();
|
||||
// Common properties.
|
||||
dbAsset._Notes = asset.Notes;
|
||||
dbAsset._Status = SacsSystem.GetStatusCode(asset.Status);
|
||||
dbAsset._Flags = (short)asset.Flags;
|
||||
if (!SysId.IsValid(asset.Id))
|
||||
{
|
||||
dbAsset._CreateOn = DateTime.UtcNow;
|
||||
dbAsset._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAsset._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbAsset._UpdateOn = DateTime.UtcNow;
|
||||
dbAsset._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAsset._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SaAsset_Db dbAsset, SbmAsset asset)
|
||||
{
|
||||
asset.AssetCategoryId = new SysId(dbAsset._AssetCategoryId);
|
||||
asset.SerialNumber = dbAsset._SerialNumber;
|
||||
asset.RefExt = dbAsset._RefExt;
|
||||
asset.DescBrief = dbAsset._DescBrief;
|
||||
asset.ItemId = new ItemId(dbAsset._ItemType, new SysId(dbAsset._ItemId));
|
||||
asset.PurchaseOn = dbAsset._PurchaseOn;
|
||||
asset.AssocIdSupplier = new SysId(dbAsset._AssocIdSupplier);
|
||||
asset.PurchaseInvoiceRef = dbAsset._PurchaseInvoiceRef;
|
||||
asset.PaymentTerms = dbAsset._PaymentTerms;
|
||||
asset.AmountPurchase = dbAsset._AmountPurchase;
|
||||
asset.TaxCodeIdPurchase = new SysId(dbAsset._TaxCodeIdPurchase);
|
||||
asset.AmountPurchaseGross = dbAsset._AmountPurchaseGross;
|
||||
asset.AmountSettlementGross = dbAsset._AmountSettlementGross;
|
||||
asset.AmountEnhancementGross = dbAsset._AmountEnhancementGross;
|
||||
asset.AssocIdCustomer = new SysId(dbAsset._AssocIdCustomer);
|
||||
asset.SellCategoryCode = dbAsset._SellCategoryCode;
|
||||
asset.AmountSell = dbAsset._AmountSell;
|
||||
asset.TaxCodeIdSell = new SysId(dbAsset._TaxCodeIdSell);
|
||||
asset.AmountSellGross = dbAsset._AmountSellGross;
|
||||
asset.TaxCodeIdProfit = new SysId(dbAsset._TaxCodeIdProfit);
|
||||
asset.SoldOn = dbAsset._SoldOn;
|
||||
asset.AmountSold = dbAsset._AmountSold;
|
||||
asset.AmountSoldGross = dbAsset._AmountSoldGross;
|
||||
asset.DisposeCode = dbAsset._DisposeCode;
|
||||
asset.DisposeOn = dbAsset._DisposeOn;
|
||||
asset.DueBackOn = dbAsset._DueBackOn;
|
||||
asset.AmountRentalCost = dbAsset._AmountRentalCost;
|
||||
asset.UomIdRentalCost = new SysId(dbAsset._UomIdRentalCost);
|
||||
asset.TaxCodeIdRentalCost = new SysId(dbAsset._TaxCodeIdRentalCost);
|
||||
asset.AmountRentalPrice = dbAsset._AmountRentalPrice;
|
||||
asset.UomIdRentalPrice = new SysId(dbAsset._UomIdRentalPrice);
|
||||
asset.TaxCodeIdRentalPrice = new SysId(dbAsset._TaxCodeIdRentalPrice);
|
||||
asset.ProcessIdNext = new SysId(dbAsset._ProcessIdNext);
|
||||
// Common properties.
|
||||
asset.Notes = dbAsset._Notes;
|
||||
asset.Status = SacsSystem.GetStatusForCode(dbAsset._Status);
|
||||
asset.SetCreateStamp(dbAsset._CreateOn, new SysId(dbAsset._CreateBy), dbAsset._CreateHost);
|
||||
asset.SetUpdateStamp(dbAsset._UpdateOn, new SysId(dbAsset._UpdateBy), dbAsset._UpdateHost);
|
||||
asset.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Asset column definitions.
|
||||
private static readonly String aliasAsset = "aAst";
|
||||
private static readonly String prefixAsset = "Ast_";
|
||||
// AssetCategory Alias&Prefix.
|
||||
private static readonly String aliasAsset_AssetCategory = "aAstAstCat";
|
||||
private static readonly String prefixAsset_AssetCategory = "AstAstCat_";
|
||||
// AssetProcess Alias&Prefix.
|
||||
private static readonly String aliasAsset_AssetProcess = "aAstAstPrc";
|
||||
private static readonly String prefixAsset_AssetProcess = "AstAstPrc_";
|
||||
// ItemProcess Alias&Prefix.
|
||||
private static readonly String aliasAsset_ItemProcess = "aAstItmPrc";
|
||||
private static readonly String prefixAsset_ItemProcess = "AstItmPrc_";
|
||||
// Vehicle Alias&Prefix.
|
||||
private static readonly String aliasAsset_Vehicle = "aAstVeh";
|
||||
private static readonly String prefixAsset_Vehicle = "AstVeh_";
|
||||
// VehicleClass Alias&Prefix.
|
||||
private static readonly String aliasAsset_VehicleClass = "aAstVehCls";
|
||||
private static readonly String prefixAsset_VehicleClass = "AstVehCls_";
|
||||
|
||||
private void SetAssetColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataCategoryId = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SaAsset)
|
||||
alias = aliasAsset;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataCategoryId, align);
|
||||
if (dataCategoryId == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Getting Asset column definition.
|
||||
public override ColumnDfn GetAssetColumnDfn(SbmAsset.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmAsset.Column.Pos:
|
||||
SetAssetColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmAsset.Column.Id:
|
||||
SetAssetColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SaAsset_Id, ColumnAlignment.Right, DataValue.DataType.Long, aliasAsset, prefixAsset);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
|
||||
// Asset Properties.
|
||||
case SbmAsset.Column.AssetCategoryId:
|
||||
SetAssetColDfn(columnDfn, "Cat Id", 45, SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAsset.Column.Category_Type_Desc:
|
||||
SetAssetColDfn(columnDfn, "Category type", 70, SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, ColumnAlignment.Center, DataValue.DataType.String, aliasAsset_AssetCategory, prefixAsset_AssetCategory);
|
||||
break;
|
||||
case SbmAsset.Column.Category_Code:
|
||||
SetAssetColDfn(columnDfn, "Category code", 80, SbmDbDfn.ColumnIdx.SaAssetCategory_Code, ColumnAlignment.Center, DataValue.DataType.String, aliasAsset_AssetCategory, prefixAsset_AssetCategory);
|
||||
break;
|
||||
case SbmAsset.Column.Category_DescBrief:
|
||||
SetAssetColDfn(columnDfn, "Category", 100, SbmDbDfn.ColumnIdx.SaAsset_DescBrief, ColumnAlignment.Default, DataValue.DataType.String, aliasAsset_AssetCategory, prefixAsset_AssetCategory);
|
||||
break;
|
||||
case SbmAsset.Column.SerialNumber:
|
||||
SetAssetColDfn(columnDfn, "Serial", 80, SbmDbDfn.ColumnIdx.SaAsset_SerialNumber);
|
||||
break;
|
||||
case SbmAsset.Column.DescBrief:
|
||||
SetAssetColDfn(columnDfn, "Desc", 140, SbmDbDfn.ColumnIdx.SaAsset_DescBrief);
|
||||
break;
|
||||
case SbmAsset.Column.PurchaseOn:
|
||||
break;
|
||||
case SbmAsset.Column.AmountPurchase:
|
||||
SetAssetColDfn(columnDfn, "Purchase (net)", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountPurchase, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.AmountPurchaseGross:
|
||||
SetAssetColDfn(columnDfn, "Purchase", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountPurchaseGross, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.SellCategoryDesc:
|
||||
SetAssetColDfn(columnDfn, "Sale category", 90, SbmDbDfn.ColumnIdx.SaAsset_SellCategoryCode);
|
||||
break;
|
||||
case SbmAsset.Column.AmountSell:
|
||||
SetAssetColDfn(columnDfn, "Sell (net)", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountSell, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.AmountSellGross:
|
||||
SetAssetColDfn(columnDfn, "Sell", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountSellGross, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.SoldOn:
|
||||
break;
|
||||
case SbmAsset.Column.AmountSold:
|
||||
SetAssetColDfn(columnDfn, "Amount sold", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountSold, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.DisposeCode:
|
||||
break;
|
||||
case SbmAsset.Column.DisposeOn:
|
||||
break;
|
||||
case SbmAsset.Column.DueBackOn:
|
||||
break;
|
||||
case SbmAsset.Column.AmountRentalCost:
|
||||
SetAssetColDfn(columnDfn, "Rental cost", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountRentalCost, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.UomRentalCost_Id:
|
||||
SetAssetColDfn(columnDfn, "Rental cost unit#", 80, SbmDbDfn.ColumnIdx.SaAsset_UomIdRentalCost, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAsset.Column.UomRentalCost_Desc:
|
||||
break;
|
||||
case SbmAsset.Column.AmountRentalPrice:
|
||||
SetAssetColDfn(columnDfn, "Rental price", 80, SbmDbDfn.ColumnIdx.SaAsset_AmountRentalPrice, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 2;
|
||||
break;
|
||||
case SbmAsset.Column.UomRentalPrice_Id:
|
||||
SetAssetColDfn(columnDfn, "Rental price unit#", 80, SbmDbDfn.ColumnIdx.SaAsset_UomIdRentalPrice, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAsset.Column.UomRentalPrice_Desc:
|
||||
break;
|
||||
case SbmAsset.Column.ProcessIdNext:
|
||||
SetAssetColDfn(columnDfn, "Next Process #", 80, SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAsset.Column.NextProcess_DescBrief:
|
||||
SetAssetColDfn(columnDfn, "Next Process", 100, SbmDbDfn.ColumnIdx.Process_DescBrief, ColumnAlignment.Left, DataValue.DataType.String, aliasAsset_AssetProcess, prefixAsset_AssetProcess);
|
||||
break;
|
||||
case SbmAsset.Column.NextProcess_Expected:
|
||||
SetAssetColDfn(columnDfn, "Next Process due", 100, SbmDbDfn.ColumnIdx.ItemLink_Completed, ColumnAlignment.Center, DataValue.DataType.Date, aliasAsset_ItemProcess, prefixAsset_ItemProcess);
|
||||
break;
|
||||
|
||||
// Common properties.
|
||||
case SbmAsset.Column.Notes:
|
||||
SetAssetColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SaAsset_Notes);
|
||||
break;
|
||||
case SbmAsset.Column.Flag:
|
||||
SetAssetColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SaAsset_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAsset.Column.Status:
|
||||
SetAssetColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAsset_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmAsset.Column.Status_Desc:
|
||||
SetAssetColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAsset_Status);
|
||||
break;
|
||||
case SbmAsset.Column.Status_Ind:
|
||||
SetAssetColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAsset_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmAsset.Column.CreateOn_Date:
|
||||
SetAssetColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SaAsset_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAsset.Column.UpdateOn_Date:
|
||||
SetAssetColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SaAsset_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAsset.Column.Warnings:
|
||||
SetAssetColDfn(columnDfn, "Warnings", 200, SbmDbDfn.ColumnIdx.Unknown);
|
||||
break;
|
||||
}
|
||||
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Asset query filter.
|
||||
public override List<string> GetAssetQueryFilter(SbmAsset.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// Asset Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colAsset_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colAsset_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colAsset_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
// Asset CategoryId.
|
||||
String colSaAsset_CategoryId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset);
|
||||
if (SysId.IsValid(prm.AssetCatId))
|
||||
filter.Add(colSaAsset_CategoryId + "='" + prm.AssetCatId.ToString());
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Item Type & Id.
|
||||
String colAsset_ItemType = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasAsset);
|
||||
if (prm.ItemType > 0)
|
||||
filter.Add(colAsset_ItemType + "=" + ((int)prm.ItemType).ToString());
|
||||
String colAsset_ItemId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasAsset);
|
||||
if (ItemId.IsValid(prm.ItemId))
|
||||
filter.Add(colAsset_ItemId + "=" + prm.ItemId.ToString());
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Partial SerialNumber.
|
||||
String serialNumberFull = DbQuery.FormatForCondition(prm.SerialNumber);
|
||||
String serialNumberPartial = DbQuery.FormatForCondition(prm.SerialNumberPartial);
|
||||
String colAsset_SerialNumber = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset);
|
||||
if (!StringUtil.IsEmpty(serialNumberFull))
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset) + "='" + serialNumberFull + "'");
|
||||
else if (!StringUtil.IsEmpty(serialNumberPartial))
|
||||
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset), prm.SerialNumberPartial.Length) + " ='" + serialNumberPartial + "'");
|
||||
// Partial Description.
|
||||
String description = DbQuery.FormatForCondition(prm.DescBriefPartial);
|
||||
String colAsset_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DescBrief, aliasAsset);
|
||||
if (!StringUtil.IsEmpty(description))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAsset_DescBrief, prm.DescBriefPartial.Length) + " ='" + description + "'");
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Next Process Id.
|
||||
String colAsset_ProcessIdNext = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasAsset);
|
||||
if (SysId.IsValid(prm.ProcessIdNext))
|
||||
filter.Add(colAsset_ProcessIdNext + "=" + prm.ProcessIdNext.ToString());
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Active Process Id.
|
||||
if (SysId.IsValid(prm.ProcessIdActive))
|
||||
{
|
||||
String aliasItemLink = "aAstItemLnk";
|
||||
DbQuery qryProc = new DbQuery(db.DbmsType);
|
||||
qryProc.Tables.Add(new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink), aliasItemLink));
|
||||
qryProc.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemIdFrom, aliasItemLink));
|
||||
qryProc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeFrom, aliasItemLink) + "=" + ((int)Sbm.ItemType.Asset).ToString());
|
||||
qryProc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemIdFrom, aliasItemLink) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset));
|
||||
qryProc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeTo, aliasItemLink) + "=" + ((int)Sbm.ItemType.Process).ToString());
|
||||
qryProc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemIdTo, aliasItemLink) + "=" + prm.ProcessIdActive.ToString());
|
||||
qryProc.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_Status, aliasItemLink) + "='" + StatusAwaiting + "'");
|
||||
filter.Add("EXISTS(" + qryProc.BuildQuery() + ")");
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Status.
|
||||
String colAsset_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Status, aliasAsset);
|
||||
if (prm.StatusCat == SbmAsset.StatusCat.ActiveOnly)
|
||||
filter.Add(colAsset_Status + "='" + StatusActive + "'");
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// Asset sort columns.
|
||||
public List<String> GetAssetSortColumns(SbmAsset.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for Asset columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SaAsset)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasAsset);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Asset count.
|
||||
private long GetAssetCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset) + " As " + aliasAsset, filter);
|
||||
}
|
||||
public override long GetAssetCount(SbmAsset.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetAssetCount(GetAssetQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Asset list.
|
||||
public override List<SbmAsset> GetAssetList(SbmAsset.Params prm)
|
||||
{
|
||||
List<SbmAsset> Assetes = new List<SbmAsset>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset), aliasAsset);
|
||||
SaAsset_Db dbAsset = new SaAsset_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbAsset.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetAssetQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetAssetSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbAsset = new SaAsset_Db(DbInfo);
|
||||
dbAsset.PopulateFrom(dbDataReader);
|
||||
Assetes.Add(CreateAsset(dbAsset));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetAssetList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return Assetes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Asset query execution.
|
||||
public override DbResultSet ExecuteAssetQuery(List<ColumnDfn> columns, SbmAsset.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.SerialNumber))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SerialNumber, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.DescBrief))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DescBrief, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.PurchaseOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_PurchaseOn, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountPurchase))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountPurchase, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountPurchaseGross))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountPurchaseGross, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.SellCategoryDesc))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SellCategoryCode, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountSell))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountSell, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountSellGross))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountSellGross, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.SoldOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_SoldOn, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountSold))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountSold, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.DisposeCode))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DisposeCode, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.DisposeOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DisposeOn, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.DueBackOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_DueBackOn, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountRentalCost))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountRentalCost, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.AmountRentalPrice))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AmountRentalPrice, aliasAsset));
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmAsset.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Notes, aliasAsset));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Status, aliasAsset));
|
||||
if (columns.HasId((int)SbmAsset.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_CreateOn, aliasAsset));
|
||||
if (columns.HasId((int)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)
|
||||
{
|
||||
DbQueryJoin joinAssetCat = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinAssetCat.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory), aliasAsset_AssetCategory);
|
||||
joinAssetCat.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAsset_AssetCategory) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset));
|
||||
query.Joins.Add(joinAssetCat);
|
||||
// Add the Asset Category columns:
|
||||
List<SbmDbDfn.ColumnIdx> dbColumns = new List<SbmDbDfn.ColumnIdx>()
|
||||
{
|
||||
SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType,
|
||||
SbmDbDfn.ColumnIdx.SaAssetCategory_Code,
|
||||
SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief,
|
||||
};
|
||||
foreach (SbmDbDfn.ColumnIdx dbColumn in dbColumns)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAsset_AssetCategory), prefixAsset_AssetCategory + SbmDbDfn.GetColumnName(dbColumn, false));
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// 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 || hasVehClassCols)
|
||||
{
|
||||
// Join to the vehicle table.
|
||||
DbQueryJoin joinVehicle = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinVehicle.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle), aliasAsset_Vehicle);
|
||||
joinVehicle.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasAsset_Vehicle) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasAsset));
|
||||
query.Joins.Add(joinVehicle);
|
||||
// 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);
|
||||
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));
|
||||
if (hasVehClassCols)
|
||||
{
|
||||
// Join to the vehicle class table.
|
||||
DbQueryJoin joinVehicleClass = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinVehicleClass.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasAsset_VehicleClass);
|
||||
joinVehicleClass.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasAsset_VehicleClass) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasAsset_Vehicle));
|
||||
query.Joins.Add(joinVehicleClass);
|
||||
// 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);
|
||||
//lCol.Insert (eSaDbColSaVehicleClass_Flags);
|
||||
foreach (SbmDbDfn.ColumnIdx dbColumn in dbVehicleClassColumns)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAsset_VehicleClass), prefixAsset_VehicleClass + SbmDbDfn.GetColumnName(dbColumn, false));
|
||||
}
|
||||
}
|
||||
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Next process.
|
||||
if (columns.HasId((int)SbmAsset.Column.NextProcess_DescBrief))
|
||||
{
|
||||
// Join to the process table (for the definition of the asset category process):
|
||||
DbQueryJoin joinProcess = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinProcess.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.Process), aliasAsset_AssetProcess);
|
||||
joinProcess.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Process_Id, aliasAsset_AssetProcess) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasAsset));
|
||||
query.Joins.Add(joinProcess);
|
||||
// Add the Process columns:
|
||||
List<SbmDbDfn.ColumnIdx> dbProcessColumns = new List<SbmDbDfn.ColumnIdx>();
|
||||
dbProcessColumns.Add(SbmDbDfn.ColumnIdx.Process_DescBrief);
|
||||
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))
|
||||
{
|
||||
// Join to the Item Link table to get information about this asset's process:
|
||||
DbQueryJoin joinItemLink = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinItemLink.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.ItemLink), aliasAsset_ItemProcess);
|
||||
joinItemLink.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeFrom, aliasAsset_ItemProcess) + "=" + ((int)Sbm.ItemType.Asset).ToString());
|
||||
joinItemLink.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemIdFrom, aliasAsset_ItemProcess) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset));
|
||||
joinItemLink.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemTypeTo, aliasAsset_ItemProcess) + "=" + ((int)Sbm.ItemType.Process).ToString());
|
||||
joinItemLink.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.ItemLink_ItemIdTo, aliasAsset_ItemProcess) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasAsset));
|
||||
query.Joins.Add(joinItemLink);
|
||||
// Add the ItemLink columns:
|
||||
List<SbmDbDfn.ColumnIdx> dbItemLinkColumns = new List<SbmDbDfn.ColumnIdx>();
|
||||
dbItemLinkColumns.Add(SbmDbDfn.ColumnIdx.ItemLink_Completed);
|
||||
foreach (SbmDbDfn.ColumnIdx dbColumn in dbItemLinkColumns)
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(dbColumn, aliasAsset_ItemProcess), prefixAsset_ItemProcess + SbmDbDfn.GetColumnName(dbColumn, false));
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetAssetQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetAssetSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,644 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SbmAssetMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// A s s e t C a t e g o r y
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmAssetCategory assetCategory)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(assetCategory.Id)),
|
||||
new StringPair("DescBrief",assetCategory.DescBrief),
|
||||
new StringPair("Status",assetCategory.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// 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)
|
||||
{
|
||||
ClearErrorState();
|
||||
ISacsDatabase db = SbmGlobals.Application.GetDatabase(SessionContext);
|
||||
if (db != null)
|
||||
{
|
||||
if (db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory)))
|
||||
{
|
||||
String filter = GetAssetCategoryQueryFilter(prm).Concat(" AND ", "(", ")");
|
||||
db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory), /*SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetCategory_Id), 0,*/ filter);
|
||||
}
|
||||
else SetErrorState(db.ErrorState.ToString());
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get AssetCategory.
|
||||
public override SbmAssetCategory GetAssetCategory(SbmAssetCategory.Params prm)
|
||||
{
|
||||
return GetAssetCategory(GetAssetCategoryQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmAssetCategory GetAssetCategory(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetAssetCategoryCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple Asset Categories found");
|
||||
return null;
|
||||
}
|
||||
SbmAssetCategory assetCategory = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo);
|
||||
dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, filter);
|
||||
assetCategory = CreateAssetCategory(dbAssetCategory);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetAssetCategory\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return assetCategory;
|
||||
}
|
||||
|
||||
public List<SysIdString> GetAssetCategoryByIdName(SbmAssetCategory.Params prm, bool includeType)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SysIdString> assetCats = new List<SysIdString>();
|
||||
|
||||
String colAssetCategory_Id = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetCategory_Id);
|
||||
String colAssetCategory_AssetType = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType);
|
||||
String colAssetCategory_DescBrief = SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief);
|
||||
|
||||
DbQuery qryAssetCat = new DbQuery(db.DbmsType);
|
||||
qryAssetCat.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory));
|
||||
qryAssetCat.Columns.Add(colAssetCategory_Id);
|
||||
qryAssetCat.Columns.Add(colAssetCategory_AssetType);
|
||||
qryAssetCat.Columns.Add(colAssetCategory_DescBrief);
|
||||
qryAssetCat.Filters.AddRange(GetAssetCategoryQueryFilter(prm));
|
||||
using (DbResultSet resultSet = DbResultSet_DataReader.ExecuteQuery(db, qryAssetCat.BuildQuery()))
|
||||
{
|
||||
while (resultSet != null && resultSet.NextRecord())
|
||||
{
|
||||
NamedValue.Map values = resultSet.GetRecordValues();
|
||||
String caption = values.GetValue(colAssetCategory_DescBrief).ToString();
|
||||
if (includeType)
|
||||
{
|
||||
String assetType = AssetTypes.GetDescForType(values.GetValue(colAssetCategory_AssetType).AsLong());
|
||||
if (!StringUtil.IsEmpty(assetType)) caption += " (" + assetType + ")";
|
||||
caption.Trim();
|
||||
}
|
||||
assetCats.Add(new SysId((int)values.GetValue(colAssetCategory_Id).AsLong()), caption);
|
||||
}
|
||||
}
|
||||
return assetCats;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create AssetCategory.
|
||||
public override SbmAssetCategory CreateAssetCategory(Sbm.AssetType assetType)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmAssetCategory assetCategory = null;
|
||||
if (assetType > 0)
|
||||
assetCategory = new SbmAssetCategory_Dbas(UserContext, new SysId(), AffiliateId_Owner, assetType, 0);
|
||||
else SetErrorState("Asset type not identified");
|
||||
return assetCategory;
|
||||
}
|
||||
private SbmAssetCategory_Dbas CreateAssetCategory(SaAssetCategory_Db dbAssetCategory)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmAssetCategory_Dbas assetCategory = new SbmAssetCategory_Dbas(UserContext, new SysId(dbAssetCategory._Id), new SysId(dbAssetCategory._AffIdOwner), (Sbm.AssetType)dbAssetCategory._AssetType, (ushort)dbAssetCategory._Flags);
|
||||
PopulateFrom(dbAssetCategory, assetCategory);
|
||||
return assetCategory;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate AssetCategory.
|
||||
public override bool IsValidAssetCategoryData(SbmAssetCategory.Data data, SbmAssetCategory.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidAssetCategoryData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert AssetCategory.
|
||||
public override bool InsertAssetCategory(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertAssetCategory";
|
||||
ClearErrorState();
|
||||
if (!IsValidAssetCategory(assetCategory)) return false;
|
||||
if (SysId.IsValid(assetCategory.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo);
|
||||
PopulateTo(dbAssetCategory, assetCategory, dbUpdateInfo);
|
||||
if (SaAssetCategory_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbAssetCategory._Id = SysId.ToInt(db.GetNextId("AssetCategory", dbUpdateInfo));
|
||||
}
|
||||
dbAssetCategory.ExecuteInsertCommand(dbCommand);
|
||||
assetCategory.Id = new SysId(dbAssetCategory._Id);
|
||||
assetCategory.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update AssetCategory.
|
||||
public override bool UpdateAssetCategory(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateAssetCategory";
|
||||
ClearErrorState();
|
||||
if (!IsValidAssetCategory(assetCategory)) return false;
|
||||
if (!SysId.IsValid(assetCategory.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!assetCategory.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve AssetCategory.
|
||||
dbConnection.Open();
|
||||
SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo);
|
||||
dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, "Id=" + SysId.ToString(assetCategory.Id));
|
||||
SbmUpdateLogItemMonitor_AssetCategory updateLogMonitor = new SbmUpdateLogItemMonitor_AssetCategory(UserContext, CreateAssetCategory(dbAssetCategory));
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbAssetCategory, assetCategory, dbUpdateInfo);
|
||||
dbAssetCategory.ExecuteUpdateCommand(dbCommand);
|
||||
assetCategory.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
updateLogMonitor.RecordUpdatedValues(assetCategory);
|
||||
updateLogMonitor.LogUpdates();
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete AssetCategory.
|
||||
public override bool AssetCategoryCanBeDeleted(SbmAssetCategory assetCategory)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.AssetCategoryCanBeDeleted(assetCategory)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteAssetCategory(SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteAssetCategory";
|
||||
ClearErrorState();
|
||||
if (!AssetCategoryCanBeDeleted(assetCategory)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve AssetCategory.
|
||||
dbConnection.Open();
|
||||
SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo);
|
||||
dbAssetCategory.PopulateFrom(dbCommand, aliasAssetCategory, "Id=" + assetCategory.Id.ToString());
|
||||
// Delete AssetCategory.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory) + " WHERE Id=" + SysId.ToString(assetCategory.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
assetCategory.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(assetCategory).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SaAssetCategory_Db dbAssetCategory, SbmAssetCategory assetCategory, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbAssetCategory._Id = assetCategory.Id.ToInt();
|
||||
dbAssetCategory._AssetType = (short)assetCategory.AssetType;
|
||||
dbAssetCategory._AffIdOwner = assetCategory.AffIdOwner.ToInt();
|
||||
dbAssetCategory._Code = assetCategory.Code;
|
||||
dbAssetCategory._DescBrief = assetCategory.DescBrief;
|
||||
dbAssetCategory._IncomeType = (short)assetCategory.IncomeType;
|
||||
dbAssetCategory._AssocIdSupplier = assetCategory.AssocIdSupplier.ToInt();
|
||||
dbAssetCategory._PaymentTerms = assetCategory.PaymentTerms;
|
||||
dbAssetCategory._TaxCodeIdPurchase = assetCategory.TaxCodeIdPurchase.ToInt();
|
||||
dbAssetCategory._AssocIdCustomer = assetCategory.AssocIdCustomer.ToInt();
|
||||
dbAssetCategory._TaxCodeIdSell = assetCategory.TaxCodeIdSell.ToInt();
|
||||
dbAssetCategory._TaxCodeIdProfit = assetCategory.TaxCodeIdProfit.ToInt();
|
||||
dbAssetCategory._DisposeCode = assetCategory.DisposeCode;
|
||||
dbAssetCategory._UomIdRentalCost = assetCategory.UomIdRentalCost.ToInt();
|
||||
dbAssetCategory._TaxCodeIdRentalCost = assetCategory.TaxCodeIdRentalCost.ToInt();
|
||||
dbAssetCategory._UomIdRentalPrice = assetCategory.UomIdRentalPrice.ToInt();
|
||||
dbAssetCategory._TaxCodeIdRentalPrice = assetCategory.TaxCodeIdRentalPrice.ToInt();
|
||||
// Common properties.
|
||||
dbAssetCategory._Notes = assetCategory.Notes;
|
||||
dbAssetCategory._Status = SacsSystem.GetStatusCode(assetCategory.Status);
|
||||
dbAssetCategory._Flags = (short)assetCategory.Flags;
|
||||
if (!SysId.IsValid(assetCategory.Id))
|
||||
{
|
||||
dbAssetCategory._CreateOn = DateTime.UtcNow;
|
||||
dbAssetCategory._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAssetCategory._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbAssetCategory._UpdateOn = DateTime.UtcNow;
|
||||
dbAssetCategory._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAssetCategory._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SaAssetCategory_Db dbAssetCategory, SbmAssetCategory assetCategory)
|
||||
{
|
||||
//assetCategory.Id = new SysId(dbAssetCategory._Id);
|
||||
assetCategory.AssetType = (Sbm.AssetType)dbAssetCategory._AssetType;
|
||||
assetCategory.AffIdOwner = new SysId(dbAssetCategory._AffIdOwner);
|
||||
assetCategory.Code = dbAssetCategory._Code;
|
||||
assetCategory.DescBrief = dbAssetCategory._DescBrief;
|
||||
assetCategory.IncomeType = (Sbm.AssetIncomeType)dbAssetCategory._IncomeType;
|
||||
assetCategory.AssocIdSupplier = new SysId(dbAssetCategory._AssocIdSupplier);
|
||||
assetCategory.PaymentTerms = dbAssetCategory._PaymentTerms;
|
||||
assetCategory.TaxCodeIdPurchase = new SysId(dbAssetCategory._TaxCodeIdPurchase);
|
||||
assetCategory.AssocIdCustomer = new SysId(dbAssetCategory._AssocIdCustomer);
|
||||
assetCategory.TaxCodeIdSell = new SysId(dbAssetCategory._TaxCodeIdSell);
|
||||
assetCategory.TaxCodeIdProfit = new SysId(dbAssetCategory._TaxCodeIdProfit);
|
||||
assetCategory.DisposeCode = dbAssetCategory._DisposeCode;
|
||||
assetCategory.UomIdRentalCost = new SysId(dbAssetCategory._UomIdRentalCost);
|
||||
assetCategory.TaxCodeIdRentalCost = new SysId(dbAssetCategory._TaxCodeIdRentalCost);
|
||||
assetCategory.UomIdRentalPrice = new SysId(dbAssetCategory._UomIdRentalPrice);
|
||||
assetCategory.TaxCodeIdRentalPrice = new SysId(dbAssetCategory._TaxCodeIdRentalPrice);
|
||||
// Common properties.
|
||||
assetCategory.Notes = dbAssetCategory._Notes;
|
||||
assetCategory.Status = SacsSystem.GetStatusForCode(dbAssetCategory._Status);
|
||||
assetCategory.SetCreateStamp(dbAssetCategory._CreateOn, new SysId(dbAssetCategory._CreateBy), dbAssetCategory._CreateHost);
|
||||
assetCategory.SetUpdateStamp(dbAssetCategory._UpdateOn, new SysId(dbAssetCategory._UpdateBy), dbAssetCategory._UpdateHost);
|
||||
assetCategory.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetCategory column definitions.
|
||||
private static readonly String aliasAssetCategory = "aAstCat";
|
||||
private static readonly String prefixAssetCategory = "AstCat_";
|
||||
|
||||
private void SetAssetCategoryColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SaAssetCategory)
|
||||
alias = aliasAssetCategory;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting prmAssetCategory column definition.
|
||||
public override ColumnDfn GetAssetCategoryColumnDfn(SbmAssetCategory.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmAssetCategory.Column.Pos:
|
||||
SetAssetCategoryColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmAssetCategory.Column.Id:
|
||||
SetAssetCategoryColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SaAssetCategory_Id, ColumnAlignment.Right, DataValue.DataType.Long, aliasAssetCategory, prefixAssetCategory);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
|
||||
// AssetCategory Properties.
|
||||
case SbmAssetCategory.Column.AffIdOwner:
|
||||
SetAssetCategoryColDfn(columnDfn, "AffIdOwner", 45, SbmDbDfn.ColumnIdx.SaAssetCategory_AffIdOwner, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetCategory.Column.Type_Desc:
|
||||
SetAssetCategoryColDfn(columnDfn, "AssetType", 100, SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, ColumnAlignment.Left);
|
||||
break;
|
||||
case SbmAssetCategory.Column.Code:
|
||||
SetAssetCategoryColDfn(columnDfn, "Code", 100, SbmDbDfn.ColumnIdx.SaAssetCategory_Code, ColumnAlignment.Left);
|
||||
break;
|
||||
case SbmAssetCategory.Column.DescBrief:
|
||||
SetAssetCategoryColDfn(columnDfn, "Desc Brief", 120, SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief);
|
||||
break;
|
||||
case SbmAssetCategory.Column.IncomeType:
|
||||
SetAssetCategoryColDfn(columnDfn, "Income Type", 100, SbmDbDfn.ColumnIdx.SaAssetCategory_IncomeType, ColumnAlignment.Left);
|
||||
break;
|
||||
case SbmAssetCategory.Column.AssocIdSupplier:
|
||||
SetAssetCategoryColDfn(columnDfn, "AssocId Supplier", 45, SbmDbDfn.ColumnIdx.SaAssetCategory_AssocIdSupplier, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetCategory.Column.PaymentTerms:
|
||||
SetAssetCategoryColDfn(columnDfn, "Payment Terms", 60, SbmDbDfn.ColumnIdx.SaAssetCategory_PaymentTerms);
|
||||
break;
|
||||
case SbmAssetCategory.Column.TaxCodeIdPurchase:
|
||||
SetAssetCategoryColDfn(columnDfn, "TaxCodeId Purchase", 45, SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdPurchase);
|
||||
break;
|
||||
case SbmAssetCategory.Column.AssocIdCustomer:
|
||||
SetAssetCategoryColDfn(columnDfn, "AssocId Customer", 45, SbmDbDfn.ColumnIdx.SaAssetCategory_AssocIdCustomer, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
// Common properties.
|
||||
case SbmAssetCategory.Column.Notes:
|
||||
SetAssetCategoryColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SaAssetCategory_Notes);
|
||||
break;
|
||||
case SbmAssetCategory.Column.Flag:
|
||||
SetAssetCategoryColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SaAssetCategory_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAssetCategory.Column.Status:
|
||||
SetAssetCategoryColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAssetCategory_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmAssetCategory.Column.Status_Desc:
|
||||
SetAssetCategoryColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAssetCategory_Status);
|
||||
break;
|
||||
case SbmAssetCategory.Column.Status_Ind:
|
||||
SetAssetCategoryColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAssetCategory_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmAssetCategory.Column.CreateOn_Date:
|
||||
SetAssetCategoryColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SaAssetCategory_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetCategory.Column.UpdateOn_Date:
|
||||
SetAssetCategoryColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SaAssetCategory_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetCategory.Column.AssetCount:
|
||||
SetAssetCategoryColDfn(columnDfn, "Asset Count", 70, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = "AssetCount";
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetCategory query filter.
|
||||
public override List<string> GetAssetCategoryQueryFilter(SbmAssetCategory.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// Asset Category Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colAssetCategory_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAssetCategory);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colAssetCategory_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colAssetCategory_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
// Asset Category Type.
|
||||
String colSaAssetCategory_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, aliasAssetCategory);
|
||||
if (prm.AssetType > 0)
|
||||
filter.Add(colSaAssetCategory_Type + "='" + ((int)prm.AssetType).ToString());
|
||||
|
||||
// Partial Code.
|
||||
String code = DbQuery.FormatForCondition(prm.CodePartial);
|
||||
String colAssetCategory_Code = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Code, aliasAssetCategory);
|
||||
if (!StringUtil.IsEmpty(code))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAssetCategory_Code, prm.CodePartial.Length) + " ='" + code + "'");
|
||||
|
||||
// Partial Description.
|
||||
String description = DbQuery.FormatForCondition(prm.DescBriefPartial);
|
||||
String colAssetCategory_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief, aliasAssetCategory);
|
||||
if (!StringUtil.IsEmpty(description))
|
||||
filter.Add(DbQuery.FormatFn_Left(colAssetCategory_DescBrief, prm.DescBriefPartial.Length) + " ='" + description + "'");
|
||||
|
||||
// Status.
|
||||
String colAssetCategory_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Status, aliasAssetCategory);
|
||||
if (prm.RestrictToActive)
|
||||
filter.Add(colAssetCategory_Status + "='" + StatusActive + "'");
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// Item sort columns.
|
||||
public List<String> GetAssetCategorySortColumns(SbmAssetCategory.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for AssetCategory columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SaAssetCategory)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasAssetCategory);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, aliasAssetCategory) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetCategory count.
|
||||
private long GetAssetCategoryCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory) + " As " + aliasAssetCategory, filter);
|
||||
}
|
||||
public override long GetAssetCategoryCount(SbmAssetCategory.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetAssetCategoryCount(GetAssetCategoryQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetCategory list.
|
||||
public override List<SbmAssetCategory> GetAssetCategoryList(SbmAssetCategory.Params prm)
|
||||
{
|
||||
List<SbmAssetCategory> AssetCategoryes = new List<SbmAssetCategory>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory), aliasAssetCategory);
|
||||
SaAssetCategory_Db dbAssetCategory = new SaAssetCategory_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbAssetCategory.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetAssetCategoryQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetAssetCategorySortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbAssetCategory = new SaAssetCategory_Db(DbInfo);
|
||||
dbAssetCategory.PopulateFrom(dbDataReader);
|
||||
AssetCategoryes.Add(CreateAssetCategory(dbAssetCategory));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetAssetCategoryList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return AssetCategoryes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetCategory query execution.
|
||||
public override DbResultSet ExecuteAssetCategoryQuery(List<ColumnDfn> columns, SbmAssetCategory.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetCategory), aliasAssetCategory);
|
||||
|
||||
// AssetCategory Properties - add columns as defined in query list.
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.Id))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.AffIdOwner))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AffIdOwner, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.AssetType))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssetType, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.Code))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Code, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.DescBrief))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_DescBrief, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.IncomeType))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_IncomeType, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.AssocIdSupplier))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssocIdSupplier, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.PaymentTerms))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_PaymentTerms, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.TaxCodeIdPurchase))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdPurchase, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.AssocIdCustomer))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_AssocIdCustomer, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.TaxCodeIdSell))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdSell, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.TaxCodeIdProfit))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdProfit, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.DisposeCode))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_DisposeCode, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.UomIdRentalCost))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_UomIdRentalCost, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.TaxCodeIdRentalCost))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdRentalCost, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.UomIdRentalPrice))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_UomIdRentalPrice, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.TaxCodeIdRentalPrice))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_TaxCodeIdRentalPrice, aliasAssetCategory));
|
||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
// Asset Count
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.AssetCount))
|
||||
{
|
||||
String tableAsset = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset);
|
||||
DbQuery qryAssetCount = new DbQuery(db.DbmsType);
|
||||
qryAssetCount.Tables.Add(tableAsset, aliasAsset);
|
||||
qryAssetCount.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasAsset) + ")");
|
||||
qryAssetCount.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasAsset) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Id, aliasAsset));
|
||||
query.Columns.Add("(" + qryAssetCount.BuildQuery() + ")", "AssetCount");
|
||||
}
|
||||
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Notes, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.Flag))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Flags, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.Status) || columns.HasId((int)SbmAssetCategory.Column.Status_Desc) || columns.HasId((int)SbmAssetCategory.Column.Status_Ind))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_Status, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_CreateOn, aliasAssetCategory));
|
||||
if (columns.HasId((int)SbmAssetCategory.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetCategory_UpdateOn, aliasAssetCategory));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetAssetCategoryQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetAssetCategorySortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,494 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
|
||||
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.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SbmAssetMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// A s s e t C a t e g o r y
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmAssetProcess assetProcess)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(assetProcess.Id)),
|
||||
new StringPair("Seq",assetProcess.Seq),
|
||||
new StringPair("Status",assetProcess.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get AssetProcess.
|
||||
public override SbmAssetProcess GetAssetProcess(SbmAssetProcess.Params prm)
|
||||
{
|
||||
return GetAssetProcess(GetAssetProcessQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmAssetProcess GetAssetProcess(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetAssetProcessCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple Asset Processes found");
|
||||
return null;
|
||||
}
|
||||
SbmAssetProcess assetProcess = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo);
|
||||
dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, filter);
|
||||
assetProcess = CreateAssetProcess(dbAssetProcess);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetAssetProcess\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return assetProcess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create AssetProcess.
|
||||
public override SbmAssetProcess CreateAssetProcess(Sbm.AssetType assetType)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmAssetProcess assetProcess = null;
|
||||
if (assetType > 0)
|
||||
assetProcess = new SbmAssetProcess_Dbas(UserContext, 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(UserContext, new SysId(dbAssetProcess._Id), new SysId(dbAssetProcess._AssetId), new SysId(dbAssetProcess._ProcessId), (ushort)dbAssetProcess._Flags);
|
||||
PopulateFrom(dbAssetProcess, assetProcess);
|
||||
return assetProcess;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate AssetProcess.
|
||||
public override bool IsValidAssetProcessData(SbmAssetProcess.Data data, SbmAssetProcess.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidAssetProcessData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert AssetProcess.
|
||||
public override bool InsertAssetProcess(SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertAssetProcess";
|
||||
ClearErrorState();
|
||||
if (!IsValidAssetProcess(assetProcess)) return false;
|
||||
if (SysId.IsValid(assetProcess.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo);
|
||||
PopulateTo(dbAssetProcess, assetProcess, dbUpdateInfo);
|
||||
if (SaAssetProcess_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbAssetProcess._Id = SysId.ToInt(db.GetNextId("AssetProcess", dbUpdateInfo));
|
||||
}
|
||||
dbAssetProcess.ExecuteInsertCommand(dbCommand);
|
||||
assetProcess.Id = new SysId(dbAssetProcess._Id);
|
||||
assetProcess.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update AssetProcess.
|
||||
public override bool UpdateAssetProcess(SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateAssetProcess";
|
||||
ClearErrorState();
|
||||
if (!IsValidAssetProcess(assetProcess)) return false;
|
||||
if (!SysId.IsValid(assetProcess.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!assetProcess.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve AssetProcess.
|
||||
dbConnection.Open();
|
||||
SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo);
|
||||
dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, "Id=" + SysId.ToString(assetProcess.Id));
|
||||
SbmUpdateLogItemMonitor_AssetProcess updateLogMonitor = new SbmUpdateLogItemMonitor_AssetProcess(UserContext, CreateAssetProcess(dbAssetProcess));
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbAssetProcess, assetProcess, dbUpdateInfo);
|
||||
dbAssetProcess.ExecuteUpdateCommand(dbCommand);
|
||||
assetProcess.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
updateLogMonitor.RecordUpdatedValues(assetProcess);
|
||||
updateLogMonitor.LogUpdates();
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete AssetProcess.
|
||||
public override bool AssetProcessCanBeDeleted(SbmAssetProcess assetProcess)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.AssetProcessCanBeDeleted(assetProcess)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteAssetProcess(SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteAssetProcess";
|
||||
ClearErrorState();
|
||||
if (!AssetProcessCanBeDeleted(assetProcess)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve AssetProcess.
|
||||
dbConnection.Open();
|
||||
SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo);
|
||||
dbAssetProcess.PopulateFrom(dbCommand, aliasAssetProcess, "Id=" + assetProcess.Id.ToString());
|
||||
// Delete AssetProcess.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess) + " WHERE Id=" + SysId.ToString(assetProcess.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
assetProcess.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(assetProcess).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SaAssetProcess_Db dbAssetProcess, SbmAssetProcess assetProcess, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbAssetProcess._Id = assetProcess.Id.ToInt();
|
||||
dbAssetProcess._AssetId = assetProcess.AssetId.ToInt();
|
||||
dbAssetProcess._Seq = assetProcess.Seq.ToShort();
|
||||
dbAssetProcess._ProcessId = assetProcess.ProcessId.ToInt();
|
||||
dbAssetProcess._RequiredOn = assetProcess.RequiredOn;
|
||||
dbAssetProcess._ExpectedOn = assetProcess.ExpectedOn;
|
||||
dbAssetProcess._ProcessedOn = assetProcess.ProcessedOn;
|
||||
// Common properties.
|
||||
dbAssetProcess._Notes = assetProcess.Notes;
|
||||
dbAssetProcess._Status = SacsSystem.GetStatusCode(assetProcess.Status);
|
||||
dbAssetProcess._Flags = (short)assetProcess.Flags;
|
||||
if (!SysId.IsValid(assetProcess.Id))
|
||||
{
|
||||
dbAssetProcess._CreateOn = DateTime.UtcNow;
|
||||
dbAssetProcess._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAssetProcess._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbAssetProcess._UpdateOn = DateTime.UtcNow;
|
||||
dbAssetProcess._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbAssetProcess._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SaAssetProcess_Db dbAssetProcess, SbmAssetProcess assetProcess)
|
||||
{
|
||||
//assetProcess.Id = new SysId(dbAssetProcess._Id);
|
||||
assetProcess.AssetId = new SysId(dbAssetProcess._AssetId);
|
||||
assetProcess.Seq = dbAssetProcess._Seq.ToString();
|
||||
assetProcess.ProcessId = new SysId(dbAssetProcess._ProcessId);
|
||||
assetProcess.RequiredOn = dbAssetProcess._RequiredOn;
|
||||
assetProcess.ExpectedOn = dbAssetProcess._ExpectedOn;
|
||||
assetProcess.ProcessedOn = dbAssetProcess._ProcessedOn;
|
||||
// Common properties.
|
||||
assetProcess.Notes = dbAssetProcess._Notes;
|
||||
assetProcess.Status = SacsSystem.GetStatusForCode(dbAssetProcess._Status);
|
||||
assetProcess.SetCreateStamp(dbAssetProcess._CreateOn, new SysId(dbAssetProcess._CreateBy), dbAssetProcess._CreateHost);
|
||||
assetProcess.SetUpdateStamp(dbAssetProcess._UpdateOn, new SysId(dbAssetProcess._UpdateBy), dbAssetProcess._UpdateHost);
|
||||
assetProcess.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetProcess column definitions.
|
||||
private static readonly String aliasAssetProcess = "aAstPrc";
|
||||
private static readonly String prefixAssetProcess = "AstProcess_";
|
||||
private void SetAssetProcessColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SaAssetProcess)
|
||||
alias = aliasAssetProcess;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting prmAssetProcess column definition.
|
||||
public override ColumnDfn GetAssetProcessColumnDfn(SbmAssetProcess.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmAssetProcess.Column.Pos:
|
||||
SetAssetProcessColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmAssetProcess.Column.Id:
|
||||
SetAssetProcessColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SaAssetProcess_Id, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
|
||||
// AssetProcess Properties.
|
||||
case SbmAssetProcess.Column.AssetId:
|
||||
SetAssetProcessColDfn(columnDfn, "Id", 45, SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetProcess.Column.Seq:
|
||||
SetAssetProcessColDfn(columnDfn, "Desc Brief", 120, SbmDbDfn.ColumnIdx.SaAssetProcess_Seq);
|
||||
break;
|
||||
case SbmAssetProcess.Column.ProcessId:
|
||||
SetAssetProcessColDfn(columnDfn, "Process Id", 45, SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessId, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetProcess.Column.RequiredOn:
|
||||
break;
|
||||
case SbmAssetProcess.Column.ExpectedOn:
|
||||
break;
|
||||
case SbmAssetProcess.Column.ProcessedOn:
|
||||
break;
|
||||
|
||||
// Common properties.
|
||||
case SbmAssetProcess.Column.Notes:
|
||||
SetAssetProcessColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SaAssetProcess_Notes);
|
||||
break;
|
||||
case SbmAssetProcess.Column.Flag:
|
||||
SetAssetProcessColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SaAssetProcess_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmAssetProcess.Column.Status:
|
||||
SetAssetProcessColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAssetProcess_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmAssetProcess.Column.Status_Desc:
|
||||
SetAssetProcessColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAssetProcess_Status);
|
||||
break;
|
||||
case SbmAssetProcess.Column.Status_Ind:
|
||||
SetAssetProcessColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaAssetProcess_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmAssetProcess.Column.CreateOn_Date:
|
||||
SetAssetProcessColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SaAssetProcess_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmAssetProcess.Column.UpdateOn_Date:
|
||||
SetAssetProcessColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SaAssetProcess_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetProcess query filter.
|
||||
public override List<string> GetAssetProcessQueryFilter(SbmAssetProcess.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// AssetProcess Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colAssetProcess_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Id, aliasAssetProcess);
|
||||
if (!includedIds.IsEmpty())
|
||||
filter.Add(colAssetProcess_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty())
|
||||
filter.Add(colAssetProcess_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// AssetProcess sort columns.
|
||||
public List<String> GetAssetProcessSortColumns(SbmAssetProcess.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for AssetProcess columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SaAssetProcess)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasAssetProcess);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId, aliasAssetProcess) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetProcess count.
|
||||
private long GetAssetProcessCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess) + " As " + aliasAssetProcess, filter);
|
||||
}
|
||||
public override long GetAssetProcessCount(SbmAssetProcess.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetAssetProcessCount(GetAssetProcessQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetProcess list.
|
||||
public override List<SbmAssetProcess> GetAssetProcessList(SbmAssetProcess.Params prm)
|
||||
{
|
||||
List<SbmAssetProcess> AssetProcesses = new List<SbmAssetProcess>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess), aliasAssetProcess);
|
||||
SaAssetProcess_Db dbAssetProcess = new SaAssetProcess_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbAssetProcess.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetAssetProcessQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetAssetProcessSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbAssetProcess = new SaAssetProcess_Db(DbInfo);
|
||||
dbAssetProcess.PopulateFrom(dbDataReader);
|
||||
AssetProcesses.Add(CreateAssetProcess(dbAssetProcess));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetAssetProcessList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return AssetProcesses;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// AssetProcess query execution.
|
||||
public override DbResultSet ExecuteAssetProcessQuery(List<ColumnDfn> columns, SbmAssetProcess.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId, aliasAssetProcess), prefixAssetProcess + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId, false));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.Seq))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Seq, aliasAssetProcess), prefixAssetProcess + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_Seq, false));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.ProcessId))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessId, aliasAssetProcess), prefixAssetProcess + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessId, false));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.RequiredOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_RequiredOn, aliasAssetProcess), prefixAssetProcess + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_RequiredOn, false));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.ExpectedOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_ExpectedOn, aliasAssetProcess), prefixAssetProcess + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_ExpectedOn, false));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.ProcessedOn))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessedOn, aliasAssetProcess), prefixAssetProcess + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_ProcessedOn, false));
|
||||
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Notes, aliasAssetProcess));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_Status, aliasAssetProcess));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_CreateOn, aliasAssetProcess));
|
||||
if (columns.HasId((int)SbmAssetProcess.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAssetProcess_UpdateOn, aliasAssetProcess));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetAssetProcessQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetAssetProcessSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -0,0 +1,801 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Internal;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog;
|
||||
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.ItemData;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
using Sarand.Net.Standard.Dbas.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
partial class SbmAssetMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// V e h i c l e
|
||||
//*******************************************************************
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmVehicle vehicle)
|
||||
{
|
||||
return new List<StringPair>()
|
||||
{
|
||||
new StringPair("Id",SysId.ToString(vehicle.Id)),
|
||||
new StringPair("Vin",vehicle.Vin),
|
||||
new StringPair("Status",vehicle.StatusCode)
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get Vehicle.
|
||||
public override SbmVehicle GetVehicle(SbmVehicle.Params prm)
|
||||
{
|
||||
return GetVehicle(GetVehicleQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
private SbmVehicle GetVehicle(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
long count = GetVehicleCount(filter);
|
||||
if (count == 0) return null;
|
||||
if (count != 1)
|
||||
{
|
||||
SetErrorState("Multiple Vehicles found");
|
||||
return null;
|
||||
}
|
||||
SbmVehicle vehicle = null;
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
|
||||
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, filter);
|
||||
vehicle = CreateVehicle(dbVehicle);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SetErrorState("Database query exception");
|
||||
SaLogger.Warn(GetType().Name + ".GetVehicle\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return vehicle;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create Vehicle.
|
||||
public override SbmVehicle CreateVehicle()
|
||||
{
|
||||
ClearErrorState();
|
||||
return new SbmVehicle_Dbas(UserContext, new SysId(), 0);
|
||||
}
|
||||
private SbmVehicle_Dbas CreateVehicle(SaVehicle_Db dbVehicle)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmVehicle_Dbas vehicle = new SbmVehicle_Dbas(UserContext, new SysId(dbVehicle._Id), (ushort)dbVehicle._Flags);
|
||||
PopulateFrom(dbVehicle, vehicle);
|
||||
return vehicle;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Vehicle.
|
||||
public override bool IsValidVehicleData(SbmVehicle.Data data, SbmVehicle.ErrField errField)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.IsValidVehicleData(data, errField)) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Insert Vehicle.
|
||||
public override bool InsertVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".InsertVehicle";
|
||||
ClearErrorState();
|
||||
if (!IsValidVehicle(vehicle)) return false;
|
||||
if (SysId.IsValid(vehicle.Id)) return SetErrorState(ErrorMessage.ValiditemId);
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
|
||||
PopulateTo(dbVehicle, vehicle, dbUpdateInfo);
|
||||
if (SaVehicle_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbVehicle._Id = SysId.ToInt(db.GetNextId("Vehicle", dbUpdateInfo));
|
||||
}
|
||||
dbVehicle.ExecuteInsertCommand(dbCommand);
|
||||
vehicle.Id = new SysId(dbVehicle._Id);
|
||||
vehicle.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Inserted. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update Vehicle.
|
||||
public override bool UpdateVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".UpdateVehicle";
|
||||
ClearErrorState();
|
||||
if (!IsValidVehicle(vehicle)) return false;
|
||||
if (!SysId.IsValid(vehicle.Id)) return SetErrorState(ErrorMessage.InvalidItemId);
|
||||
if (!vehicle.Changed)
|
||||
{
|
||||
if (DebugMode) SaLogger.Debug(fn + " Data not changed. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
|
||||
return true;
|
||||
}
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve Vehicle.
|
||||
dbConnection.Open();
|
||||
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
|
||||
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, "Id=" + SysId.ToString(vehicle.Id));
|
||||
SbmUpdateLogItemMonitor_Vehicle updateLogMonitor = new SbmUpdateLogItemMonitor_Vehicle(UserContext, CreateVehicle(dbVehicle));
|
||||
|
||||
// Update properties.
|
||||
PopulateTo(dbVehicle, vehicle, dbUpdateInfo);
|
||||
dbVehicle.ExecuteUpdateCommand(dbCommand);
|
||||
vehicle.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Updated. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
|
||||
|
||||
// Record updates.
|
||||
updateLogMonitor.RecordUpdatedValues(vehicle);
|
||||
updateLogMonitor.LogUpdates();
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Delete Vehicle.
|
||||
public override bool VehicleCanBeDeleted(SbmVehicle vehicle)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!base.VehicleCanBeDeleted(vehicle)) return false;
|
||||
return true;
|
||||
}
|
||||
public override bool DeleteVehicle(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
String fn = GetType().Name + ".DeleteVehicle";
|
||||
ClearErrorState();
|
||||
if (!VehicleCanBeDeleted(vehicle)) return false;
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
// Retrieve prm.
|
||||
dbConnection.Open();
|
||||
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
|
||||
dbVehicle.PopulateFrom(dbCommand, aliasVehicle, "Id=" + vehicle.Id.ToString());
|
||||
// Delete prm.
|
||||
dbCommand.CommandType = System.Data.CommandType.Text;
|
||||
dbCommand.CommandText = "DELETE FROM " + SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle) + " WHERE Id=" + SysId.ToString(vehicle.Id) + ";";
|
||||
dbCommand.ExecuteNonQuery();
|
||||
vehicle.Changed = false;
|
||||
if (DebugMode) SaLogger.Debug(fn + " Deleted. " + GetLogProperties(vehicle).Concat(": ").Concat("", "\n\t"));
|
||||
}
|
||||
catch (Exception exc) { SetErrorState(exc.Message); }
|
||||
}
|
||||
return !HasErrorState();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo(SaVehicle_Db dbVehicle, SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
dbVehicle._Id = vehicle.Id.ToInt();
|
||||
dbVehicle._VehicleClassId = vehicle.VehicleClassId.ToInt();
|
||||
dbVehicle._RegNumber = vehicle.RegNumber;
|
||||
dbVehicle._VIN = vehicle.Vin;
|
||||
dbVehicle._CapCode = vehicle.CapCode;
|
||||
dbVehicle._KeyNumber = vehicle.KeyNumber;
|
||||
dbVehicle._KeyLocation = vehicle.KeyLocation;
|
||||
dbVehicle._EngineNumber = vehicle.EngineNumber;
|
||||
dbVehicle._EngineCapacity = vehicle.EngineCapacity;
|
||||
dbVehicle._Seats = vehicle.Seats;
|
||||
dbVehicle._Weight = vehicle.Weight;
|
||||
dbVehicle._ManufactureYear = vehicle.ManufactureYear;
|
||||
dbVehicle._BuildOn = vehicle.BuildOn;
|
||||
dbVehicle._FirstRegisterOn = vehicle.FirstRegisterOn;
|
||||
dbVehicle._RegisterOn = vehicle.RegisterOn;
|
||||
dbVehicle._RegNumberPrev = vehicle.RegNumberPrev;
|
||||
dbVehicle._PurchaseOdo = (int)vehicle.PurchaseOdo;
|
||||
dbVehicle._TachoCode = vehicle.TachoCode;
|
||||
dbVehicle._TachoId = vehicle.TachoId;
|
||||
dbVehicle._LastServiceOdo = (int)vehicle.LastServiceOdo;
|
||||
dbVehicle._LastServiceOn = vehicle.LastServiceOn;
|
||||
dbVehicle._NextServiceOdo = (int)vehicle.NextServiceOdo;
|
||||
dbVehicle._NextServiceOn = vehicle.NextServiceOn;
|
||||
dbVehicle._MotOn = vehicle.MotOn;
|
||||
dbVehicle._MotNo = vehicle.MotNo;
|
||||
dbVehicle._NextTaxOn = vehicle.NextTaxOn;
|
||||
dbVehicle._LatestOdo = (int)vehicle.LatestOdo;
|
||||
dbVehicle._LatestOdoOn = vehicle.LatestOdoOn;
|
||||
// Common properties.
|
||||
dbVehicle._Notes = vehicle.Notes;
|
||||
dbVehicle._Status = SacsSystem.GetStatusCode(vehicle.Status);
|
||||
dbVehicle._Flags = (short)vehicle.Flags;
|
||||
if (!SysId.IsValid(vehicle.Id))
|
||||
{
|
||||
dbVehicle._CreateOn = DateTime.UtcNow;
|
||||
dbVehicle._CreateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbVehicle._CreateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
dbVehicle._UpdateOn = DateTime.UtcNow;
|
||||
dbVehicle._UpdateBy = dbUpdateInfo.UserId.ToInt();
|
||||
dbVehicle._UpdateHost = dbUpdateInfo.Host;
|
||||
}
|
||||
private void PopulateFrom(SaVehicle_Db dbVehicle, SbmVehicle vehicle)
|
||||
{
|
||||
//vehicle.Id = new SysId(dbVehicle._Id);
|
||||
vehicle.VehicleClassId = new SysId(dbVehicle._VehicleClassId);
|
||||
vehicle.RegNumber = dbVehicle._RegNumber;
|
||||
vehicle.Vin = dbVehicle._VIN;
|
||||
vehicle.CapCode = dbVehicle._CapCode;
|
||||
vehicle.KeyNumber = dbVehicle._KeyNumber;
|
||||
vehicle.KeyLocation = dbVehicle._KeyLocation;
|
||||
vehicle.EngineNumber = dbVehicle._EngineNumber;
|
||||
vehicle.EngineCapacity = dbVehicle._EngineCapacity;
|
||||
vehicle.Seats = dbVehicle._Seats;
|
||||
vehicle.Weight = dbVehicle._Weight;
|
||||
vehicle.ManufactureYear = dbVehicle._ManufactureYear;
|
||||
vehicle.BuildOn = dbVehicle._BuildOn;
|
||||
vehicle.FirstRegisterOn = dbVehicle._FirstRegisterOn;
|
||||
vehicle.RegisterOn = dbVehicle._RegisterOn;
|
||||
vehicle.RegNumberPrev = dbVehicle._RegNumberPrev;
|
||||
vehicle.PurchaseOdo = dbVehicle._PurchaseOdo;
|
||||
vehicle.TachoCode = dbVehicle._TachoCode;
|
||||
vehicle.TachoId = dbVehicle._TachoId;
|
||||
vehicle.LastServiceOdo = dbVehicle._LastServiceOdo;
|
||||
vehicle.LastServiceOn = dbVehicle._LastServiceOn;
|
||||
vehicle.NextServiceOdo = dbVehicle._NextServiceOdo;
|
||||
vehicle.NextServiceOn = dbVehicle._NextServiceOn;
|
||||
vehicle.MotOn = dbVehicle._MotOn;
|
||||
vehicle.MotNo = dbVehicle._MotNo;
|
||||
vehicle.NextTaxOn = dbVehicle._NextTaxOn;
|
||||
vehicle.LatestOdo = dbVehicle._LatestOdo;
|
||||
vehicle.LatestOdoOn = dbVehicle._LatestOdoOn;
|
||||
// Common properties.
|
||||
vehicle.Notes = dbVehicle._Notes;
|
||||
vehicle.Status = SacsSystem.GetStatusForCode(dbVehicle._Status);
|
||||
vehicle.SetCreateStamp(dbVehicle._CreateOn, new SysId(dbVehicle._CreateBy), dbVehicle._CreateHost);
|
||||
vehicle.SetUpdateStamp(dbVehicle._UpdateOn, new SysId(dbVehicle._UpdateBy), dbVehicle._UpdateHost);
|
||||
vehicle.AcceptChanges();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
private static readonly String aliasVehicle = "aVeh";
|
||||
private static readonly String prefixVehicle = "Veh_";
|
||||
// VehicleClass Alias&Prefix.
|
||||
private static readonly String aliasVehicle_VehicleClass = "aVehVehCls";
|
||||
private static readonly String prefixVehicle_VehicleClass = "VehVehClass_";
|
||||
// VehEventCount DataName.
|
||||
private static readonly String dataNameVehEventCount = "EvtCount";
|
||||
// VehFeatureCount DataName.
|
||||
private static readonly String dataNameVehFeatureCount = "FtrCount";
|
||||
// HpiCheckCount DataName.
|
||||
private static readonly String dataNameHpiCheckCount = "HpiCount";
|
||||
|
||||
// Vehicle column definitions.
|
||||
private void SetVehicleColDfn
|
||||
(ColumnDfn col, String caption, int width, SbmDbDfn.ColumnIdx dbCol,
|
||||
ColumnAlignment align = ColumnAlignment.Default, DataValue.DataType dataType = DataValue.DataType.String,
|
||||
String alias = "", String prefix = "")
|
||||
{
|
||||
if (String.IsNullOrEmpty(alias) && SbmDbDfn.GetTableForColumn(dbCol) == SbmDbDfn.TableIdx.SaVehicle)
|
||||
alias = aliasVehicle;
|
||||
col.Set(caption, width, (int)dbCol, prefix + SbmDbDfn.GetColumnName(dbCol, false), SbmDbDfn.GetColumnNameQual(dbCol, alias), dataType, align);
|
||||
if (dataType == DataValue.DataType.String && dbCol != SbmDbDfn.ColumnIdx.Unknown)
|
||||
col.MaxLength = (int)SbmDbDfn.GetColTextLen(dbCol);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
// Getting prm column definition.
|
||||
public override ColumnDfn GetVehicleColumnDfn(SbmVehicle.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
{
|
||||
case SbmVehicle.Column.Pos:
|
||||
SetVehicleColDfn(columnDfn, "Pos", 45, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.SortMode = ColumnDfn.ColumnSortMode.Off;
|
||||
columnDfn.ReadOnly = true;
|
||||
columnDfn.Resizable = false;
|
||||
break;
|
||||
case SbmVehicle.Column.Id:
|
||||
SetVehicleColDfn(columnDfn, "Id", 60, SbmDbDfn.ColumnIdx.SaVehicle_Id, ColumnAlignment.Right, DataValue.DataType.Long, aliasVehicle, prefixVehicle);
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
|
||||
// Vehicle Properties.
|
||||
case SbmVehicle.Column.VehicleClass_Id:
|
||||
SetVehicleColDfn(columnDfn, "Cat Id", 45, SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_MakeCode:
|
||||
SetVehicleColDfn(columnDfn, "Make", 65, SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_MakeDesc:
|
||||
SetVehicleColDfn(columnDfn, "Make", 75, SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, ColumnAlignment.Left, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_Model:
|
||||
SetVehicleColDfn(columnDfn, "Model", 80, SbmDbDfn.ColumnIdx.SaVehicleClass_Model, ColumnAlignment.Left, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_Derivative:
|
||||
SetVehicleColDfn(columnDfn, "Derivative", 90, SbmDbDfn.ColumnIdx.SaVehicleClass_Derivative, ColumnAlignment.Left, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_DescBrief:
|
||||
SetVehicleColDfn(columnDfn, "Vehicle class", 120, SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, ColumnAlignment.Left, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_Type:
|
||||
SetVehicleColDfn(columnDfn, "Type", 60, SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleType, ColumnAlignment.Center, DataValue.DataType.Long, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_TypeDesc:
|
||||
SetVehicleColDfn(columnDfn, "Type", 70, SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleType, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_CategoryCode:
|
||||
SetVehicleColDfn(columnDfn, "Category", 70, SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleCategoryCode, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_CategoryDesc:
|
||||
SetVehicleColDfn(columnDfn, "Category", 70, SbmDbDfn.ColumnIdx.SaVehicleClass_VehicleCategoryCode, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_FuelTypeDesc:
|
||||
SetVehicleColDfn(columnDfn, "Fuel type", 70, SbmDbDfn.ColumnIdx.SaVehicleClass_FuelType, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_OdometerUnitsDesc:
|
||||
SetVehicleColDfn(columnDfn, "Odo units", 70, SbmDbDfn.ColumnIdx.SaVehicleClass_OdometerUnits, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_Seats:
|
||||
SetVehicleColDfn(columnDfn, "Seats", 50, SbmDbDfn.ColumnIdx.SaVehicleClass_Seats, ColumnAlignment.Center, DataValue.DataType.Long, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_InsuranceCode:
|
||||
SetVehicleColDfn(columnDfn, "Insurance", 70, SbmDbDfn.ColumnIdx.SaVehicleClass_InsuranceCode, ColumnAlignment.Center, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_InsuranceDesc:
|
||||
SetVehicleColDfn(columnDfn, "Insurance", 100, SbmDbDfn.ColumnIdx.SaVehicleClass_InsuranceCode, ColumnAlignment.Left, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.VehicleClass_Notes:
|
||||
SetVehicleColDfn(columnDfn, "Class Notes", 200, SbmDbDfn.ColumnIdx.SaVehicleClass_Notes, ColumnAlignment.Left, DataValue.DataType.String, aliasVehicle_VehicleClass, prefixVehicle_VehicleClass);
|
||||
break;
|
||||
case SbmVehicle.Column.RegNumber:
|
||||
SetVehicleColDfn(columnDfn, "Registration", 80, SbmDbDfn.ColumnIdx.SaVehicle_RegNumber);
|
||||
break;
|
||||
case SbmVehicle.Column.RegNumberPrev:
|
||||
SetVehicleColDfn(columnDfn, "Reg (prev)", 80, SbmDbDfn.ColumnIdx.SaVehicle_RegNumberPrev);
|
||||
break;
|
||||
case SbmVehicle.Column.Vin:
|
||||
SetVehicleColDfn(columnDfn, "Vin", 100, SbmDbDfn.ColumnIdx.SaVehicle_VIN);
|
||||
break;
|
||||
case SbmVehicle.Column.CapCode:
|
||||
SetVehicleColDfn(columnDfn, "CAP", 90, SbmDbDfn.ColumnIdx.SaVehicle_CapCode);
|
||||
break;
|
||||
case SbmVehicle.Column.KeyNumber:
|
||||
SetVehicleColDfn(columnDfn, "Key #", 90, SbmDbDfn.ColumnIdx.SaVehicle_KeyNumber);
|
||||
break;
|
||||
case SbmVehicle.Column.KeyLocation:
|
||||
SetVehicleColDfn(columnDfn, "Key loc.", 60, SbmDbDfn.ColumnIdx.SaVehicle_KeyLocation);
|
||||
break;
|
||||
case SbmVehicle.Column.EngineNumber:
|
||||
SetVehicleColDfn(columnDfn, "Engine no", 80, SbmDbDfn.ColumnIdx.SaVehicle_EngineNumber);
|
||||
break;
|
||||
case SbmVehicle.Column.BuildOn:
|
||||
SetVehicleColDfn(columnDfn, "Build on", 70, SbmDbDfn.ColumnIdx.SaVehicle_BuildOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.FirstRegisterOn:
|
||||
SetVehicleColDfn(columnDfn, "First reg.", 70, SbmDbDfn.ColumnIdx.SaVehicle_FirstRegisterOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.RegisterOn:
|
||||
SetVehicleColDfn(columnDfn, "Registered", 70, SbmDbDfn.ColumnIdx.SaVehicle_RegisterOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.PurchaseOdo:
|
||||
SetVehicleColDfn(columnDfn, "Purchase odo", 70, SbmDbDfn.ColumnIdx.SaVehicle_PurchaseOdo, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmVehicle.Column.TachoCode:
|
||||
SetVehicleColDfn(columnDfn, "Tacho", 100, SbmDbDfn.ColumnIdx.SaVehicle_TachoCode);
|
||||
break;
|
||||
case SbmVehicle.Column.TachoId:
|
||||
SetVehicleColDfn(columnDfn, "Tacho Id", 90, SbmDbDfn.ColumnIdx.SaVehicle_TachoId);
|
||||
break;
|
||||
case SbmVehicle.Column.LastServiceOdo:
|
||||
SetVehicleColDfn(columnDfn, "Last service odo", 70, SbmDbDfn.ColumnIdx.SaVehicle_LastServiceOdo, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmVehicle.Column.LastServiceOn:
|
||||
SetVehicleColDfn(columnDfn, "Last service", 70, SbmDbDfn.ColumnIdx.SaVehicle_LastServiceOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.NextServiceOdo:
|
||||
SetVehicleColDfn(columnDfn, "Next service odo", 70, SbmDbDfn.ColumnIdx.SaVehicle_NextServiceOdo, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmVehicle.Column.NextServiceOn:
|
||||
SetVehicleColDfn(columnDfn, "NextServiceOn", 70, SbmDbDfn.ColumnIdx.SaVehicle_NextServiceOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.MotOn:
|
||||
SetVehicleColDfn(columnDfn, "Mot due", 70, SbmDbDfn.ColumnIdx.SaVehicle_MotOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.MotNo:
|
||||
SetVehicleColDfn(columnDfn, "MOT No", 80, SbmDbDfn.ColumnIdx.SaVehicle_MotNo);
|
||||
break;
|
||||
case SbmVehicle.Column.NextTaxOn:
|
||||
SetVehicleColDfn(columnDfn, "Next Tax", 70, SbmDbDfn.ColumnIdx.SaVehicle_NextTaxOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmVehicle.Column.LatestOdo:
|
||||
SetVehicleColDfn(columnDfn, "Latest Odo", 70, SbmDbDfn.ColumnIdx.SaVehicle_LatestOdo, ColumnAlignment.Right, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmVehicle.Column.LatestOdoOn:
|
||||
SetVehicleColDfn(columnDfn, "Latest Odo", 70, SbmDbDfn.ColumnIdx.SaVehicle_LatestOdoOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
// Common properties.
|
||||
case SbmVehicle.Column.Notes:
|
||||
SetVehicleColDfn(columnDfn, "Notes", 200, SbmDbDfn.ColumnIdx.SaVehicle_Notes);
|
||||
break;
|
||||
case SbmVehicle.Column.Flag:
|
||||
SetVehicleColDfn(columnDfn, "Flags", 40, SbmDbDfn.ColumnIdx.SaVehicle_Flags, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmVehicle.Column.Status:
|
||||
SetVehicleColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaVehicle_Status, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmVehicle.Column.Status_Desc:
|
||||
SetVehicleColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaVehicle_Status);
|
||||
break;
|
||||
case SbmVehicle.Column.Status_Ind:
|
||||
SetVehicleColDfn(columnDfn, "Status", 50, SbmDbDfn.ColumnIdx.SaVehicle_Status, ColumnAlignment.Center, DataValue.DataType.TriState);
|
||||
columnDfn.TriStateFormat = ColumnTriStateFormat.Lights;
|
||||
break;
|
||||
case SbmVehicle.Column.CreateOn_Date:
|
||||
SetVehicleColDfn(columnDfn, "Created", 65, SbmDbDfn.ColumnIdx.SaVehicle_CreateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmVehicle.Column.UpdateOn_Date:
|
||||
SetVehicleColDfn(columnDfn, "Updated", 65, SbmDbDfn.ColumnIdx.SaVehicle_UpdateOn, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
columnDfn.DateFormat = "d-MMM-yy";
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
case SbmVehicle.Column.EventCount:
|
||||
SetVehicleColDfn(columnDfn, "Events", 60, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = dataNameVehEventCount;
|
||||
break;
|
||||
case SbmVehicle.Column.FeatureCount:
|
||||
SetVehicleColDfn(columnDfn, "Features", 60, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = dataNameVehFeatureCount;
|
||||
break;
|
||||
case SbmVehicle.Column.HpiCheckCount:
|
||||
SetVehicleColDfn(columnDfn, "HPI Checks", 70, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
columnDfn.DataName = dataNameHpiCheckCount;
|
||||
break;
|
||||
}
|
||||
if (!String.IsNullOrEmpty(caption))
|
||||
columnDfn.Caption = caption;
|
||||
if (width > 0)
|
||||
columnDfn.Width = width;
|
||||
return columnDfn;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vehicle query filter.
|
||||
public override List<string> GetVehicleQueryFilter(SbmVehicle.Params prm)
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
// Vehicle Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colVehicle_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle);
|
||||
if (!StringUtil.IsEmpty(includedIds))
|
||||
filter.Add(colVehicle_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!StringUtil.IsEmpty(excludedIds))
|
||||
filter.Add(colVehicle_Id + " NOT IN (" + excludedIds + ")");
|
||||
//---------------------------------------------------------------
|
||||
// Vehicle Class.
|
||||
String colVehicle_VehicleClassId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle);
|
||||
if (SysId.IsValid(prm.VehicleClassId))
|
||||
filter.Add(colVehicle_VehicleClassId + "=" + prm.VehicleClassId.ToString());
|
||||
String classDesc = DbQuery.FormatForCondition(prm.ClassDescPartial);
|
||||
if (!StringUtil.IsEmpty(prm.MakeCode) || !classDesc.IsEmpty())
|
||||
{
|
||||
DbQuery qryVehicleClass = new DbQuery(db.DbmsType);
|
||||
qryVehicleClass.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass);
|
||||
qryVehicleClass.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass));
|
||||
if (!StringUtil.IsEmpty(prm.MakeCode))
|
||||
qryVehicleClass.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_MakeCode, aliasVehicle_VehicleClass) + "='" + prm.MakeCode + "'");
|
||||
if (!StringUtil.IsEmpty(classDesc))
|
||||
qryVehicleClass.Filters.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_DescBrief, aliasVehicle_VehicleClass), prm.ClassDescPartial.Length) + "='" + classDesc + "'");
|
||||
filter.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle) + " IN (" + qryVehicleClass.BuildQuery() + ")");
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
// Partial Registration.
|
||||
String regNumber = DbQuery.FormatForCondition(prm.RegNumberPartial);
|
||||
if (!StringUtil.IsEmpty(regNumber))
|
||||
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumber, aliasVehicle), prm.RegNumberPartial.Length) + " ='" + regNumber + "'");
|
||||
|
||||
// Partial VIN:
|
||||
String vin = DbQuery.FormatForCondition(prm.VinPartial);
|
||||
if (!StringUtil.IsEmpty(vin))
|
||||
filter.Add(DbQuery.FormatFn_Left(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle), prm.VinPartial.Length) + " ='" + vin + "'");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Associated Assets.
|
||||
if (SysId.IsValid(prm.AssetCatIdInclude) || SysId.IsValid(prm.AssetCatIdExclude) || SysId.IsValid(prm.AssetProcessIdNext))
|
||||
{
|
||||
String aliasVehicle_Asset = "aVehAst";
|
||||
DbQuery qryAsset = new DbQuery(db.DbmsType);
|
||||
qryAsset.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset), aliasVehicle_Asset);
|
||||
qryAsset.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_Id, aliasVehicle_Asset));
|
||||
qryAsset.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemType, aliasVehicle_Asset) + "=" + ((int)Sbm.ItemType.Vehicle).ToString());
|
||||
qryAsset.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ItemId, aliasVehicle_Asset) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
|
||||
String colAsset_AssetCategoryId = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_AssetCategoryId, aliasVehicle_Asset);
|
||||
String colAsset_ProcessIdNext = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaAsset_ProcessIdNext, aliasVehicle_Asset);
|
||||
if (SysId.IsValid(prm.AssetCatIdInclude) || SysId.IsValid(prm.AssetProcessIdNext))
|
||||
{
|
||||
if (SysId.IsValid(prm.AssetCatIdInclude))
|
||||
qryAsset.Filters.Add(colAsset_AssetCategoryId + "=" + prm.AssetCatIdInclude.ToString());
|
||||
if (SysId.IsValid(prm.AssetProcessIdNext))
|
||||
qryAsset.Filters.Add(colAsset_ProcessIdNext + "=" + prm.AssetProcessIdNext.ToString());
|
||||
filter.Add(" EXISTS(" + qryAsset.BuildQuery() + ")");
|
||||
}
|
||||
if (SysId.IsValid(prm.AssetCatIdExclude))
|
||||
{
|
||||
qryAsset.Filters.Add(colAsset_AssetCategoryId + "=" + prm.AssetCatIdExclude.ToString());
|
||||
filter.Add(" NOT EXISTS(" + qryAsset.BuildQuery() + ")");
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
// Restrict to active:
|
||||
String colVehicle_Status = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Status, aliasVehicle);
|
||||
if (!StringUtil.IsEmpty(prm.RestrictToActive))
|
||||
filter.Add(colVehicle_Status + "='" + SacsSystem.GetStatusDesc(SaStatus.Active) + "'");
|
||||
|
||||
if (filter.Count < 1 && prm.IncludeDefaultFilter) filter.Add("1=1");
|
||||
return filter;
|
||||
}
|
||||
|
||||
// Vehicle sort columns.
|
||||
public List<String> GetVehicleSortColumns(SbmVehicle.Params prm)
|
||||
{
|
||||
// Sort sequence:
|
||||
List<String> sortColumnCodes = new List<String>();
|
||||
foreach (var columnDfn in prm.SortColumns)
|
||||
{
|
||||
// Need to ensure correct alias used for Vehicle columns in case of conflict.
|
||||
String sortCol = String.Empty;
|
||||
if (SbmDbDfn.GetTableForColumn((SbmDbDfn.ColumnIdx)columnDfn.DbColumn) == SbmDbDfn.TableIdx.SaVehicle)
|
||||
{
|
||||
sortCol = SbmDbDfn.GetColumnNameQual((SbmDbDfn.ColumnIdx)columnDfn.DbColumn, aliasVehicle);
|
||||
}
|
||||
else
|
||||
{
|
||||
sortCol = columnDfn.DataName;
|
||||
if (!StringUtil.IsEmpty(columnDfn.SortDataName))
|
||||
sortCol = columnDfn.SortDataName;
|
||||
}
|
||||
if (!sortCol.IsEmpty())
|
||||
{
|
||||
DbOrderByNullMode orderByNullMode = DbOrderByNullMode.Default; // eSaOrderByDemoteNulls, eSaOrderByPromoteNulls
|
||||
sortColumnCodes.Add(DbQuery.FormatForOrderBy(sortCol, columnDfn.SortAscending, orderByNullMode).Concat(", "));
|
||||
}
|
||||
}
|
||||
sortColumnCodes.RemoveBlanks();
|
||||
if (sortColumnCodes.IsEmpty())
|
||||
{
|
||||
// Default sort columns:
|
||||
sortColumnCodes.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle) + " ASC");
|
||||
}
|
||||
return sortColumnCodes;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vehicle count.
|
||||
private long GetVehicleCount(String filter)
|
||||
{
|
||||
ClearErrorState();
|
||||
return db.GetRowCount(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle) + " As " + aliasVehicle, filter);
|
||||
}
|
||||
public override long GetVehicleCount(SbmVehicle.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
return GetVehicleCount(GetVehicleQueryFilter(prm).Concat(" AND ", "(", ")"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vehicle list.
|
||||
public override List<SbmVehicle> GetVehicleList(SbmVehicle.Params prm)
|
||||
{
|
||||
List<SbmVehicle> Vehiclees = new List<SbmVehicle>();
|
||||
DbQuery qry = new DbQuery(db.DbmsType);
|
||||
qry.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle), aliasVehicle);
|
||||
SaVehicle_Db dbVehicle = new SaVehicle_Db(DbInfo);
|
||||
qry.Columns.AddRange(dbVehicle.ExistingColumnNames);
|
||||
qry.Filters.AddRange(GetVehicleQueryFilter(prm));
|
||||
qry.OrderBy.AddRange(GetVehicleSortColumns(prm));
|
||||
// Query data.
|
||||
using (var dbConnection = db.CreateConnection())
|
||||
using (var dbCommand = dbConnection.CreateCommand())
|
||||
{
|
||||
try
|
||||
{
|
||||
dbConnection.Open();
|
||||
dbCommand.CommandText = qry.BuildQuery(prm.ResultsPaging);
|
||||
using (DbDataReader dbDataReader = dbCommand.ExecuteReader())
|
||||
{
|
||||
while (dbDataReader.Read())
|
||||
{
|
||||
dbVehicle = new SaVehicle_Db(DbInfo);
|
||||
dbVehicle.PopulateFrom(dbDataReader);
|
||||
Vehiclees.Add(CreateVehicle(dbVehicle));
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
SaLogger.Warn(GetType().Name + ".GetVehicleList\n\tQuery: " + dbCommand.CommandText + "\n\tException: " + exc.Message);
|
||||
}
|
||||
}
|
||||
return Vehiclees;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vehicle query execution.
|
||||
public override DbResultSet ExecuteVehicleQuery(List<ColumnDfn> columns, SbmVehicle.Params prm)
|
||||
{
|
||||
ClearErrorState();
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle), aliasVehicle);
|
||||
|
||||
// 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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_RegNumberPrev, aliasVehicle));
|
||||
if (columns.HasId((int)SbmVehicle.Column.Vin))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VIN, aliasVehicle));
|
||||
if (columns.HasId((int)SbmVehicle.Column.CapCode))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CapCode, aliasVehicle));
|
||||
if (columns.HasId((int)SbmVehicle.Column.KeyNumber))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_KeyNumber, aliasVehicle));
|
||||
if (columns.HasId((int)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)
|
||||
{
|
||||
DbQueryJoin joinVehCat = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
joinVehCat.Table = new StringPair(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleClass), aliasVehicle_VehicleClass);
|
||||
joinVehCat.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleClass_Id, aliasVehicle_VehicleClass) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_VehicleClassId, aliasVehicle));
|
||||
query.Joins.Add(joinVehCat);
|
||||
// Add the Vehicle Category columns:
|
||||
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);
|
||||
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);
|
||||
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));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Event count.
|
||||
if (db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent)))
|
||||
{
|
||||
bool countVehicles = columns.HasId((int)SbmVehicle.Column.EventCount);
|
||||
if (countVehicles)
|
||||
{
|
||||
// Build sub query to directly return the number of associated Events:
|
||||
String aliasVehicle_VehicleEvent = "aVehVehEvt";
|
||||
DbQuery qryEvent = new DbQuery(db.DbmsType);
|
||||
qryEvent.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent), aliasVehicle_VehicleEvent);
|
||||
qryEvent.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_Id, aliasVehicle_VehicleEvent) + ")");
|
||||
qryEvent.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId, aliasVehicle_VehicleEvent) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
|
||||
query.Columns.Add("(" + qryEvent.BuildQuery() + ")", dataNameVehEventCount);
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
// Feature count.
|
||||
bool bCountFeatures = columns.HasId((int)SbmVehicle.Column.FeatureCount);
|
||||
if (bCountFeatures)
|
||||
{
|
||||
if (db.TableExists(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature)))
|
||||
{
|
||||
// Build sub query to directly return the number of associated Features:
|
||||
String aliasVehicle_VehicleFeature = "aVehVehFtr";
|
||||
DbQuery qryFeature = new DbQuery(db.DbmsType);
|
||||
qryFeature.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature), aliasVehicle_VehicleFeature);
|
||||
qryFeature.Columns.Add("Count(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature) + ")");
|
||||
qryFeature.Filters.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId, aliasVehicle_VehicleFeature) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
|
||||
query.Columns.Add("(" + qryFeature.BuildQuery() + ")", dataNameVehFeatureCount);
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// HpiCheck count.
|
||||
bool bCountHpiChecks = columns.HasId((int)SbmVehicle.Column.HpiCheckCount);
|
||||
if (bCountHpiChecks)
|
||||
{
|
||||
SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(UserContext);
|
||||
if (itemDataConsole != null && itemDataConsole.DatabaseIsValid)
|
||||
{
|
||||
// Build sub query to directly return the number of associated HpiChecks.
|
||||
String aliasVehicle_ItemData = "aVehItmDat";
|
||||
DbQuery qryItemData = new DbQuery(db.DbmsType);
|
||||
qryItemData.Tables.Add(SaItemDataDbDfn.GetTableName(SaItemDataDbDfn.TableIdx.SaItemData), aliasVehicle_ItemData);
|
||||
qryItemData.Columns.Add("Count(" + SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_Id, aliasVehicle_ItemData) + ")");
|
||||
qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemType, aliasVehicle_ItemData) + "=" + ((int)Sbm.ItemType.Vehicle).ToString());
|
||||
qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_ItemId, aliasVehicle_ItemData) + "=" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Id, aliasVehicle));
|
||||
List<TypeCodeDesc> itemDataTypes = new List<TypeCodeDesc>();
|
||||
qryItemData.Filters.Add(SaItemDataDbDfn.GetColumnNameQual(SaItemDataDbDfn.ColumnIdx.SaItemData_DataType, aliasVehicle_ItemData) + "='" + itemDataTypes.GetCodeForType(Sbm.ItemDataType.Vehicle_HpiResponse) + "'");
|
||||
query.Columns.Add("(" + qryItemData.BuildQuery() + ")", dataNameHpiCheckCount);
|
||||
}
|
||||
}
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmVehicle.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Notes, aliasVehicle));
|
||||
if (columns.HasId((int)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))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_Status, aliasVehicle));
|
||||
if (columns.HasId((int)SbmVehicle.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_CreateOn, aliasVehicle));
|
||||
if (columns.HasId((int)SbmVehicle.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaVehicle_UpdateOn, aliasVehicle));
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Populate filter.
|
||||
query.Filters.AddRange(GetVehicleQueryFilter(prm));
|
||||
|
||||
if (prm.IncludedIds.Count != 1)
|
||||
{
|
||||
// Configure sort sequence.
|
||||
foreach (String sortColumn in GetVehicleSortColumns(prm))
|
||||
query.OrderBy.Add(sortColumn);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
//return new DbResultSet_DataTableReader(db, query.BuildQuery());
|
||||
return DbResultSet_DataReader.ExecuteQuery(db, query.BuildQuery(prm.ResultsPaging));
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user