Rationalise business objects.
This commit is contained in:
@@ -16,12 +16,12 @@ using System.Linq;
|
||||
|
||||
namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
// Price manager - Price Sets.
|
||||
//=======================================================================
|
||||
partial class SbmPriceMgr_Dbas
|
||||
{
|
||||
//*******************************************************************
|
||||
// P r i c e S e t
|
||||
//*******************************************************************
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
private List<StringPair> GetLogProperties(SbmPriceSet priceSet)
|
||||
{
|
||||
@@ -34,6 +34,22 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Associated data.
|
||||
public override bool PriceSetHasPrices(SysId priceSetId)
|
||||
{
|
||||
ClearErrorState();
|
||||
if (!SysId.IsValid(priceSetId)) return false;
|
||||
String tablePrice = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPrice);
|
||||
if (Database.TableExists(tablePrice))
|
||||
{
|
||||
List<String> filter = new List<String>();
|
||||
filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaPrice_PriceSetId)}={SysId.ToLong(priceSetId)}");
|
||||
return Database.GetRowCount(tablePrice, filter.Concat(" AND ", "(", ")")) > 0;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Get item.
|
||||
public override SbmPriceSet GetPriceSet(SbmPriceSet.Params prm)
|
||||
@@ -76,12 +92,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
public override SbmPriceSet CreatePriceSet(String reference, Sbm.PriceType priceType)
|
||||
{
|
||||
ClearErrorState();
|
||||
return new SbmPriceSet_Dbas(Internals, new SysId(), UserContext.OrganisationAffiliateId, reference, priceType, 0);
|
||||
return new SbmPriceSet_Dbas(new SysId(), UserContext.OrganisationAffiliateId, reference, priceType, 0);
|
||||
}
|
||||
private SbmPriceSet_Dbas CreatePriceSet(SaPriceSet_Db dbPriceSet)
|
||||
{
|
||||
ClearErrorState();
|
||||
SbmPriceSet_Dbas priceSet = new SbmPriceSet_Dbas(Internals, new SysId(dbPriceSet._Id), new SysId(dbPriceSet._AffIdOwner), dbPriceSet._Ref, (Sbm.PriceType)dbPriceSet._Type, (ushort)dbPriceSet._Flags);
|
||||
SbmPriceSet_Dbas priceSet = new SbmPriceSet_Dbas(new SysId(dbPriceSet._Id), new SysId(dbPriceSet._AffIdOwner), dbPriceSet._Ref, (Sbm.PriceType)dbPriceSet._Type, (ushort)dbPriceSet._Flags);
|
||||
PopulateFrom(dbPriceSet, priceSet);
|
||||
return priceSet;
|
||||
}
|
||||
@@ -113,7 +129,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (SaPriceSet_Db.FieldsNonId.Contains("Id"))
|
||||
{
|
||||
// Generate next Id.
|
||||
dbPriceSet._Id = SysId.ToInt(Database.GetNextId("PriceSet", dbUpdateInfo));
|
||||
dbPriceSet._Id = SysId.ToInt(Database.GetNextId("SaPriceSet", dbUpdateInfo));
|
||||
}
|
||||
dbPriceSet.ExecuteInsertCommand(dbCommand);
|
||||
priceSet.Id = new SysId(dbPriceSet._Id);
|
||||
@@ -479,33 +495,33 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
query.Tables.Add(SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaPriceSet), aliasPriceSet);
|
||||
|
||||
// PriceSet Properties - add columns as defined in query list.
|
||||
if (columns.HasId((int)SbmPriceSet.Column.Id))
|
||||
if (columns.HasId(SbmPriceSet.Column.Id))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Id, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.PriceType) || columns.HasId((int)SbmPriceSet.Column.PriceType_Desc))
|
||||
if (columns.HasId(SbmPriceSet.Column.PriceType) || columns.HasId(SbmPriceSet.Column.PriceType_Desc))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Type, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.Reference))
|
||||
if (columns.HasId(SbmPriceSet.Column.Reference))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Ref, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.Name))
|
||||
if (columns.HasId(SbmPriceSet.Column.Name))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Name, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.CurrencyId))
|
||||
if (columns.HasId(SbmPriceSet.Column.CurrencyId))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_CurrencyId, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.HasStaticPrices_Tick) || columns.HasId((int)SbmPriceSet.Column.HasStaticPrices_Y))
|
||||
if (columns.HasId(SbmPriceSet.Column.HasStaticPrices_Tick) || columns.HasId(SbmPriceSet.Column.HasStaticPrices_Y))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Flags, aliasPriceSet));
|
||||
// Common Properties
|
||||
if (columns.HasId((int)SbmPriceSet.Column.Notes))
|
||||
if (columns.HasId(SbmPriceSet.Column.Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Notes, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.Status) || columns.HasId((int)SbmPriceSet.Column.Status_Desc) || columns.HasId((int)SbmPriceSet.Column.Status_Ind))
|
||||
if (columns.HasId(SbmPriceSet.Column.Status) || columns.HasId(SbmPriceSet.Column.Status_Desc) || columns.HasId(SbmPriceSet.Column.Status_Ind))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_Status, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.CreateOn_Date))
|
||||
if (columns.HasId(SbmPriceSet.Column.CreateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_CreateOn, aliasPriceSet));
|
||||
if (columns.HasId((int)SbmPriceSet.Column.UpdateOn_Date))
|
||||
if (columns.HasId(SbmPriceSet.Column.UpdateOn_Date))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.SaPriceSet_UpdateOn, aliasPriceSet));
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Currency.
|
||||
bool hasCurrencyCols = false;
|
||||
if (!hasCurrencyCols) hasCurrencyCols = columns.HasId((int)SbmPriceSet.Column.Currency_Code);
|
||||
if (!hasCurrencyCols) hasCurrencyCols = columns.HasId((int)SbmPriceSet.Column.Currency_Name);
|
||||
if (!hasCurrencyCols) hasCurrencyCols = columns.HasId(SbmPriceSet.Column.Currency_Code);
|
||||
if (!hasCurrencyCols) hasCurrencyCols = columns.HasId(SbmPriceSet.Column.Currency_Name);
|
||||
if (hasCurrencyCols)
|
||||
{
|
||||
DbQueryJoin joinCurrency = new DbQueryJoin(DbJoinType.LeftOuter);
|
||||
@@ -524,7 +540,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Price count.
|
||||
if (columns.HasId((int)SbmPriceSet.Column.PriceCount))
|
||||
if (columns.HasId(SbmPriceSet.Column.PriceCount))
|
||||
{
|
||||
String aliasPriceCount = "PriceCount";
|
||||
DbQuery qryPrice = new DbQuery(Database.DbmsType);
|
||||
|
||||
Reference in New Issue
Block a user