Consolidate User Context
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Utils;
|
||||
@@ -45,35 +46,35 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.App
|
||||
//-------------------------------------------------------------------
|
||||
// D a t a M a n a g e r s
|
||||
//-------------------------------------------------------------------
|
||||
public override SbmAccountMgr CreateAccountMgr(SbmUserContext userContext)
|
||||
public override SbmAccountMgr CreateAccountMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmAccountMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmAssetMgr CreateAssetMgr(SbmUserContext userContext)
|
||||
public override SbmAssetMgr CreateAssetMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmAssetMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmCommodityMgr CreateCommodityMgr(SbmUserContext userContext)
|
||||
public override SbmCommodityMgr CreateCommodityMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmCommodityMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmPriceMgr CreatePriceMgr(SbmUserContext userContext)
|
||||
public override SbmPriceMgr CreatePriceMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmPriceMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmDataItemMgr CreateDataItemMgr(SbmUserContext userContext)
|
||||
public override SbmDataItemMgr CreateDataItemMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmDataItemMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmProcessMgr CreateProcessMgr(SbmUserContext userContext)
|
||||
public override SbmProcessMgr CreateProcessMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmProcessMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmStockMgr CreateStockMgr(SbmUserContext userContext)
|
||||
public override SbmStockMgr CreateStockMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmStockMgr_Dbas(userContext);
|
||||
}
|
||||
public override SbmTransactionMgr CreateTransactionMgr(SbmUserContext userContext)
|
||||
public override SbmTransactionMgr CreateTransactionMgr(ISbmUserContext userContext)
|
||||
{
|
||||
return new SbmTransactionMgr_Dbas(userContext);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.CodeTypes;
|
||||
|
||||
@@ -9,13 +10,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmCodeTypeConsole_Dbas(SacsDatabase database) : base(database)
|
||||
protected SbmCodeTypeConsole_Dbas(ISbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public ISbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.Diary;
|
||||
|
||||
@@ -9,13 +10,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmDiaryConsole_Dbas(SacsDatabase database) : base(database)
|
||||
protected SbmDiaryConsole_Dbas(ISbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public ISbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
@@ -25,7 +26,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmInterfaceConsole_Dbas(SbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext) as SacsDatabase)
|
||||
protected SbmInterfaceConsole_Dbas(ISbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
dataItemTypes = SbmSystem.GetCodesOfType(UserContext, Sbm.SystemCode.ItemType);
|
||||
@@ -44,7 +45,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; }
|
||||
public ISbmUserContext UserContext { get; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
public override short InterfaceDataType { get { return (short)Sbm.ItemType.Interface; } }
|
||||
// Consoles.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ItemData;
|
||||
|
||||
@@ -9,13 +10,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmItemDataConsole_Dbas(SacsDatabase database) : base(database)
|
||||
protected SbmItemDataConsole_Dbas(ISbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public ISbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ItemDocs;
|
||||
|
||||
@@ -9,13 +10,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmItemDocConsole_Dbas(SacsDatabase database) : base(database)
|
||||
protected SbmItemDocConsole_Dbas(ISbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public ISbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Interfaces;
|
||||
@@ -21,8 +22,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmItemOptionConsole_Dbas(SacsDatabase database) : base(database)
|
||||
protected SbmItemOptionConsole_Dbas(ISbmUserContext userContext) : base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
@@ -36,7 +38,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; set; }
|
||||
public ISbmUserContext UserContext { get; set; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
public override short ItemOptionDataType { get { return (short)Sbm.ItemType.ItemOption; } }
|
||||
private SbmAccountMgr AccountMgr { get { if (accountMgr == null) accountMgr = SbmGlobals.System.CreateAccountMgr(UserContext); return accountMgr; } }
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.UpdateLog;
|
||||
using Sarand.Net.Standard.Dbas.Base;
|
||||
using Sarand.Net.Standard.Dbas.ReferenceData;
|
||||
@@ -14,8 +15,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmReferenceDataConsole_Dbas(SbmUserContext userContext, SacsDatabase database) :
|
||||
base(database)
|
||||
protected SbmReferenceDataConsole_Dbas(ISbmUserContext userContext) :
|
||||
base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
@@ -31,7 +32,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmSessionContext SessionContext { get; }
|
||||
public SbmUserContext UserContext { get; }
|
||||
public ISbmUserContext UserContext { get; }
|
||||
// Item types.
|
||||
public override short LanguageItemType { get { return (short)Sbm.ItemDataType.Unknown; } }
|
||||
public override short RegionItemType { get { return (short)Sbm.ItemDataType.Region; } }
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Core;
|
||||
@@ -23,7 +24,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmSecurityConsole_Dbas(SbmUserContext userContext, ISacsDatabase database) : base(database)
|
||||
protected SbmSecurityConsole_Dbas(ISbmUserContext userContext) :
|
||||
base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
@@ -39,7 +41,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; }
|
||||
public ISbmUserContext UserContext { get; }
|
||||
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; } }
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.Net.Standard.Base.Bus;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
using Sarand.Net.Standard.Base.Security;
|
||||
@@ -17,7 +18,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
protected SbmUpdateLogConsole_Dbas(SbmUserContext userContext, ISacsDatabase database) : base(database)
|
||||
protected SbmUpdateLogConsole_Dbas(ISbmUserContext userContext) :
|
||||
base(SbmGlobals.Application.GetBusMgrDatabase(userContext.SessionContext))
|
||||
{
|
||||
UserContext = userContext;
|
||||
}
|
||||
@@ -32,7 +34,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Consoles
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SbmUserContext UserContext { get; }
|
||||
public ISbmUserContext UserContext { get; }
|
||||
public SbmSessionContext SessionContext { get { return UserContext.SessionContext; } }
|
||||
// Consoles.
|
||||
public SaSecurityConsole SecurityConsole
|
||||
|
||||
@@ -813,7 +813,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetAssociationColDfn(columnDfn, "Amount trans max", 90, SbmDbDfn.ColumnIdx.Association_AmountTransMax, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmAssociation.Column.AnnualSalesTarget:
|
||||
if (UserContext.SecurityProfile.Financial.CanViewFinancials)
|
||||
if (UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales))
|
||||
{
|
||||
SetAssociationColDfn(columnDfn, "Annual sales target", 90, SbmDbDfn.ColumnIdx.Association_AnnualSalesTarget, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 0;
|
||||
@@ -1241,21 +1241,21 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
columnDfn.DataName = colAssociation_LastSaleRaised;
|
||||
break;
|
||||
case SbmAssociation.Column.Trans_SalesValue_Open: // Net open sales order value.
|
||||
if (UserContext.SecurityProfile.Financial.CanViewFinancials)
|
||||
if (UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales))
|
||||
{
|
||||
SetAssociationColDfn(columnDfn, "Open sales", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.DataName = colAssociation_SalesValueOpen;
|
||||
}
|
||||
break;
|
||||
case SbmAssociation.Column.Trans_SalesValue_Cytd: // Net sales order value closed this calendar year.
|
||||
if (UserContext.SecurityProfile.Financial.CanViewFinancials)
|
||||
if (UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales))
|
||||
{
|
||||
SetAssociationColDfn(columnDfn, "Sales CYTD", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.DataName = colAssociation_SalesValueCytd;
|
||||
}
|
||||
break;
|
||||
case SbmAssociation.Column.Trans_SalesValue_Lcy: // Net sales order value closed last calendar year.
|
||||
if (UserContext.SecurityProfile.Financial.CanViewFinancials)
|
||||
if (UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales))
|
||||
{
|
||||
SetAssociationColDfn(columnDfn, "Sales LCY", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.DataName = colAssociation_SalesValueLcy;
|
||||
@@ -1839,7 +1839,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
// Retrieve the database.
|
||||
ClearErrorState();
|
||||
bool CanManageFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool CanManageFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Construct Query.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -15,7 +16,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAccountMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmAccountMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -19,7 +20,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmAssetMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmAssetMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -593,9 +593,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Create Commodity.
|
||||
public override SbmCommodity CreateCommodity(SysId id, SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code)
|
||||
public override SbmCommodity CreateCommodity(SysId affiliateIdOwner, Sbm.CommodityType commodityType, String code)
|
||||
{
|
||||
return new SbmCommodity_Dbas(Internals, id, affiliateIdOwner, commodityType, code, 0);
|
||||
return new SbmCommodity_Dbas(Internals, null, affiliateIdOwner, commodityType, code, 0);
|
||||
}
|
||||
private SbmCommodity_Dbas CreateCommodity(Commodity_Db dbCommodity)
|
||||
{
|
||||
@@ -1068,7 +1068,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
// Getting Commodity column definition.
|
||||
public override ColumnDfn GetCommodityColumnDfn(SbmCommodity.Column columnId, string caption = "", int width = 0)
|
||||
{
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
bool canViewSupplyFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySupply);
|
||||
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)columnId, caption, width);
|
||||
switch (columnId)
|
||||
@@ -1084,9 +1085,15 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
columnDfn.ReadOnly = true;
|
||||
break;
|
||||
// Commodity Properties.
|
||||
case SbmCommodity.Column.Type_Desc:
|
||||
case SbmCommodity.Column.Type:
|
||||
SetCommodityColDfn(columnDfn, "Type", 70, SbmDbDfn.ColumnIdx.Commodity_Type, ColumnAlignment.Center, DataValue.DataType.Long);
|
||||
break;
|
||||
case SbmCommodity.Column.Type_Code:
|
||||
SetCommodityColDfn(columnDfn, "Type", 70, SbmDbDfn.ColumnIdx.Commodity_Type, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmCommodity.Column.Type_Desc:
|
||||
SetCommodityColDfn(columnDfn, "Type", 90, SbmDbDfn.ColumnIdx.Commodity_Type, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmCommodity.Column.Code:
|
||||
SetCommodityColDfn(columnDfn, "Code", 120, SbmDbDfn.ColumnIdx.Commodity_Code);
|
||||
if (ConfigConsole != null && AllowConfigOption(Sbm.ConfigOption.CommodityDoubleColumnWidth))
|
||||
@@ -1318,7 +1325,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetCommodityColDfn(columnDfn, "Part number", 90, SbmDbDfn.ColumnIdx.Commodity_SupplierRef, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmCommodity.Column.CostPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
String label = GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_CostPrice, "Cost price");
|
||||
SetCommodityColDfn(columnDfn, label, 70, SbmDbDfn.ColumnIdx.Commodity_CostPrice, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
@@ -1327,7 +1334,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.CostPrice_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
String label = GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_CostPrice, "Cost price");
|
||||
SetCommodityColDfn(columnDfn, label, 70, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
@@ -1338,7 +1345,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetCommodityColDfn(columnDfn, "Place of origin", 90, SbmDbDfn.ColumnIdx.Commodity_PlaceOfOrigin);
|
||||
break;
|
||||
case SbmCommodity.Column.MaterialCost:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
String label = GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_MaterialCost, "Material cost");
|
||||
SetCommodityColDfn(columnDfn, label, 80, SbmDbDfn.ColumnIdx.Commodity_MaterialCost, ColumnAlignment.Right, DataValue.DataType.Double, aliasCommodity_CurrencyMaterial, prefixCommodity_CurrencyMaterial);
|
||||
@@ -1347,7 +1354,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.MaterialCost_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
String label = GetAttributeCaption(SbmDbDfn.ColumnIdx.Commodity_MaterialCost, "Material cost");
|
||||
SetCommodityColDfn(columnDfn, label, 90, SbmDbDfn.ColumnIdx.Commodity_MaterialCost, ColumnAlignment.Right, DataValue.DataType.String, aliasCommodity_CurrencyMaterial, prefixCommodity_CurrencyMaterial);
|
||||
@@ -1421,7 +1428,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetCommodityColDfn(columnDfn, "Customer", 100, SbmDbDfn.ColumnIdx.Affiliate_Name);
|
||||
break;
|
||||
case SbmCommodity.Column.SalesPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Sales price", 80, SbmDbDfn.ColumnIdx.Commodity_SalesPrice, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
@@ -1429,14 +1436,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.SalesPrice_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Sales price", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
columnDfn.ShowZeroValues = false;
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.RetailPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "RRP", 80, SbmDbDfn.ColumnIdx.Commodity_RetailPrice, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
@@ -1444,14 +1451,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.RetailPrice_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "RRP", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
columnDfn.ShowZeroValues = false;
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.RetailPricePlanned:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Planned RRP", 80, SbmDbDfn.ColumnIdx.Commodity_RetailPricePlanned, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
@@ -1459,14 +1466,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.RetailPricePlanned_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Planned RRP", 90, SbmDbDfn.ColumnIdx.Commodity_RetailPricePlanned, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
columnDfn.ShowZeroValues = false;
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.GrossPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Gross price", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
@@ -1474,7 +1481,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.GrossPrice_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Gross price", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
columnDfn.ShowZeroValues = false;
|
||||
@@ -1484,7 +1491,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetCommodityColDfn(columnDfn, "Unit of Sale", 100, SbmDbDfn.ColumnIdx.UnitMeasure_Single, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmCommodity.Column.CarriageCostIndicative:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Carriage cost (ind)", 80, SbmDbDfn.ColumnIdx.Commodity_CarriageCostIndicative, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
@@ -1492,7 +1499,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
break;
|
||||
case SbmCommodity.Column.CarriageCostIndicative_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetCommodityColDfn(columnDfn, "Carriage cost (ind)", 90, SbmDbDfn.ColumnIdx.Commodity_CarriageCostIndicative, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
columnDfn.ShowZeroValues = false;
|
||||
@@ -2267,23 +2274,41 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
String fn = GetType().Name + ".GetCommodityQueryFilter";
|
||||
List<String> filter = new List<String>();
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Common columns.
|
||||
String colCommodity_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, aliasCommodity);
|
||||
String colCommodity_AffIdOwner = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_AffIdOwner, aliasCommodity);
|
||||
String colCommodity_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Type, aliasCommodity);
|
||||
String colCommodity_Code = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Code, aliasCommodity);
|
||||
String colCommodity_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DescBrief, aliasCommodity);
|
||||
String colCommodity_DescDetail = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DescDetail, aliasCommodity);
|
||||
String colCommodity_SpecSummary = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_SpecSummary, aliasCommodity);
|
||||
String colCommodity_DrawingNo = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DrawingNo, aliasCommodity);
|
||||
String colCommodity_DrawingIssue = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DrawingIssue, aliasCommodity);
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Commodity Id.
|
||||
String includedIds = prm.IncludedIds.Concat(",");
|
||||
String colCommodity_Id = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, aliasCommodity);
|
||||
if (!includedIds.IsEmpty()) filter.Add(colCommodity_Id + " IN (" + includedIds + ")");
|
||||
String excludedIds = prm.ExcludedIds.Concat(",");
|
||||
if (!excludedIds.IsEmpty()) filter.Add(colCommodity_Id + " NOT IN (" + excludedIds + ")");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Owner.
|
||||
String colCommodity_AffIdOwner = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_AffIdOwner, aliasCommodity);
|
||||
bool filterByOwner = !prm.IncludedIds.HasValidIds() && !prm.PriceSetIdsIncluded.HasValidIds() && !SysId.IsValid(prm.AssociationIdCustomer) && !SysId.IsValid(prm.AssociationIdCommodityCustomer);
|
||||
if (filterByOwner) filter.Add(colCommodity_AffIdOwner + "=" + SysId.ToString(AffiliateId_Owner));
|
||||
// Organisation.
|
||||
if (SysId.IsValid(prm.AffiliateIdOrganisation))
|
||||
filter.Add(colCommodity_AffIdOwner + "=" + SysId.ToString(prm.AffiliateIdOrganisation));
|
||||
else
|
||||
{
|
||||
// Must filter by organisation if insufficient alternative filetrs.
|
||||
if (!prm.IncludedIds.HasValidIds() && !prm.PriceSetIdsIncluded.HasValidIds() && !SysId.IsValid(prm.AssociationIdCustomer) && !SysId.IsValid(prm.AssociationIdCommodityCustomer))
|
||||
{
|
||||
if (!SysId.IsValid(AffiliateId_Owner)) throw new NotSupportedException("Commodity query filter - Organisation Id must be specified");
|
||||
filter.Add(colCommodity_AffIdOwner + "=" + SysId.ToString(AffiliateId_Owner));
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Type.
|
||||
String colCommodity_Type = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Type, aliasCommodity);
|
||||
if (prm.CommodityType == Sbm.CommodityType.AnyProduct)
|
||||
filter.Add(colCommodity_Type + " In (" + ((int)Sbm.CommodityType.Stock).ToString() + "," + ((int)Sbm.CommodityType.NonStock).ToString() + ")");
|
||||
else if ((int)prm.CommodityType > 0)
|
||||
@@ -2293,7 +2318,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Code.
|
||||
String colCommodity_Code = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Code, aliasCommodity);
|
||||
if (!StringUtil.IsEmpty(prm.CodeFull))
|
||||
filter.Add(colCommodity_Code + "='" + DbQuery.FormatForCondition(prm.CodeFull) + "'");
|
||||
else if (!StringUtil.IsEmpty(prm.CodePartial))
|
||||
@@ -2307,7 +2331,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
// Brief Desc.
|
||||
bool allowEmbeddedTextSearch = true;
|
||||
bool allowFullTextSearch = true;
|
||||
String colCommodity_DescBrief = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DescBrief, aliasCommodity);
|
||||
if (!StringUtil.IsEmpty(prm.DescBriefFull))
|
||||
filter.Add(colCommodity_DescBrief + "='" + DbQuery.FormatForCondition(prm.DescBriefFull) + "'");
|
||||
else if (!StringUtil.IsEmpty(prm.DescBriefPartial))
|
||||
@@ -2327,7 +2350,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// DrawingNumber.
|
||||
String colCommodity_DrawingNo = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DrawingNo, aliasCommodity);
|
||||
if (!StringUtil.IsEmpty(prm.DrawingNoFull))
|
||||
{
|
||||
filter.Add(colCommodity_DrawingNo + "='" + DbQuery.FormatForCondition(prm.DrawingNoFull) + "'");
|
||||
@@ -2338,12 +2360,31 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
}
|
||||
|
||||
// DrawingIssue.
|
||||
String colCommodity_DrawingIssue = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DrawingIssue, aliasCommodity);
|
||||
if (!StringUtil.IsEmpty(prm.DrawingIssueFull))
|
||||
filter.Add(colCommodity_DrawingIssue + "='" + DbQuery.FormatForCondition(prm.DrawingIssueFull) + "'");
|
||||
else if (!StringUtil.IsEmpty(prm.DrawingIssuePartial))
|
||||
filter.Add(DbQuery.FormatFn_Left(colCommodity_DrawingIssue, prm.DrawingIssuePartial.Length) + "='" + DbQuery.FormatForCondition(prm.DrawingIssuePartial) + "'");
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Generic search.
|
||||
if (!StringUtil.IsEmpty(prm.Search))
|
||||
{
|
||||
List<String> searchFilter = new List<string>();
|
||||
foreach (String rawSearchValue in prm.Search.Split(new char[] { ' ', ',', ';' }))
|
||||
{
|
||||
String searchValue = DbQuery.FormatForLike(StringUtil.TrimAll(rawSearchValue));
|
||||
if (StringUtil.IsEmpty(searchValue)) continue;
|
||||
List<String> searchValueFilter = new List<string>();
|
||||
searchValueFilter.Add(colCommodity_Code + " LIKE '%" + searchValue + "%'");
|
||||
searchValueFilter.Add(colCommodity_DescBrief + " LIKE '%" + searchValue + "%'");
|
||||
searchValueFilter.Add(colCommodity_DescDetail + " LIKE '%" + searchValue + "%'");
|
||||
searchValueFilter.Add(colCommodity_SpecSummary + " LIKE '%" + searchValue + "%'");
|
||||
searchValueFilter.Add(colCommodity_DrawingNo + " LIKE '%" + searchValue + "%'");
|
||||
searchFilter.Add(searchValueFilter.Concat(" OR ", "(", ")"));
|
||||
}
|
||||
filter.AddRange(searchFilter);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Catalog.
|
||||
String colCommodity_CatalogRef = SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_CatalogRef, aliasCommodity);
|
||||
@@ -2670,7 +2711,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
ClearErrorState();
|
||||
PopulateLocationIdLists();
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSupplyFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySupply);
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Construct query.
|
||||
@@ -2693,8 +2735,10 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Commodity Properties - add columns as defined in query list.
|
||||
if (columns.HasId(SbmCommodity.Column.Id)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.Type_Desc)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Type, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.Id))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Id, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.Type) || columns.HasId(SbmCommodity.Column.Type_Code) || columns.HasId(SbmCommodity.Column.Type_Desc))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Type, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.Code)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_Code, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.DescBrief)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DescBrief, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.DescDetail)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_DescDetail, aliasCommodity));
|
||||
@@ -2740,18 +2784,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (columns.HasId(SbmCommodity.Column.NominalCodePurchase)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_NominalCodePurchase, aliasCommodity));
|
||||
//---------------------------------------------------------------
|
||||
// Currency (to come).
|
||||
if (canViewFinancials && (columns.HasId(SbmCommodity.Column.CostPrice_Fmt) ||
|
||||
columns.HasId(SbmCommodity.Column.SalesPrice_Fmt) ||
|
||||
columns.HasId(SbmCommodity.Column.RetailPrice_Fmt) ||
|
||||
columns.HasId(SbmCommodity.Column.RetailPricePlanned_Fmt) ||
|
||||
columns.HasId(SbmCommodity.Column.GrossPrice_Fmt) ||
|
||||
columns.HasId(SbmCommodity.Column.CarriageCostIndicative_Fmt)))
|
||||
if ((canViewSupplyFinancials && (columns.HasId(SbmCommodity.Column.CostPrice_Fmt))) ||
|
||||
(canViewSalesFinancials && (columns.HasId(SbmCommodity.Column.SalesPrice_Fmt) || columns.HasId(SbmCommodity.Column.RetailPrice_Fmt) || columns.HasId(SbmCommodity.Column.RetailPricePlanned_Fmt) || columns.HasId(SbmCommodity.Column.GrossPrice_Fmt) || columns.HasId(SbmCommodity.Column.CarriageCostIndicative_Fmt))))
|
||||
{
|
||||
}
|
||||
//---------------------------------------------------------------
|
||||
// Purchasing.
|
||||
if (columns.HasId(SbmCommodity.Column.Supplier_Ref)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_SupplierRef, aliasCommodity));
|
||||
if (canViewFinancials && (columns.HasId(SbmCommodity.Column.CostPrice) ||
|
||||
if (canViewSupplyFinancials && (columns.HasId(SbmCommodity.Column.CostPrice) ||
|
||||
columns.HasId(SbmCommodity.Column.CostPrice_Fmt))) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_CostPrice, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.PlaceOfOrigin)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_PlaceOfOrigin, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.MaterialCost) || columns.HasId(SbmCommodity.Column.MaterialCost_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_MaterialCost, aliasCommodity));
|
||||
@@ -2769,12 +2809,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (columns.HasId(SbmCommodity.Column.QtyOnOrder)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_QtyOnOrder, aliasCommodity));
|
||||
//---------------------------------------------------------------
|
||||
// Sales.
|
||||
if (canViewFinancials && (columns.HasId(SbmCommodity.Column.SalesPrice) ||
|
||||
if (canViewSalesFinancials && (columns.HasId(SbmCommodity.Column.SalesPrice) ||
|
||||
columns.HasId(SbmCommodity.Column.SalesPrice_Fmt) ||
|
||||
columns.HasId(SbmCommodity.Column.GrossPrice) || columns.HasId(SbmCommodity.Column.GrossPrice_Fmt))) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_SalesPrice, aliasCommodity));
|
||||
if (canViewFinancials && (columns.HasId(SbmCommodity.Column.RetailPrice) ||
|
||||
if (canViewSalesFinancials && (columns.HasId(SbmCommodity.Column.RetailPrice) ||
|
||||
columns.HasId(SbmCommodity.Column.RetailPrice_Fmt))) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_RetailPrice, aliasCommodity));
|
||||
if (canViewFinancials && (columns.HasId(SbmCommodity.Column.RetailPricePlanned) ||
|
||||
if (canViewSalesFinancials && (columns.HasId(SbmCommodity.Column.RetailPricePlanned) ||
|
||||
columns.HasId(SbmCommodity.Column.RetailPricePlanned_Fmt))) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_RetailPricePlanned, aliasCommodity));
|
||||
if (columns.HasId(SbmCommodity.Column.CarriageCostIndicative) ||
|
||||
columns.HasId(SbmCommodity.Column.CarriageCostIndicative_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_CarriageCostIndicative, aliasCommodity));
|
||||
@@ -2973,7 +3013,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.TaxCode_Code, aliasCommodity_TaxCode_Sale), prefixCommodity_TaxCode_Sale + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.TaxCode_Code, false));
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.TaxCode_TaxRate, aliasCommodity_TaxCode_Sale), prefixCommodity_TaxCode_Sale + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.TaxCode_TaxRate, false));
|
||||
}
|
||||
if (canViewFinancials && columns.HasId(SbmCommodity.Column.GrossPrice))
|
||||
if (canViewSalesFinancials && columns.HasId(SbmCommodity.Column.GrossPrice))
|
||||
{
|
||||
// Calculate RRP: SalesPrice + TaxRate%
|
||||
String colCommodity_SalesPrice = "(" + SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Commodity_SalesPrice, aliasCommodity) + "*(1.0+(" + prefixCommodity_TaxCode_Sale + SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.TaxCode_TaxRate, false) + "/100.0)))";
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -18,7 +19,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmCommodityMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmCommodityMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -19,7 +20,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmDataItemMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmDataItemMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -16,7 +17,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmPriceMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmPriceMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -20,7 +21,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmProcessMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmProcessMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.Dbas;
|
||||
@@ -19,7 +20,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmStockMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmStockMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
@@ -970,7 +970,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Sort Column ~ lColSort?
|
||||
@@ -1011,7 +1011,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Constituent_Status));
|
||||
if (ColumnExists(SbmDbDfn.ColumnIdx.Constituent_Notes))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Constituent_Notes));
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
if (ColumnExists(SbmDbDfn.ColumnIdx.Constituent_UnitCost))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Constituent_UnitCost));
|
||||
|
||||
@@ -745,7 +745,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
public override ColumnDfn GetRequirementColumnDfn(SbmRequirement.Column column, string caption = "", int width = 0)
|
||||
{
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSupplyFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySupply);
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)column, caption, width);
|
||||
switch (column)
|
||||
{
|
||||
@@ -864,47 +865,47 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
columnDfn.NumDecimals = (byte)orderQuantityDecimals;
|
||||
break;
|
||||
case SbmRequirement.Column.AmountUnit:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Unit", 62, SbmDbDfn.ColumnIdx.Requirement_AmountUnit, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountUnit_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Unit", 80, SbmDbDfn.ColumnIdx.Requirement_AmountUnit, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmRequirement.Column.AmountAct:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Estimate", 62, SbmDbDfn.ColumnIdx.Requirement_AmountAct, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountAct_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Estimate", 80, SbmDbDfn.ColumnIdx.Requirement_AmountAct, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmRequirement.Column.AmountUnitNet:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Unit", 62, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountUnitNet_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Unit", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmRequirement.Column.AmountNet:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Net", 60, SbmDbDfn.ColumnIdx.Requirement_AmountNet, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountNet_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Net", 80, SbmDbDfn.ColumnIdx.Requirement_AmountNet, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmRequirement.Column.TaxCodeId:
|
||||
@@ -917,38 +918,38 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetRequirementColDfn(columnDfn, "Tax%", 50, SbmDbDfn.ColumnIdx.Requirement_TaxRate, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmRequirement.Column.AmountTax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Tax", 60, SbmDbDfn.ColumnIdx.Requirement_AmountTax, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountTax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Tax", 80, SbmDbDfn.ColumnIdx.Requirement_AmountTax, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmRequirement.Column.AmountTot:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Total", 60, SbmDbDfn.ColumnIdx.Requirement_AmountTot, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = CurrencyDecimalsDefault;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountTot_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Total", 80, SbmDbDfn.ColumnIdx.Requirement_AmountTot, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
//-----------------------------------------------------------------
|
||||
// Derived discounts:
|
||||
case SbmRequirement.Column.PercentDiscountBySalesPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Discount % by price", 100, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 1;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.PercentDiscountByRetailPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Discount % by RRP", 100, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.NumDecimals = 1;
|
||||
@@ -993,40 +994,40 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
break;
|
||||
// Job costing.
|
||||
case SbmRequirement.Column.CostTotal:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Cost", 80, SbmDbDfn.ColumnIdx.Requirement_CostTotal, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmRequirement.Column.CostTotal_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Cost", 90, SbmDbDfn.ColumnIdx.Requirement_CostTotal, ColumnAlignment.Right);
|
||||
break;
|
||||
case SbmRequirement.Column.CostCalculated:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Cost calcuated", 90, SbmDbDfn.ColumnIdx.Requirement_CostCalculated, ColumnAlignment.Center, DataValue.DataType.Date);
|
||||
break;
|
||||
case SbmRequirement.Column.AmountMargin:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Margin", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.AmountMargin_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Margin", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.PercentMargin:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "% Margin", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.PercentMargin_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "% Margin", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
@@ -1160,11 +1161,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
break;
|
||||
}
|
||||
case SbmRequirement.Column.Trans_DeliveryAmountNet:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Delivery net.amt", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_DeliveryAmountNet_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Delivery net.amt", 100, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_DeliveryTaxCodeId:
|
||||
@@ -1183,19 +1184,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
break;
|
||||
}
|
||||
case SbmRequirement.Column.Trans_DeliveryAmountTax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Delivery tax.amt", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_DeliveryAmountTax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Delivery tax.amt", 100, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_DeliveryAmountTot:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Delivery tot.amt", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTot, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_DeliveryAmountTot_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Delivery tot.amt", 100, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTot, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_DeliveryNominalCode:
|
||||
@@ -1225,43 +1226,43 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetRequirementColDfn(columnDfn, "Currency", 80, SbmDbDfn.ColumnIdx.Currency_Symbol, ColumnAlignment.Center, DataValue.DataType.String, aliasRequirement_Currency, prefixRequirement_Currency);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountEst:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (est)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountEst, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountEst_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (est)", 90, SbmDbDfn.ColumnIdx.Transaction_AmountEst, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountMax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (max)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountMax, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountMax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (max)", 90, SbmDbDfn.ColumnIdx.Transaction_AmountMax, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountNet:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (net)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountNet, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountNet_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (net)", 90, SbmDbDfn.ColumnIdx.Transaction_AmountNet, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountTax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (tax)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountTax, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountTax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (tax)", 90, SbmDbDfn.ColumnIdx.Transaction_AmountTax, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountTot:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (tot)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountTot, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountTot_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans £ (tot)", 90, SbmDbDfn.ColumnIdx.Transaction_AmountTot, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_Transaction, prefixRequirement_Transaction);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_TimeEst:
|
||||
@@ -1314,43 +1315,43 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
//-----------------------------------------------------------------
|
||||
// Transaction cost.
|
||||
case SbmRequirement.Column.Trans_CostLabourRateHour:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans labour rate", 80, SbmDbDfn.ColumnIdx.Transaction_CostLabourRateHour, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_CostTotal:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Trans cost", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.DataName = transCostTotal;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_CostTotal_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Trans cost", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountMargin:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Trans margin", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_AmountMargin_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Trans margin", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_PercentMargin:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Trans % Margin", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmRequirement.Column.Trans_PercentMargin_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetRequirementColDfn(columnDfn, "Trans % Margin", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
@@ -1629,11 +1630,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetRequirementColDfn(columnDfn, "Customer product", 90, SbmDbDfn.ColumnIdx.CommodityCustomer_ProductCode, ColumnAlignment.Center, DataValue.DataType.String, aliasRequirement_CommodityCustomer, prefixRequirement_CommodityCustomer);
|
||||
break;
|
||||
case SbmRequirement.Column.Cmd_Cust_RetailPrice:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Customer retail", 80, SbmDbDfn.ColumnIdx.CommodityCustomer_AmountRetail, ColumnAlignment.Right, DataValue.DataType.Double, aliasRequirement_CommodityCustomer, prefixRequirement_CommodityCustomer);
|
||||
break;
|
||||
case SbmRequirement.Column.Cmd_Cust_RetailPrice_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetRequirementColDfn(columnDfn, "Customer retail", 80, SbmDbDfn.ColumnIdx.CommodityCustomer_AmountRetail, ColumnAlignment.Right, DataValue.DataType.String, aliasRequirement_CommodityCustomer, prefixRequirement_CommodityCustomer);
|
||||
break;
|
||||
case SbmRequirement.Column.Cmd_Cust_CurrencyIdRetail:
|
||||
@@ -2196,7 +2197,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
//------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSupplyFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySupply);
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
|
||||
// Columns required.
|
||||
bool requirementPromotionReq = columns.HasId((int)SbmRequirement.Column.PromotionCode) || columns.HasId((int)SbmRequirement.Column.PromotionDesc) || columns.HasId((int)SbmRequirement.Column.Promotion_AltText);
|
||||
@@ -2228,7 +2230,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (columns.HasId((int)SbmRequirement.Column.Quantity) || columns.HasId((int)SbmRequirement.Column.AmountUnitNet))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_Quantity, aliasRequirement));
|
||||
if (columns.HasId((int)SbmRequirement.Column.QuantityProd)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_QuantityProd, aliasRequirement));
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_AmountUnit, aliasRequirement));
|
||||
if (columns.HasId((int)SbmRequirement.Column.AmountAct) || columns.HasId((int)SbmRequirement.Column.AmountAct_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_AmountAct, aliasRequirement));
|
||||
@@ -2274,7 +2276,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (requiresReqColTimeAct) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_TimeAct, aliasRequirement));
|
||||
if (requiresReqColTimeTot) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_TimeTot, aliasRequirement));
|
||||
// Job costing.
|
||||
if (CostColumnsAreAvailable() && canViewFinancials)
|
||||
if (CostColumnsAreAvailable() && canViewSupplyFinancials)
|
||||
{
|
||||
if (columns.HasId((int)SbmRequirement.Column.CostTotal) || columns.HasId((int)SbmRequirement.Column.CostTotal_Fmt) || columns.HasId((int)SbmRequirement.Column.AmountMargin) || columns.HasId((int)SbmRequirement.Column.AmountMargin_Fmt) || columns.HasId((int)SbmRequirement.Column.PercentMargin) || columns.HasId((int)SbmRequirement.Column.PercentMargin_Fmt))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Requirement_CostTotal, aliasRequirement));
|
||||
@@ -2471,7 +2473,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_DeliveryDepartment)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_DeliveryDepartment);
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_DeliveryTaxCodeId)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_TaxCodeIdDelivery);
|
||||
transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_CurrencyId); // May be required for formatted requirement columns (or transaction currency columns).
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_DeliveryAmountNet) || columns.HasId((int)SbmRequirement.Column.Trans_DeliveryAmountNet_Fmt)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet);
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_DeliveryAmountTax) || columns.HasId((int)SbmRequirement.Column.Trans_DeliveryAmountTax_Fmt)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax);
|
||||
@@ -2486,7 +2488,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_TimeEst)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_TimeEst);
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_TimeAct)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_TimeAct);
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_TimeTot)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_TimeTot);
|
||||
if (canViewFinancials && columns.HasId((int)SbmRequirement.Column.Trans_CostLabourRateHour))
|
||||
if (canViewSupplyFinancials && columns.HasId((int)SbmRequirement.Column.Trans_CostLabourRateHour))
|
||||
transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_CostLabourRateHour);
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_Notes)) transactionCols.Add(SbmDbDfn.ColumnIdx.Transaction_Notes);
|
||||
if (columns.HasId((int)SbmRequirement.Column.Trans_Flags) || columns.HasId((int)SbmRequirement.Column.Trans_AllocationInd) || columns.HasId((int)SbmRequirement.Column.Trans_AllocationInd_YP) || columns.HasId((int)SbmRequirement.Column.Trans_ReplacementOrder_Tick) || columns.HasId((int)SbmRequirement.Column.Trans_ReplacementOrder_Y))
|
||||
@@ -2547,7 +2549,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//------------------------------------------------------------------
|
||||
// Transaction cost.
|
||||
if (hasTransCostCols && canViewFinancials)
|
||||
if (hasTransCostCols && canViewSupplyFinancials)
|
||||
{
|
||||
// Build sub query to calculate the total cost total across all items.
|
||||
String aliasRequirement_RequirementCost = "ReqCst";
|
||||
@@ -2790,7 +2792,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
// Add the columns.
|
||||
List<SbmDbDfn.ColumnIdx> commodityCustomerCols = new List<SbmDbDfn.ColumnIdx>();
|
||||
commodityCustomerCols.Add(SbmDbDfn.ColumnIdx.CommodityCustomer_ProductCode);
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
commodityCustomerCols.Add(SbmDbDfn.ColumnIdx.CommodityCustomer_AmountRetail);
|
||||
commodityCustomerCols.Add(SbmDbDfn.ColumnIdx.CommodityCustomer_CurrencyIdRetail);
|
||||
commodityCustomerCols.Add(SbmDbDfn.ColumnIdx.CommodityCustomer_PromotionCode);
|
||||
|
||||
@@ -810,7 +810,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
public override ColumnDfn GetTransactionColumnDfn(SbmTransaction.Column column, string caption = "", int width = 0)
|
||||
{
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSupplyFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySupply);
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
ColumnDfn columnDfn = new ColumnDfn((int)column, caption, width);
|
||||
switch (column)
|
||||
{
|
||||
@@ -909,11 +910,11 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetTransactionColDfn(columnDfn, "Stock picker", 120, SbmDbDfn.ColumnIdx.Transaction_StockPickerCode, ColumnAlignment.Center);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryAmountNet:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Delivery net amount", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet, ColumnAlignment.Center, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryAmountNet_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Delivery net amount", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet, ColumnAlignment.Center, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryTaxCodeId:
|
||||
@@ -926,19 +927,19 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetTransactionColDfn(columnDfn, "Delivery tax rate", 90, SbmDbDfn.ColumnIdx.TaxCode_TaxRate, ColumnAlignment.Center, DataValue.DataType.Double, aliasTransaction_DeliveryTaxcode, prefixTransaction_DeliveryTaxcode);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryAmountTax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Delivery tax amount", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryAmountTax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Delivery tax amount", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryAmountTot:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Delivery total amount", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTot, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryAmountTot_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Delivery total amount", 90, SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTot, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
break;
|
||||
case SbmTransaction.Column.DeliveryNominalCode:
|
||||
@@ -957,61 +958,61 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetTransactionColDfn(columnDfn, "Currency", 79, SbmDbDfn.ColumnIdx.Currency_Symbol, ColumnAlignment.Center, DataValue.DataType.String, aliasTransaction_Currency, prefixTransaction_Currency);
|
||||
break;
|
||||
case SbmTransaction.Column.AmountEst:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Amount(est)", 75, SbmDbDfn.ColumnIdx.Transaction_AmountEst, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountEst_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Amount(est)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountEst, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountMax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Amount(max)", 75, SbmDbDfn.ColumnIdx.Transaction_AmountMax, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountMax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Amount(max)", 80, SbmDbDfn.ColumnIdx.Transaction_AmountMax, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountNet:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Net", 60, SbmDbDfn.ColumnIdx.Transaction_AmountNet, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountNet_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Net", 80, SbmDbDfn.ColumnIdx.Transaction_AmountNet, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountTax:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Tax", 60, SbmDbDfn.ColumnIdx.Transaction_AmountTax, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountTax_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Tax", 80, SbmDbDfn.ColumnIdx.Transaction_AmountTax, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountTot:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Total", 60, SbmDbDfn.ColumnIdx.Transaction_AmountTot, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountTot_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Total", 80, SbmDbDfn.ColumnIdx.Transaction_AmountTot, ColumnAlignment.Right, DataValue.DataType.String);
|
||||
}
|
||||
@@ -1029,39 +1030,39 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
SetTransactionColDfn(columnDfn, "Labour rate", 90, SbmDbDfn.ColumnIdx.Transaction_CostLabourRateHour, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
break;
|
||||
case SbmTransaction.Column.CostTotal:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Total cost", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.DataName = colNameCostTotal;
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.CostTotal_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials)
|
||||
SetTransactionColDfn(columnDfn, "Total cost", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
break;
|
||||
case SbmTransaction.Column.AmountMargin:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Margin", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.AmountMargin_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "Margin", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.PercentMargin:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "% Margin", 80, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right, DataValue.DataType.Double);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
}
|
||||
break;
|
||||
case SbmTransaction.Column.PercentMargin_Fmt:
|
||||
if (canViewFinancials)
|
||||
if (canViewSupplyFinancials && canViewSalesFinancials)
|
||||
{
|
||||
SetTransactionColDfn(columnDfn, "% Margin", 90, SbmDbDfn.ColumnIdx.Unknown, ColumnAlignment.Right);
|
||||
columnDfn.ShowZeroValues = true;
|
||||
@@ -1756,7 +1757,8 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
bool canViewFinancials = UserContext.SecurityProfile.Financial.CanViewFinancials;
|
||||
bool canViewSupplyFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySupply);
|
||||
bool canViewSalesFinancials = UserContext.SecurityProfile.UserCanViewFinancials(Sbm.FinancialType.CommoditySales);
|
||||
//---------------------------------------------------------------------
|
||||
// Construct build database query.
|
||||
DbQuery query = new DbQuery(db.DbmsType);
|
||||
@@ -1790,23 +1792,26 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_DeliveryBookInCode, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.StockPickerCode) || columns.HasId((int)SbmTransaction.Column.StockPicker))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_StockPickerCode, aliasTransaction));
|
||||
if (canViewFinancials && (columns.HasId((int)SbmTransaction.Column.DeliveryAmountNet) || columns.HasId((int)SbmTransaction.Column.DeliveryAmountNet_Fmt)))
|
||||
if (canViewSalesFinancials && (columns.HasId((int)SbmTransaction.Column.DeliveryAmountNet) || columns.HasId((int)SbmTransaction.Column.DeliveryAmountNet_Fmt)))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountNet, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.DeliveryTaxCodeId)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_TaxCodeIdDelivery));
|
||||
if (canViewFinancials && (columns.HasId((int)SbmTransaction.Column.DeliveryAmountTax) || columns.HasId((int)SbmTransaction.Column.DeliveryAmountTax_Fmt)))
|
||||
if (canViewSalesFinancials && (columns.HasId((int)SbmTransaction.Column.DeliveryAmountTax) || columns.HasId((int)SbmTransaction.Column.DeliveryAmountTax_Fmt)))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTax, aliasTransaction));
|
||||
if (canViewFinancials && (columns.HasId((int)SbmTransaction.Column.DeliveryAmountTot) || columns.HasId((int)SbmTransaction.Column.DeliveryAmountTot_Fmt)))
|
||||
if (canViewSalesFinancials && (columns.HasId((int)SbmTransaction.Column.DeliveryAmountTot) || columns.HasId((int)SbmTransaction.Column.DeliveryAmountTot_Fmt)))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_DeliveryAmountTot, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.DeliveryNominalCode)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_DeliveryNominalCode, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.DeliveryDepartment)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_DeliveryDepartment, aliasTransaction));
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_CurrencyId, aliasTransaction));
|
||||
if (canViewFinancials)
|
||||
if (canViewSalesFinancials)
|
||||
{
|
||||
if (columns.HasId((int)SbmTransaction.Column.AmountEst) || columns.HasId((int)SbmTransaction.Column.AmountEst_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_AmountEst, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.AmountMax) || columns.HasId((int)SbmTransaction.Column.AmountMax_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_AmountMax, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.AmountNet) || columns.HasId((int)SbmTransaction.Column.AmountNet_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_AmountNet, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.AmountTax) || columns.HasId((int)SbmTransaction.Column.AmountTax_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_AmountTax, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.AmountTot) || columns.HasId((int)SbmTransaction.Column.AmountTot_Fmt)) query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_AmountTot, aliasTransaction));
|
||||
}
|
||||
if (canViewSupplyFinancials)
|
||||
{
|
||||
if (ColumnExists(SbmDbDfn.ColumnIdx.Transaction_CostLabourRateHour) && columns.HasId((int)SbmTransaction.Column.CostLabourRateHour))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_CostLabourRateHour, aliasTransaction));
|
||||
}
|
||||
@@ -1822,6 +1827,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Flags, aliasTransaction));
|
||||
if (columns.HasId((int)SbmTransaction.Column.Status) || columns.HasId((int)SbmTransaction.Column.Status_Desc) || columns.HasId((int)SbmTransaction.Column.Status_Ind) || columns.HasId((int)SbmTransaction.Column.Status_OnHold_Tick) || columns.HasId((int)SbmTransaction.Column.Status_OnHold_Cross) || columns.HasId((int)SbmTransaction.Column.Status_OnHold_Y))
|
||||
query.Columns.Add(SbmDbDfn.GetColumnNameQual(SbmDbDfn.ColumnIdx.Transaction_Status, aliasTransaction));
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Association - Owner Aff - Target Affiliate - Target Address
|
||||
bool hasAssocCols = false;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Bus;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
||||
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
||||
using Sarand.BusinessMgr.Net.Standard.Dbas.Data;
|
||||
using Sarand.Net.Standard.Base.App;
|
||||
@@ -33,7 +34,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SbmTransactionMgr_Dbas(SbmUserContext userContext) :
|
||||
public SbmTransactionMgr_Dbas(ISbmUserContext userContext) :
|
||||
base(userContext)
|
||||
{
|
||||
db = (SbmGlobals.Application.GetBusMgrDatabase(SessionContext) as SacsDatabase);
|
||||
|
||||
Reference in New Issue
Block a user