Associations
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
using Microsoft.Data.SqlClient;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Utils;
|
||||
@@ -9,7 +10,7 @@ using System.Data.Common;
|
||||
using System.Linq;
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Code generated by Sarand Database Utilities Thu 6-Jun-2024 17:06:27
|
||||
// Code generated by Sarand Database Utilities Wed 4-Dec-2024 12:38:21
|
||||
//---------------------------------------------------------------------------
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
@@ -40,33 +41,33 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
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 ColumnDataInt16Nullable _CallsPerYear { get; } = new ColumnDataInt16Nullable("CallsPerYear");
|
||||
public ColumnDataDateTimeNullable _LastCall { get; } = new ColumnDataDateTimeNullable("LastCall");
|
||||
public ColumnDataInt32Nullable _CommodityIdSalesDefault { get; } = new ColumnDataInt32Nullable("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 ColumnDataDecimalNullable _AmountTransMax { get; } = new ColumnDataDecimalNullable("AmountTransMax");
|
||||
public ColumnDataDecimalNullable _AnnualSalesTarget { get; } = new ColumnDataDecimalNullable("AnnualSalesTarget");
|
||||
public ColumnDataDecimalNullable _CreditLimit { get; } = new ColumnDataDecimalNullable("CreditLimit");
|
||||
public ColumnDataDecimalNullable _AccountBalance { get; } = new ColumnDataDecimalNullable("AccountBalance");
|
||||
public ColumnDataInt16Nullable _DiscountType { get; } = new ColumnDataInt16Nullable("DiscountType");
|
||||
public ColumnDataDecimalNullable _DiscountRate { get; } = new ColumnDataDecimalNullable("DiscountRate");
|
||||
public ColumnDataInt32Nullable _PriceSetId { get; } = new ColumnDataInt32Nullable("PriceSetId");
|
||||
public ColumnDataInt32Nullable _TaxCodeId { get; } = new ColumnDataInt32Nullable("TaxCodeId");
|
||||
public ColumnDataInt16Nullable _PaymentTerms { get; } = new ColumnDataInt16Nullable("PaymentTerms");
|
||||
public ColumnDataString _InvoiceDesc { get; } = new ColumnDataString("InvoiceDesc");
|
||||
public ColumnDataInt32 _Terminated { get; } = new ColumnDataInt32("Terminated");
|
||||
public ColumnDataInt32Nullable _Terminated { get; } = new ColumnDataInt32Nullable("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 ColumnDataInt32Nullable _CreateBy { get; } = new ColumnDataInt32Nullable("CreateBy");
|
||||
public ColumnDataString _CreateHost { get; } = new ColumnDataString("CreateHost");
|
||||
public ColumnDataDateTime _UpdateOn { get; } = new ColumnDataDateTime("UpdateOn");
|
||||
public ColumnDataInt32 _UpdateBy { get; } = new ColumnDataInt32("UpdateBy");
|
||||
public ColumnDataDateTimeNullable _UpdateOn { get; } = new ColumnDataDateTimeNullable("UpdateOn");
|
||||
public ColumnDataInt32Nullable _UpdateBy { get; } = new ColumnDataInt32Nullable("UpdateBy");
|
||||
public ColumnDataString _UpdateHost { get; } = new ColumnDataString("UpdateHost");
|
||||
}
|
||||
|
||||
@@ -131,6 +132,51 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
{
|
||||
"Id",
|
||||
};
|
||||
protected static List<String> fieldsNullable { get; } = new List<String>()
|
||||
{
|
||||
"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",
|
||||
"CreateBy",
|
||||
"CreateHost",
|
||||
"UpdateOn",
|
||||
"UpdateBy",
|
||||
"UpdateHost",
|
||||
};
|
||||
protected static List<String> fieldsIgnoreOnUpdate { get; } = new List<String>()
|
||||
{
|
||||
"CreateOn",
|
||||
@@ -175,37 +221,38 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
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 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 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 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 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 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); } }
|
||||
public List<String> UpdatableColumns { get { return ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList(); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Population.
|
||||
@@ -245,33 +292,33 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
_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);
|
||||
_CallsPerYear = GetFieldInt16Nullable(dbDataReader, "CallsPerYear", _CallsPerYear);
|
||||
_LastCall = GetFieldDateTimeNullable(dbDataReader, "LastCall", _LastCall);
|
||||
_CommodityIdSalesDefault = GetFieldInt32Nullable(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);
|
||||
_AmountTransMax = GetFieldDecimalNullable(dbDataReader, "AmountTransMax", _AmountTransMax);
|
||||
_AnnualSalesTarget = GetFieldDecimalNullable(dbDataReader, "AnnualSalesTarget", _AnnualSalesTarget);
|
||||
_CreditLimit = GetFieldDecimalNullable(dbDataReader, "CreditLimit", _CreditLimit);
|
||||
_AccountBalance = GetFieldDecimalNullable(dbDataReader, "AccountBalance", _AccountBalance);
|
||||
_DiscountType = GetFieldInt16Nullable(dbDataReader, "DiscountType", _DiscountType);
|
||||
_DiscountRate = GetFieldDecimalNullable(dbDataReader, "DiscountRate", _DiscountRate);
|
||||
_PriceSetId = GetFieldInt32Nullable(dbDataReader, "PriceSetId", _PriceSetId);
|
||||
_TaxCodeId = GetFieldInt32Nullable(dbDataReader, "TaxCodeId", _TaxCodeId);
|
||||
_PaymentTerms = GetFieldInt16Nullable(dbDataReader, "PaymentTerms", _PaymentTerms);
|
||||
_InvoiceDesc = GetFieldString(dbDataReader, "InvoiceDesc", _InvoiceDesc);
|
||||
_Terminated = GetFieldInt32(dbDataReader, "Terminated", _Terminated);
|
||||
_Terminated = GetFieldInt32Nullable(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);
|
||||
_CreateBy = GetFieldInt32Nullable(dbDataReader, "CreateBy", _CreateBy);
|
||||
_CreateHost = GetFieldString(dbDataReader, "CreateHost", _CreateHost);
|
||||
_UpdateOn = GetFieldDateTime(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateOn = GetFieldDateTimeNullable(dbDataReader, "UpdateOn", _UpdateOn);
|
||||
_UpdateBy = GetFieldInt32Nullable(dbDataReader, "UpdateBy", _UpdateBy);
|
||||
_UpdateHost = GetFieldString(dbDataReader, "UpdateHost", _UpdateHost);
|
||||
}
|
||||
|
||||
@@ -352,10 +399,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Internal
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Update command.
|
||||
public override bool ExecuteUpdateCommand (DbCommand dbCommand)
|
||||
public override bool ExecuteUpdateCommand (DbCommand dbCommand, List<String> columnsToUpdate = null)
|
||||
{
|
||||
// Columns to update.
|
||||
List<String> columnNames = ExistingColumnNamesNonId.Where(item => !fieldsPrimary.ContainsCI(item) && !fieldsIgnoreOnUpdate.ContainsCI(item)).ToList();
|
||||
List<String> columnNames = (columnsToUpdate?.Any() ?? false ? columnsToUpdate : UpdatableColumns).Where(col => UpdatableColumns.ContainsCI(col)).ToList();
|
||||
if (!columnNames.Any())
|
||||
{
|
||||
SaLogger.Warn($"{SysUtil.Fn} No columns to update. [{GetType().Name}]");
|
||||
return false;
|
||||
}
|
||||
// Construct query.
|
||||
String query = "UPDATE " + TableNameFmt + " SET ";
|
||||
if (dbCommand is SqlCommand)
|
||||
|
||||
Reference in New Issue
Block a user