131 lines
5.7 KiB
C#
131 lines
5.7 KiB
C#
using Sarand.BusinessMgr.Net.Standard.Base.Consoles;
|
|
using Sarand.BusinessMgr.Net.Standard.Base.Core;
|
|
using Sarand.BusinessMgr.Net.Standard.Base.Mgr;
|
|
using Sarand.BusinessMgr.Net.Standard.Base.Mgr.Control;
|
|
using Sarand.Net.Standard.Base.App;
|
|
using Sarand.Net.Standard.Base.Core;
|
|
using Sarand.Net.Standard.Base.Utils;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
|
|
namespace Sarand.BusinessMgr.Net.Standard.Base.App
|
|
{
|
|
//=======================================================================
|
|
public abstract partial class SbmSystem : SacsSystem
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private static short assetCommodityTypeAllowed = -1;
|
|
|
|
//-------------------------------------------------------------------
|
|
// Extended logging options.
|
|
public enum ExtendedLogginOption
|
|
{
|
|
SecurityProfile,
|
|
DbQueryExecution,
|
|
Printing,
|
|
}
|
|
public static readonly String ExtendedLogging_SecurityProfile = "SecurityProfile";
|
|
public static readonly String ExtendedLogging_DbQueryExecution = "DbQueryExecution";
|
|
public static readonly String ExtendedLogging_Printing = "Printing";
|
|
private List<String> extendedLoggingOptions;
|
|
|
|
public object StringList { get; }
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction - use derived objects.
|
|
protected SbmSystem(PropertySet properties)
|
|
{
|
|
// Configure extended logging.
|
|
extendedLoggingOptions = StringListUtil.Split(properties.GetPropertyValue("Logging", "ExtendedLogging"));
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Application definitions.
|
|
public static Sbm.SessionConfig GetSessionConfigType(String consoleProperty)
|
|
{
|
|
if (consoleProperty.ContainsCI("Sarand"))
|
|
return Sbm.SessionConfig.Sarand;
|
|
if (consoleProperty.ContainsCI("MPE"))
|
|
return Sbm.SessionConfig.MPE;
|
|
if (consoleProperty.ContainsCI("BPE"))
|
|
return Sbm.SessionConfig.BPE;
|
|
if (consoleProperty.ContainsCI("Cadix") || consoleProperty.ContainsCI("CUL"))
|
|
return Sbm.SessionConfig.Cadix;
|
|
return Sbm.SessionConfig.Generic;
|
|
}
|
|
public static String GetCopyrightNotice(bool html = false)
|
|
{
|
|
return (html ? "©" : "(c)") + "2002- " + DateTime.Today.Year + "Sarand Ltd";
|
|
}
|
|
public static bool IsSysAdminSession()
|
|
{
|
|
// Dev mode.
|
|
if (IsDevHost()) return true;
|
|
// Production servers.
|
|
if (UserName.ContainsCI("Sarand"))
|
|
{
|
|
if (ComputerName.EqualsCI("SS-APP-S1")) return true;
|
|
if (ComputerName.EqualsCI("SS-APP-S2")) return true;
|
|
if (ComputerName.EqualsCI("SS-APP-LG1")) return true;
|
|
}
|
|
// Development.
|
|
if (ComputerName.ContainsCI("Sarand")) return true;
|
|
return false;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// S y s t e m C o d e s
|
|
//-------------------------------------------------------------------
|
|
public static List<TypeCodeDesc> GetSystemCodes(Sbm.SystemCode systemCode)
|
|
{
|
|
List<TypeCodeDesc> codes = systemCodes.GetValueOrDefault(systemCode);
|
|
if (codes == null)
|
|
SaLogger.Warn($"{SysUtil.Fn} Unrecognised system code type: {systemCode}.");
|
|
return codes;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// D a t a M a n a g e r s
|
|
//-------------------------------------------------------------------
|
|
public abstract SbmAccountMgr CreateAccountMgr(SbmInternals internals);
|
|
public abstract SbmAccountMgr CreateAccountMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmAssetMgr CreateAssetMgr(SbmInternals internals);
|
|
public abstract SbmAssetMgr CreateAssetMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmCommodityMgr CreateCommodityMgr(SbmInternals internals);
|
|
public abstract SbmCommodityMgr CreateCommodityMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmPriceMgr CreatePriceMgr(SbmInternals internals);
|
|
public abstract SbmPriceMgr CreatePriceMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmDataItemMgr CreateDataItemMgr(SbmInternals internals);
|
|
public abstract SbmDataItemMgr CreateDataItemMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmProcessMgr CreateProcessMgr(SbmInternals internals);
|
|
public abstract SbmProcessMgr CreateProcessMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmStockMgr CreateStockMgr(SbmInternals internals);
|
|
public abstract SbmStockMgr CreateStockMgr(ISbmUserOrganisationContext userContext);
|
|
public abstract SbmTransactionMgr CreateTransactionMgr(SbmInternals internals);
|
|
public abstract SbmTransactionMgr CreateTransactionMgr(ISbmUserOrganisationContext userContext);
|
|
// Control.
|
|
public abstract SbmcAccountMgr CreateControlAccountMgr();
|
|
public abstract SbmcInstanceMgr CreateControlInstanceMgr();
|
|
public abstract SbmcItemMgr CreateControlItemMgr();
|
|
|
|
//-------------------------------------------------------------------
|
|
// A p p l i c a t i o n P r o p e r t i e s
|
|
//-------------------------------------------------------------------
|
|
public bool IsExtendedLogging(ExtendedLogginOption extendedLoggingOption)
|
|
{
|
|
if (extendedLoggingOptions == null) return false;
|
|
if (extendedLoggingOption == ExtendedLogginOption.SecurityProfile)
|
|
return extendedLoggingOptions.ContainsCI(ExtendedLogging_SecurityProfile);
|
|
if (extendedLoggingOption == ExtendedLogginOption.DbQueryExecution)
|
|
return extendedLoggingOptions.ContainsCI(ExtendedLogging_DbQueryExecution);
|
|
if (extendedLoggingOption == ExtendedLogginOption.Printing)
|
|
return extendedLoggingOptions.ContainsCI(ExtendedLogging_Printing);
|
|
return false;
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
} |