diff --git a/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base.cs b/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base.cs index 5bb6042..7502397 100644 --- a/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base.cs +++ b/SaBusMgrCoreProcs/Procs/Procs/SbmProcess_Base.cs @@ -147,6 +147,7 @@ namespace Sarand.BusinessMgr.Net.Core.Procs.Procs // Managers. protected SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } protected SbmCommodityMgr CommodityMgr { get { return Internals.CommodityMgr; } } + protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmPriceMgr PriceMgr { get { return Internals.PriceMgr; } } protected SbmTransactionMgr TransactionMgr { get { return Internals.TransactionMgr; } } protected SbmStockMgr StockMgr { get { return Internals.StockMgr; } } diff --git a/SaBusMgrStandardBase/Base/App/Sbm-Version.cs b/SaBusMgrStandardBase/Base/App/Sbm-Version.cs index 5a00903..b816942 100644 --- a/SaBusMgrStandardBase/Base/App/Sbm-Version.cs +++ b/SaBusMgrStandardBase/Base/App/Sbm-Version.cs @@ -15,7 +15,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App //------------------------------------------------------------------- public static class Version { - private static String version { get; } = "3.0.0.1"; + private static String version { get; } = "3.0.0.2"; // Retrieve version. public static String GetFullVersion() { return version; } public static String GetAppVersion() @@ -28,7 +28,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App String[] versionElements = version.Split('.'); return String.Join(".", versionElements.Take(3)); } - catch (Exception exc) { SaLogger.Warn("Sbm.Version.ToString " + ExceptionUtil.GetErrorStateMessage(exc)); } + catch (Exception exc) { SaLogger.Warn($"Sbm.Version.ToString {ExceptionUtil.GetErrorStateMessage(exc)}"); } } return version; } @@ -37,8 +37,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.App //------------------------------------------------------------------- // Version history. //------------------------------------------------------------------- - // 3.0.0 Jul-2021 Initial demo test version. - // Initial deployment - Feb-25. + // 3.0.0 Jul-2021 Initial demo test version. + // 02-Feb-25 Initial live deployment. + // 3.0.0.1 08-Feb-25 Demo repository registration. //------------------------------------------------------------------- } //======================================================================= diff --git a/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs b/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs index b0af84b..c79b347 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmCostEstimate.cs @@ -128,13 +128,13 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus //------------------------------------------------------------------- // Construction. - public SbmCostEstimate(ISbmUserOrganisationContext userContext, Sbm.CostEstimateCategory category) : base(userContext) + public SbmCostEstimate(Sbm.CostEstimateCategory category) : base() { CostEstimateCategory = category; Status = DefaultStatus; } // Conversion from ItemLink. - public SbmCostEstimate(ISbmUserOrganisationContext userContext, String archive) : base(userContext) + public SbmCostEstimate(String archive) : base() { String[] data = archive.Split(new String[] { delimArchive }, StringSplitOptions.None); CostEstimateCategory = (Sbm.CostEstimateCategory)(data.Length > 0 ? StringUtil.ToShort(data[0]) : 0); @@ -217,7 +217,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus // Cloning - make a copy of the item. public SbmCostEstimate Clone() { - SbmCostEstimate costEstimateCost = new SbmCostEstimate(UserContext, CostEstimateCategory); + SbmCostEstimate costEstimateCost = new SbmCostEstimate(CostEstimateCategory); costEstimateCost.SetData(GetData().Clone()); return costEstimateCost; } @@ -481,7 +481,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus if (!bCommodityCostFound) { // Create a new entry for the commodity cost. - SbmCostEstimate costEstimateCost = new SbmCostEstimate(userContext, Sbm.CostEstimateCategory.CommodityCost.ToString()); + SbmCostEstimate costEstimateCost = new SbmCostEstimate(Sbm.CostEstimateCategory.CommodityCost.ToString()); costEstimateCost.Cost = cost; costEstimatesCommodity.Add(costEstimateCost); costEstimatesCommodity.Sort(); diff --git a/SaBusMgrStandardBase/Base/Bus/SbmHierarchyItem.cs b/SaBusMgrStandardBase/Base/Bus/SbmHierarchyItem.cs index 1477d8a..f20704a 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmHierarchyItem.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmHierarchyItem.cs @@ -15,24 +15,9 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus protected SbmHierarchyItem(SysId id) : base(id) { } - /// - /// Construction - avoid where possible as User Context being removed from Hierarchy Item. - /// - protected SbmHierarchyItem(ISbmUserOrganisationContext userContext) : base() - { - UserContext = userContext; - } - /// - /// Construction - avoid where possible as User Context being removed from Hierarchy Item. - /// - protected SbmHierarchyItem(ISbmUserOrganisationContext userContext, SysId id) : base(id) - { - UserContext = userContext; - } //------------------------------------------------------------------- // Properties. - public ISbmUserOrganisationContext UserContext { get; } //------------------------------------------------------------------- } diff --git a/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs b/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs index b75fb1e..efdc4d2 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmTransactionPayment.cs @@ -91,12 +91,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus //------------------------------------------------------------------- // Construction. - public SbmTransactionPayment(ISbmUserOrganisationContext userContext) : base(userContext) + public SbmTransactionPayment() : base() { Status = DefaultStatus; } // Conversion from ItemLink. - public SbmTransactionPayment(ISbmUserOrganisationContext userContext, String archive) : base(userContext) + public SbmTransactionPayment(String archive) : base() { String[] data = archive.Split(new String[] { delimArchive }, StringSplitOptions.None); type = (data.Length > 1 ? data[1] : ""); @@ -141,7 +141,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus // Cloning - make a copy of the item. public SbmTransactionPayment Clone() { - SbmTransactionPayment transactionPaymentCost = new SbmTransactionPayment(UserContext); + SbmTransactionPayment transactionPaymentCost = new SbmTransactionPayment(); //transactionPaymentCost.CopyAttributesFrom(this); transactionPaymentCost.Type = Type; transactionPaymentCost.Amount = Amount; diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs index c1e669f..356ba64 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicle.cs @@ -335,7 +335,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus //------------------------------------------------------------------- // Construction. - protected SbmVehicle(ISbmUserOrganisationContext userContext, SysId id) : base(userContext, id) + protected SbmVehicle(SysId id) : base(id) { base.SetData(data); //Database = database; @@ -540,24 +540,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus set { SetFlag(Flag_HpiAlert, value); } } - //------------------------------------------------------------------- - // O d o m e t e r R e a d i n g - //------------------------------------------------------------------- - public abstract bool SetOdometerReading(decimal odometer, DbUpdateInfo dbUpdateInfo); - - //------------------------------------------------------------------- - // A s s o c i a t e d D a t a E l e m e n t s - //------------------------------------------------------------------- - public abstract bool HasAssets(); - public abstract bool HasProcesses(); - public abstract bool HasEvents(); - public abstract long GetFeatureCount(); - public abstract bool HasFeatures(); - public abstract bool HasInterfaceDataItems(); - public abstract bool HpiCheckCount(); - public abstract bool HasItemData(); - public abstract bool ClearVehicleDependentData(DbUpdateInfo dbUpdateInfo); - //------------------------------------------------------------------- // P a r a m s //------------------------------------------------------------------- diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs index f9e9415..680798e 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicleClass.cs @@ -238,7 +238,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus public static readonly Byte Flag_DescBriefFixed = 0x01; //------------------------------------------------------------------- // Construction. - protected SbmVehicleClass(ISbmUserOrganisationContext userContext, SysId id) : base(userContext, id) + protected SbmVehicleClass(SysId id) : base(id) { base.SetData(data); Status = DefaultStatus; @@ -289,12 +289,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus if (Derivative != derivative) return false; return true; } - public abstract String ConstructCaption(String makeCode, String model, String derivative); - public String ConstructCaption() - { - // Make, model and derivative - to populate brief description. - return ConstructCaption(MakeCode, Model, Derivative); - } //------------------------------------------------------------------- // Properties. @@ -409,12 +403,6 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus set { SetFlag(Flag_DescBriefFixed, value); } } - //------------------------------------------------------------------- - // A s s o c i a t e d D a t a E l e m e n t s - //------------------------------------------------------------------- - public abstract long GetVehicleCount(); - public abstract bool HasVehicles(); - public abstract bool ClearVehicleClassDependentData(DbUpdateInfo dbUpdateInfo); //------------------------------------------------------------------- // P a r a m s //------------------------------------------------------------------- diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs index 698cd33..faf3011 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicleEvent.cs @@ -186,7 +186,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus //------------------------------------------------------------------- // Construction. - protected SbmVehicleEvent(ISbmUserOrganisationContext userContext, SysId vehicleId, Sbm.VehicleEventType vehicleEventType) : base(userContext, vehicleId) + protected SbmVehicleEvent(SysId vehicleId, Sbm.VehicleEventType vehicleEventType) : base(vehicleId) { base.SetData(data); VehicleId = vehicleId; diff --git a/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs b/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs index a12389d..8d4b66d 100644 --- a/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs +++ b/SaBusMgrStandardBase/Base/Bus/SbmVehicleFeature.cs @@ -163,7 +163,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Bus //------------------------------------------------------------------- // Construction. - protected SbmVehicleFeature(ISbmUserOrganisationContext userContext, SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType) : base(userContext) + protected SbmVehicleFeature(SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType) : base() { base.SetData(data); VehicleId = vehicleId; diff --git a/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_Vehicle.cs b/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_Vehicle.cs index 7adf768..039ba8f 100644 --- a/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_Vehicle.cs +++ b/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_Vehicle.cs @@ -10,15 +10,28 @@ using System.Collections.Generic; namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr { + //======================================================================= + // Asset manager - Vehicles. //======================================================================= partial class SbmAssetMgr { - //******************************************************************* - // V e h i c l e s - //******************************************************************* //------------------------------------------------------------------- // Utilities. + // Odometer Reading. + public abstract bool SetVehicleOdometerReading(SbmVehicle vehicle, decimal odometer, DbUpdateInfo dbUpdateInfo); + + // Associated data. + public abstract bool VehicleHasAssets(SysId vehicleId); + public abstract bool VehicleHasProcesses(SysId vehicleId); + public abstract bool VehicleHasEvents(SysId vehicleId); + public abstract long GetVehicleFeatureCount(SysId vehicleId); + public abstract bool VehicleHasFeatures(SysId vehicleId); + public abstract bool VehicleHasInterfaceDataItems(SysId vehicleId); + public abstract bool GetVehicleHpiCheckCount(SysId vehicleId); + public abstract bool VehicleHasItemData(SysId vehicleId); + public abstract bool ClearVehicleDependentData(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo); + //------------------------------------------------------------------- // Retrieve individual vehicles. //------------------------------------------------------------------- diff --git a/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_VehicleClass.cs b/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_VehicleClass.cs index 2164cdf..4709a65 100644 --- a/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_VehicleClass.cs +++ b/SaBusMgrStandardBase/Base/Mgr/SbmAssetMgr_VehicleClass.cs @@ -17,6 +17,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr { //------------------------------------------------------------------- // Utilities. + public abstract String ConstructVehicleClassCaption(String makeCode, String model, String derivative); + public String ConstructVehicleClassCaption(SbmVehicleClass vehicleClass) + { + // Make, model and derivative - to populate brief description. + return ConstructVehicleClassCaption(vehicleClass.MakeCode, vehicleClass.Model, vehicleClass.Derivative); + } + + // Association Data. + public abstract long GetVehicleClassVehicleCount(SysId vehicleClassId); + public abstract bool VehicleClassHasVehicles(SysId vehicleClassId); + public abstract bool ClearVehicleClassDependentData(SbmVehicleClass vehicleClass, DbUpdateInfo dbUpdateInfo); + public abstract List GetVehicleClasses_IdName(SbmVehicleClass.Params prm); public abstract List GetModelsForMake(String makeCode); public abstract List GetDerivativesForModel(String makeCode, String model); diff --git a/SaBusMgrStandardBase/Base/Mgr/SbmCoreMgr.cs b/SaBusMgrStandardBase/Base/Mgr/SbmCoreMgr.cs index b100794..34f6697 100644 --- a/SaBusMgrStandardBase/Base/Mgr/SbmCoreMgr.cs +++ b/SaBusMgrStandardBase/Base/Mgr/SbmCoreMgr.cs @@ -72,7 +72,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr //------------------------------------------------------------------- // Data members. - private class Members + private class DataMembers { // Externally supplied Internals - disposed elsewhere. public SbmInternals internalsSupplied; @@ -95,7 +95,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr public HashSet LocationIds_NonSales { get; } = new HashSet(); public HashSet LocationIds_Calc { get; } = new HashSet(); } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Static initialisation. @@ -197,6 +197,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Mgr // Managers. protected SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } protected SbmCommodityMgr CommodityMgr { get { return Internals.CommodityMgr; } } + protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmPriceMgr PriceMgr { get { return Internals.PriceMgr; } } protected SbmTransactionMgr TransactionMgr { get { return Internals.TransactionMgr; } } protected SbmStockMgr StockMgr { get { return Internals.StockMgr; } } diff --git a/SaBusMgrStandardBase/Base/Procs/SbmReport_Base.cs b/SaBusMgrStandardBase/Base/Procs/SbmReport_Base.cs index 563276f..39126ef 100644 --- a/SaBusMgrStandardBase/Base/Procs/SbmReport_Base.cs +++ b/SaBusMgrStandardBase/Base/Procs/SbmReport_Base.cs @@ -62,6 +62,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Base.Procs // Managers. protected SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } protected SbmCommodityMgr CommodityMgr { get { return Internals.CommodityMgr; } } + protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmPriceMgr PriceMgr { get { return Internals.PriceMgr; } } protected SbmTransactionMgr TransactionMgr { get { return Internals.TransactionMgr; } } protected SbmStockMgr StockMgr { get { return Internals.StockMgr; } } diff --git a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleClass_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleClass_Dbas.cs index 8fe90ea..ba873fe 100644 --- a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleClass_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleClass_Dbas.cs @@ -17,124 +17,18 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus { //------------------------------------------------------------------- // Data members. - private readonly SbmInternals internals; //------------------------------------------------------------------- // Construction. - public SbmVehicleClass_Dbas(SbmInternals internals, SysId id, ushort flags) : - base(internals.UserContext, id) + public SbmVehicleClass_Dbas(SysId id, ushort flags) : + base(id) { - this.internals = internals; Flags = flags; } - protected override void Dispose(bool disposing) - { - if (disposing) - { - // NB Do not dispose the Internals - owned by manager. - } - base.Dispose(disposing); - } //------------------------------------------------------------------- // Properties. - //------------------------------------------------------------------- - // ToDo SbmVehicleClass ~ ConstructionCaption on GtDescForCode - public override String ConstructCaption(String makeCode, String model, String derivative) - { - String make = ""; - SbmSystem system = SbmGlobals.System; - - SaCodeTypeConsole codeTypeConsole = internals.CodeTypeConsole; - // Identify make: - if (system == null && codeTypeConsole == null) - { - //make = codeTypeConsole.GetDescForCode(SbmSystem.GetCodeTypeCode(Sbm.ApplCodeType.VehicleMake), makeCode); - } - if (StringUtil.IsEmpty(make)) make = makeCode; - // Build class description: - String caption = derivative; - if (caption.IndexOf(make, 0) < 0 && caption.IndexOf(model, 0) < 0) - { - // Prefix the make and model if neither is found in the caption: - caption = make + " " + model + " " + derivative; - } - return caption.Trim(); - } - - //------------------------------------------------------------------- - // Associated data. - public override long GetVehicleCount() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return 0; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null) - { - String tableVehicle = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle); - if (db.TableExists(tableVehicle)) - { - List filter = new List(); - filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId) + "=" + Id.ToString()); - db.GetRowCount(tableVehicle, filter.Concat(" AND ", "(", ")")); - } - } - return 0; - } - public override bool HasVehicles() - { - return GetVehicleCount() > 0; - } - public override bool ClearVehicleClassDependentData(DbUpdateInfo dbUpdateInfo) - { - ClearErrorState(); - if (this == null || !SysId.IsValid(Id)) return false; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null && !HasErrorState()) - { - if (!HasErrorState()) - { - /* ToDo SaItemDocConsole for Remove document references: - SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(userContext.SessionContext); - if (itemDocConsole != null) - { - if (!itemDocConsole.ClearItemDocs(Sbm.ItemType.AssetCategory, Id)) - SetErrorState(itemDocConsole.Exception()); - } - else SetErrorState("Failed to retrieve item document console"); - itemDocConsole = null;*/ // Do not delete this global object. - } - if (!HasErrorState()) - { - /* ToDo SaItemDataConsole for Remove Item Data: - SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext); - if (itemDataConsole != null) - { - if (!itemDataConsole.ClearItemData(Sbm.ItemType.AssetCategory, Id, "")) - SetErrorState(itemDataConsole.Exception()); - } - else SetErrorState("Failed to retrieve item Dataument console"); - itemDataConsole = null;*/ // Do not delete this global object. - } - if (!HasErrorState()) - { - // Remove interface data items: - SaInterfaceConsole interfaceConsole = internals.InterfaceConsole; - //DbUpdateInfo dbUpdateInfo = userContext.DbUpdateInfo; - if (interfaceConsole != null) - { - if (!interfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.AssetCategory, Id), dbUpdateInfo)) - SetErrorState(interfaceConsole.ErrorStateMessage); - } - else SetErrorState("Failed to retrieve interface console"); - interfaceConsole = null; // Do not delete this global object. - } - } - else SetErrorState("database is unavailable"); - return OK; - } - //------------------------------------------------------------------- } //======================================================================= diff --git a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleEvent_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleEvent_Dbas.cs index 0a972e0..fd5d77f 100644 --- a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleEvent_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleEvent_Dbas.cs @@ -9,31 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus { //------------------------------------------------------------------- // Data members. - private readonly SbmInternals internals; //------------------------------------------------------------------- // Construction. - public SbmVehicleEvent_Dbas(SbmInternals internals, SysId vehicleId, Sbm.VehicleEventType vehicleEventType, ushort flags) : - base(internals.UserContext, vehicleId, vehicleEventType) + public SbmVehicleEvent_Dbas(SysId vehicleId, Sbm.VehicleEventType vehicleEventType, ushort flags) : + base(vehicleId, vehicleEventType) { - this.internals = internals; - if (this.internals != null) { } Flags = flags; } - protected override void Dispose(bool disposing) - { - if (disposing) - { - // NB Do not dispose the Internals - owned by manager. - } - base.Dispose(disposing); - } - - //------------------------------------------------------------------- - // Properties. - - //------------------------------------------------------------------- - // Associated data. //------------------------------------------------------------------- } diff --git a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleFeature_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleFeature_Dbas.cs index b47662e..ef605e5 100644 --- a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleFeature_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicleFeature_Dbas.cs @@ -9,31 +9,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus { //------------------------------------------------------------------- // Data members. - private readonly SbmInternals internals; //------------------------------------------------------------------- // Construction. - public SbmVehicleFeature_Dbas(SbmInternals internals, SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType, ushort flags) : - base(internals.UserContext, vehicleId, vehicleFeatureSource, vehicleFeatureType) + public SbmVehicleFeature_Dbas(SysId vehicleId, Sbm.VehicleFeatureSource vehicleFeatureSource, Sbm.VehicleFeatureType vehicleFeatureType, ushort flags) : + base(vehicleId, vehicleFeatureSource, vehicleFeatureType) { - this.internals = internals; - if (this.internals != null) { } Flags = flags; } - protected override void Dispose(bool disposing) - { - if (disposing) - { - // NB Do not dispose the Internals - owned by manager. - } - base.Dispose(disposing); - } - - //------------------------------------------------------------------- - // Properties. - - //------------------------------------------------------------------- - // Associated data. //------------------------------------------------------------------- } diff --git a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicle_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicle_Dbas.cs index 540639a..44276f5 100644 --- a/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicle_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Bus/SbmVehicle_Dbas.cs @@ -16,255 +16,16 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Bus { //------------------------------------------------------------------- // Data members. - private readonly SbmInternals internals; //------------------------------------------------------------------- // Construction. - public SbmVehicle_Dbas(SbmInternals internals, SysId id, ushort flags) : - base(internals.UserContext, id) + public SbmVehicle_Dbas(SysId id, ushort flags) : + base(id) { - this.internals = internals; Flags = flags; } - protected override void Dispose(bool disposing) - { - if (disposing) - { - // NB Do not dispose the Internals - owned by manager. - } - base.Dispose(disposing); - } //------------------------------------------------------------------- - // Properties. - - //------------------------------------------------------------------- - // O d o m e t e r R e a d i n g - //------------------------------------------------------------------- - public override bool SetOdometerReading(decimal odometer, DbUpdateInfo dbUpdateInfo) - { - if (SysId.IsValid(Id) || odometer < 1) return false; - DateTime todayDate = DateTime.MinValue; - // Check whether there is already a reading for today. - SbmVehicleEvent vehicleEventUpdated = null; - SbmVehicleEvent.Params prm = new SbmVehicleEvent.Params(); - prm.VehicleId = Id; - prm.VehicleEventType = Sbm.VehicleEventType.Odometer; - foreach (SbmVehicleEvent vehicleEvent in internals.AssetMgr.GetVehicleEventList(prm)) - { - // Check whether this event should be used in preference to any previously found. - if (vehicleEvent.StartOn.Date == todayDate) - { - // Always refresh any odometer reading recorded today. - vehicleEventUpdated = vehicleEvent; - break; - } - else if (vehicleEventUpdated == null && vehicleEvent.Odometer == odometer) - vehicleEventUpdated = vehicleEvent; // Events with the same reading can be updated (to refresh the date). - else if (vehicleEventUpdated == null && vehicleEvent.StartOn.Date > vehicleEventUpdated.StartOn.Date && vehicleEvent.Odometer == odometer) - vehicleEventUpdated = vehicleEvent; // Events with the same reading and more recent date can be refreshed. - } - if (vehicleEventUpdated != null) - { - vehicleEventUpdated.StartOn = todayDate; - vehicleEventUpdated.FinishOn = todayDate; - vehicleEventUpdated.Odometer = odometer; - if (internals.AssetMgr.UpdateVehicleEvent(vehicleEventUpdated, dbUpdateInfo)) - { - } -#if _DEBUG - else TRACE("SapVehicle::SetOdometerReading: Failed to update vehicle event - %s\n", assetMgr.ErrorStateMessage); -#endif - } - else - { - // Create a new reading. - SbmVehicleEvent vehicleEvent = internals.AssetMgr.CreateVehicleEvent(Id, Sbm.VehicleEventType.Odometer); - if (vehicleEvent != null) - { - vehicleEventUpdated.StartOn = todayDate; - vehicleEventUpdated.FinishOn = todayDate; - vehicleEventUpdated.Odometer = odometer; - if (internals.AssetMgr.InsertVehicleEvent(vehicleEvent, dbUpdateInfo)) - { - } -#if _DEBUG - else TRACE("SapVehicle::SetOdometerReading: Failed to add vehicle event - %s\n", assetMgr.ErrorStateMessage); -#endif - } -#if _DEBUG - else TRACE("SapVehicle::SetOdometerReading: Failed to create vehicle event - %s\n", assetMgr.ErrorStateMessage); -#endif - } - // Update this vehicle itself. - LatestOdo = odometer; - LatestOdoOn = todayDate; - internals.AssetMgr.UpdateVehicle(this, dbUpdateInfo); - - return true; - } - - //------------------------------------------------------------------- - // Associated data. - public override bool HasAssets() - { - if (!SysId.IsValid(Id)) return false; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null) - { - String tableAsset = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset); - if (db.TableExists(tableAsset)) - { - List filter = new List(); - filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_ItemType) + "=" + ((int)Sbm.ItemType.Vehicle).ToString()); - filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_ItemId) + "=" + Id.ToString()); - return db.GetRowCount(tableAsset, filter.Concat(" AND ", "(", ")")) > 0; - } - } - return false; - } - - public override bool HasProcesses() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return false; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null) - { - String tableAssetProcess = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess); - if (db.TableExists(tableAssetProcess)) - { - List filter = new List(); - filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId) + "=" + Id.ToString()); - return db.GetRowCount(tableAssetProcess, filter.Concat(" AND ", "(", ")")) > 0; - } - } - return false; - } - public override bool HasEvents() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return false; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null) - { - String tableVehicleEvent = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent); - if (db.TableExists(tableVehicleEvent)) - { - List filter = new List(); - filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId) + "=" + Id.ToString()); - return db.GetRowCount(tableVehicleEvent, filter.Concat(" AND ", "(", ")")) > 0; - } - } - return false; - } - public override long GetFeatureCount() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return 0; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null) - { - String tableVehicleFeature = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature); - if (db.TableExists(tableVehicleFeature)) - { - List filter = new List(); - filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId) + "=" + Id.ToString()); - db.GetRowCount(tableVehicleFeature, filter.Concat(" AND ", "(", ")")); - } - } - return 0; - } - public override bool HasFeatures() - { - return GetFeatureCount() > 0; - } - public override bool HasInterfaceDataItems() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return false; - SaInterfaceConsole interfaceConsole = internals.InterfaceConsole; - if (interfaceConsole == null) return false; - return interfaceConsole.ItemHasDataItems(new SbmItemId(Sbm.ItemType.Vehicle, Id)); - } - public override bool HpiCheckCount() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return false; - - // ToDo ItemDataConsole & SbmItemData.Params for HpiCheckCount - /*SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext); - if (itemDataConsole == null) - { - SbmItemData.Params prmData = new SbmItemData.Params(); - prmData.lItemId.Add(SaItemId.Id, Sbm.ItemType.Vehicle); - List itemDataTypes = SbmSystem.GetCodesOfType(Sbm.SystemCode.ItemDataType); - prmData.lDataType.Add(itemDataTypes.GetCodeForType(Sbm.ItemData.Vehicle_HpiResponse)); - prmData.lDataType.RemoveEmpty(); - if (!StringUtil.IsEmpty(prmData.lDataType)) - itemDataConsole.GetItemDataCount(prmData); - }*/ - return false; - } - public override bool HasItemData() - { - ClearErrorState(); - if (!SysId.IsValid(Id)) return false; - // ToDo ItemDataConsole & SbmItemData.Params for HasItemData - /*SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext); - SbmItemData.Params prmData = new SbmItemData.Params(); - prmData.lItemId.Add(Id, Sbm.ItemType.Vehicle); - itemDataConsole != null && itemDataConsole.ItemDataExists(prmData);*/ - return false; - } - public override bool ClearVehicleDependentData(DbUpdateInfo dbUpdateInfo) - { - ClearErrorState(); - if (this == null || !SysId.IsValid(Id)) return false; - ISacsDatabase db = internals.BusMgrDatabase; - if (db != null && !HasErrorState()) - { - if (!HasErrorState()) - { - /* ToDo SaItemDocConsole for Remove document references: - SaItemDocConsole itemDocConsole = SbmGlobals.Application.GetItemDocConsole(userContext.SessionContext); - if (itemDocConsole != null) - { - if (!itemDocConsole.ClearItemDocs(Sbm.ItemType.AssetCategory, Id)) - SetErrorState(itemDocConsole.Exception()); - } - else SetErrorState("Failed to retrieve item document console"); - itemDocConsole = null;*/ // Do not delete this global object. - } - if (!HasErrorState()) - { - /* ToDo SaItemDataConsole for Remove Item Data: - SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext); - if (itemDataConsole != null) - { - if (!itemDataConsole.ClearItemData(Sbm.ItemType.AssetCategory, Id, "")) - SetErrorState(itemDataConsole.Exception()); - } - else SetErrorState("Failed to retrieve item Dataument console"); - itemDataConsole = null;*/ // Do not delete this global object. - } - if (!HasErrorState()) - { - // Remove interface data items. - SaInterfaceConsole interfaceConsole = internals.InterfaceConsole; - if (interfaceConsole != null) - { - if (!interfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.AssetCategory, Id), dbUpdateInfo)) - SetErrorState(interfaceConsole.ErrorStateMessage); - } - else SetErrorState("Failed to retrieve interface console"); - interfaceConsole = null; // Do not delete this global object. - } - } - else SetErrorState("database is unavailable"); - return OK; - } - } //======================================================================= } diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs index 6c3c51f..0459b02 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Affiliate.cs @@ -136,7 +136,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { if (InterfaceConsole != null) { - if (!InterfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.Association, affiliateId), DbUpdateInfo)) + if (!InterfaceConsole.ClearInterfaceDataItems(new SbmItemId(Sbm.ItemType.Association, affiliateId), dbUpdateInfo)) SetErrorState("Failed to clear interface data items - " + InterfaceConsole.ErrorStateMessage); } else SetErrorState("failed to initialise interface console"); diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association-Utils.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association-Utils.cs index ac47f00..9a2202a 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association-Utils.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas-Association-Utils.cs @@ -228,7 +228,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { if (InterfaceConsole != null) { - if (!InterfaceConsole.ClearInterfaceDataItems(association.GetItemId(), DbUpdateInfo)) + if (!InterfaceConsole.ClearInterfaceDataItems(association.GetItemId(), dbUpdateInfo)) SetErrorState("Failed to clear interface data items - " + InterfaceConsole.ErrorStateMessage); } else SetErrorState("failed to initialise interface console"); @@ -238,7 +238,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { if (ItemDocConsole != null) { - if (!ItemDocConsole.ClearItemDocs(association.GetItemId(), DbUpdateInfo)) + if (!ItemDocConsole.ClearItemDocs(association.GetItemId(), dbUpdateInfo)) SetErrorState(ItemDocConsole.ErrorStateMessage); } else SetErrorState("Failed to retrieve item document console"); diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas.cs index 5f6b9f2..8bd2102 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAccountMgr_Dbas.cs @@ -13,12 +13,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs index cca0558..e995079 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-Vehicle.cs @@ -7,6 +7,7 @@ using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; +using Sarand.Net.Standard.Base.Interfaces; using Sarand.Net.Standard.Base.ItemData; using Sarand.Net.Standard.Base.Utils; using Sarand.Net.Standard.Dbas.Data; @@ -35,10 +36,189 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr } //------------------------------------------------------------------- - // Data members. + // Odometer Reading. + public override bool SetVehicleOdometerReading(SbmVehicle vehicle, decimal odometer, DbUpdateInfo dbUpdateInfo) + { + if (vehicle == null || !SysId.IsValid(vehicle.Id) || odometer < 1) return false; + DateTime todayDate = DateTime.MinValue; + // Check whether there is already a reading for today. + SbmVehicleEvent vehicleEventUpdated = null; + SbmVehicleEvent.Params prm = new SbmVehicleEvent.Params(); + prm.VehicleId = vehicle.Id; + prm.VehicleEventType = Sbm.VehicleEventType.Odometer; + foreach (SbmVehicleEvent vehicleEvent in GetVehicleEventList(prm)) + { + // Check whether this event should be used in preference to any previously found. + if (vehicleEvent.StartOn.Date == todayDate) + { + // Always refresh any odometer reading recorded today. + vehicleEventUpdated = vehicleEvent; + break; + } + else if (vehicleEventUpdated == null && vehicleEvent.Odometer == odometer) + vehicleEventUpdated = vehicleEvent; // Events with the same reading can be updated (to refresh the date). + else if (vehicleEventUpdated == null && vehicleEvent.StartOn.Date > vehicleEventUpdated.StartOn.Date && vehicleEvent.Odometer == odometer) + vehicleEventUpdated = vehicleEvent; // Events with the same reading and more recent date can be refreshed. + } + if (vehicleEventUpdated != null) + { + vehicleEventUpdated.StartOn = todayDate; + vehicleEventUpdated.FinishOn = todayDate; + vehicleEventUpdated.Odometer = odometer; + if (UpdateVehicleEvent(vehicleEventUpdated, dbUpdateInfo)) + { + } +#if _DEBUG + else TRACE("SapVehicle::SetOdometerReading: Failed to update vehicle event - %s\n", assetMgr.ErrorStateMessage); +#endif + } + else + { + // Create a new reading. + SbmVehicleEvent vehicleEvent = CreateVehicleEvent(vehicle.Id, Sbm.VehicleEventType.Odometer); + if (vehicleEvent != null) + { + vehicleEventUpdated.StartOn = todayDate; + vehicleEventUpdated.FinishOn = todayDate; + vehicleEventUpdated.Odometer = odometer; + if (InsertVehicleEvent(vehicleEvent, dbUpdateInfo)) + { + } +#if _DEBUG + else TRACE("SapVehicle::SetOdometerReading: Failed to add vehicle event - %s\n", assetMgr.ErrorStateMessage); +#endif + } +#if _DEBUG + else TRACE("SapVehicle::SetOdometerReading: Failed to create vehicle event - %s\n", assetMgr.ErrorStateMessage); +#endif + } + // Update this vehicle itself. + vehicle.LatestOdo = odometer; + vehicle.LatestOdoOn = todayDate; + UpdateVehicle(vehicle, dbUpdateInfo); + + return true; + } //------------------------------------------------------------------- - // Get Vehicle. + // Associated data. + public override bool VehicleHasAssets(SysId vehicleId) + { + if (!SysId.IsValid(vehicleId)) return false; + String tableAsset = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAsset); + if (Database.TableExists(tableAsset)) + { + List filter = new List(); + filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_ItemType) + "=" + ((int)Sbm.ItemType.Vehicle).ToString()); + filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAsset_ItemId) + "=" + vehicleId.ToString()); + return Database.GetRowCount(tableAsset, filter.Concat(" AND ", "(", ")")) > 0; + } + return false; + } + + public override bool VehicleHasProcesses(SysId vehicleId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleId)) return false; + String tableAssetProcess = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaAssetProcess); + if (Database.TableExists(tableAssetProcess)) + { + List filter = new List(); + filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaAssetProcess_AssetId) + "=" + vehicleId.ToString()); + return Database.GetRowCount(tableAssetProcess, filter.Concat(" AND ", "(", ")")) > 0; + } + return false; + } + public override bool VehicleHasEvents(SysId vehicleId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleId)) return false; + String tableVehicleEvent = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleEvent); + if (Database.TableExists(tableVehicleEvent)) + { + List filter = new List(); + filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleEvent_VehicleId) + "=" + vehicleId.ToString()); + return Database.GetRowCount(tableVehicleEvent, filter.Concat(" AND ", "(", ")")) > 0; + } + return false; + } + public override long GetVehicleFeatureCount(SysId vehicleId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleId)) return 0; + String tableVehicleFeature = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicleFeature); + if (Database.TableExists(tableVehicleFeature)) + { + List filter = new List(); + filter.Add(SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId) + "=" + vehicleId.ToString()); + Database.GetRowCount(tableVehicleFeature, filter.Concat(" AND ", "(", ")")); + } + return 0; + } + public override bool VehicleHasFeatures(SysId vehicleId) + { + return GetVehicleFeatureCount(vehicleId) > 0; + } + public override bool VehicleHasInterfaceDataItems(SysId vehicleId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleId)) return false; + return InterfaceConsole.ItemHasDataItems(new SbmItemId(Sbm.ItemType.Vehicle, vehicleId)); + } + public override bool GetVehicleHpiCheckCount(SysId vehicleId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleId)) return false; + + // ToDo ItemDataConsole & SbmItemData.Params for HpiCheckCount + /*SaItemDataConsole itemDataConsole = SbmGlobals.Application.GetItemDataConsole(userContext.SessionContext); + if (itemDataConsole == null) + { + SbmItemData.Params prmData = new SbmItemData.Params(); + prmData.lItemId.Add(SaItemId.Id, Sbm.ItemType.Vehicle); + List itemDataTypes = SbmSystem.GetCodesOfType(Sbm.SystemCode.ItemDataType); + prmData.lDataType.Add(itemDataTypes.GetCodeForType(Sbm.ItemData.Vehicle_HpiResponse)); + prmData.lDataType.RemoveEmpty(); + if (!StringUtil.IsEmpty(prmData.lDataType)) + itemDataConsole.GetItemDataCount(prmData); + }*/ + return false; + } + public override bool VehicleHasItemData(SysId vehicleId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleId)) return false; + SaItemData.Params prmData = new SaItemData.Params(); + prmData.ItemIdsIncluded.Add(new SbmItemId(Sbm.ItemType.Vehicle, vehicleId)); + return ItemDataConsole.ItemDataExists(prmData); + } + public override bool ClearVehicleDependentData(SbmVehicle vehicle, DbUpdateInfo dbUpdateInfo) + { + ClearErrorState(); + if (vehicle == null || !SysId.IsValid(vehicle.Id)) return false; + if (!HasErrorState()) + { + // Remove document references: + if (!ItemDocConsole.ClearItemDocs(vehicle.GetItemId(), dbUpdateInfo)) + SetErrorState(ItemDocConsole.ErrorStateMessage); + } + if (!HasErrorState()) + { + // Remove Item Data. + if (!ItemDataConsole.ClearItemData(vehicle.GetItemId(), dbUpdateInfo)) + SetErrorState(ItemDataConsole.ErrorStateMessage); + } + if (!HasErrorState()) + { + // Remove interface data items. + if (!InterfaceConsole.ClearInterfaceDataItems(vehicle.GetItemId(), dbUpdateInfo)) + SetErrorState(InterfaceConsole.ErrorStateMessage); + } + return OK; + } + + //------------------------------------------------------------------- + // Get Item. public override SbmVehicle GetVehicle(SbmVehicle.Params prm) { return GetVehicle(GetVehicleQueryFilter(prm).Concat(" AND ", "(", ")")); @@ -80,12 +260,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr public override SbmVehicle CreateVehicle() { ClearErrorState(); - return new SbmVehicle_Dbas(Internals, new SysId(), 0); + return new SbmVehicle_Dbas(new SysId(), 0); } private SbmVehicle_Dbas CreateVehicle(SaVehicle_Db dbVehicle) { ClearErrorState(); - SbmVehicle_Dbas vehicle = new SbmVehicle_Dbas(Internals, new SysId(dbVehicle._Id), (ushort)dbVehicle._Flags); + SbmVehicle_Dbas vehicle = new SbmVehicle_Dbas(new SysId(dbVehicle._Id), (ushort)dbVehicle._Flags); PopulateFrom(dbVehicle, vehicle); return vehicle; } diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs index c961b4d..4971000 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleClass.cs @@ -5,8 +5,10 @@ using Sarand.BusinessMgr.Net.Standard.Dbas.Internal; using Sarand.BusinessMgr.Net.Standard.Dbas.UpdateLog; using Sarand.Net.Standard.Base.App; using Sarand.Net.Standard.Base.Bus; +using Sarand.Net.Standard.Base.CodeTypes; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; +using Sarand.Net.Standard.Base.Interfaces; using Sarand.Net.Standard.Base.Utils; using Sarand.Net.Standard.Dbas.Data; using System; @@ -24,6 +26,68 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { //------------------------------------------------------------------- // Utilities. + + // ToDo SbmVehicleClass ~ ConstructionCaption on GtDescForCode + public override String ConstructVehicleClassCaption(String makeCode, String model, String derivative) + { + // Identify make. + String make = makeCode; // Internals.CodeTypeConsole.GetDescForCode(SbmSystem.GetCodeTypeCode(Sbm.ApplCodeType.VehicleMake), makeCode); + if (StringUtil.IsEmpty(make)) make = makeCode; + // Build class description: + String caption = derivative; + if (!caption.ContainsCI(make) && !caption.ContainsCI(model)) + { + // Prefix the make and model if neither is found in the caption: + caption = StringUtil.TrimWhitespace(make + " " + model + " " + derivative); + } + return caption.Trim(); + } + + //------------------------------------------------------------------- + // Associated data. + public override long GetVehicleClassVehicleCount(SysId vehicleClassId) + { + ClearErrorState(); + if (!SysId.IsValid(vehicleClassId)) return 0; + String tableVehicle = SbmDbDfn.GetTableName(SbmDbDfn.TableIdx.SaVehicle); + if (Database.TableExists(tableVehicle)) + { + List filter = new List(); + filter.Add($"{SbmDbDfn.GetColumnName(SbmDbDfn.ColumnIdx.SaVehicleFeature_VehicleId)}={SysId.ToLong(vehicleClassId)}"); + Database.GetRowCount(tableVehicle, filter.Concat(" AND ", "(", ")")); + } + return 0; + } + public override bool VehicleClassHasVehicles(SysId vehicleClassId) + { + return GetVehicleClassVehicleCount(vehicleClassId) > 0; + } + public override bool ClearVehicleClassDependentData(SbmVehicleClass vehicleClass, DbUpdateInfo dbUpdateInfo) + { + ClearErrorState(); + if (vehicleClass == null || !SysId.IsValid(vehicleClass.Id)) return false; + if (!HasErrorState()) + { + // Remove document references: + if (!ItemDocConsole.ClearItemDocs(vehicleClass.GetItemId(), dbUpdateInfo)) + SetErrorState(ItemDocConsole.ErrorStateMessage); + } + if (!HasErrorState()) + { + // Clear Item Data. + if (!ItemDataConsole.ClearItemData(vehicleClass.GetItemId(), dbUpdateInfo)) + SetErrorState(ItemDataConsole.ErrorStateMessage); + } + if (!HasErrorState()) + { + // Remove interface data items: + if (!InterfaceConsole.ClearInterfaceDataItems(vehicleClass.GetItemId(), dbUpdateInfo)) + SetErrorState(InterfaceConsole.ErrorStateMessage); + } + return OK; + } + + //------------------------------------------------------------------- private List GetLogProperties(SbmVehicleClass vehicleClass) { return new List() @@ -170,12 +234,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr public override SbmVehicleClass CreateVehicleClass() { ClearErrorState(); - return new SbmVehicleClass_Dbas(Internals, new SysId(), 0); + return new SbmVehicleClass_Dbas(new SysId(), 0); } private SbmVehicleClass_Dbas CreateVehicleClass(SaVehicleClass_Db dbVehicleClass) { ClearErrorState(); - SbmVehicleClass_Dbas vehicleClass = new SbmVehicleClass_Dbas(Internals, new SysId(dbVehicleClass._Id), (ushort)dbVehicleClass._Flags); + SbmVehicleClass_Dbas vehicleClass = new SbmVehicleClass_Dbas(new SysId(dbVehicleClass._Id), (ushort)dbVehicleClass._Flags); PopulateFrom(dbVehicleClass, vehicleClass); return vehicleClass; } diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs index bd5ee57..161fbb9 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleEvent.cs @@ -80,14 +80,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr ClearErrorState(); SbmVehicleEvent vehicleEvent = null; if (vehicleEventType > 0) - vehicleEvent = new SbmVehicleEvent_Dbas(Internals, vehicleId, vehicleEventType, 0); + vehicleEvent = new SbmVehicleEvent_Dbas(vehicleId, vehicleEventType, 0); else SetErrorState("Asset type not identified"); return vehicleEvent; } private SbmVehicleEvent_Dbas CreateVehicleEvent(SaVehicleEvent_Db dbVehicleEvent) { ClearErrorState(); - SbmVehicleEvent_Dbas vehicleEvent = new SbmVehicleEvent_Dbas(Internals, new SysId(dbVehicleEvent._VehicleId ?? 0), (Sbm.VehicleEventType)dbVehicleEvent._EventType, (ushort)dbVehicleEvent._Flags); + SbmVehicleEvent_Dbas vehicleEvent = new SbmVehicleEvent_Dbas(new SysId(dbVehicleEvent._VehicleId ?? 0), (Sbm.VehicleEventType)dbVehicleEvent._EventType, (ushort)dbVehicleEvent._Flags); PopulateFrom(dbVehicleEvent, vehicleEvent); return vehicleEvent; } diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs index 82fd324..6782f2e 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas-VehicleFeature.cs @@ -175,14 +175,14 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr ClearErrorState(); SbmVehicleFeature vehicleFeature = null; if (vehicleFeatureId != null) - vehicleFeature = new SbmVehicleFeature_Dbas(Internals, vehicleFeatureId.VehicleId, vehicleFeatureId.VehicleFeatureSource, vehicleFeatureId.VehicleFeatureType, 0); + vehicleFeature = new SbmVehicleFeature_Dbas(vehicleFeatureId.VehicleId, vehicleFeatureId.VehicleFeatureSource, vehicleFeatureId.VehicleFeatureType, 0); else SetErrorState("Asset type not identified"); return vehicleFeature; } private SbmVehicleFeature_Dbas CreateVehicleFeature(SaVehicleFeature_Db dbVehicleFeature) { ClearErrorState(); - SbmVehicleFeature_Dbas vehicleFeature = new SbmVehicleFeature_Dbas(Internals, new SysId(dbVehicleFeature._VehicleId), (Sbm.VehicleFeatureSource)dbVehicleFeature._Source, (Sbm.VehicleFeatureType)dbVehicleFeature._Type, (ushort)dbVehicleFeature._Flags); + SbmVehicleFeature_Dbas vehicleFeature = new SbmVehicleFeature_Dbas(new SysId(dbVehicleFeature._VehicleId), (Sbm.VehicleFeatureSource)dbVehicleFeature._Source, (Sbm.VehicleFeatureType)dbVehicleFeature._Type, (ushort)dbVehicleFeature._Flags); PopulateFrom(dbVehicleFeature, vehicleFeature); return vehicleFeature; } diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas.cs index ee693d7..35795b2 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmAssetMgr_Dbas.cs @@ -16,12 +16,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity-Utils.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity-Utils.cs index 151d683..9b74963 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity-Utils.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas-Commodity-Utils.cs @@ -224,7 +224,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr disposables.AddRange(itemLinks); foreach (SbmItemLink itemLink in itemLinks) { - SbmCostEstimate costEstimate = new SbmCostEstimate(UserContext, itemLink.DataContent); + SbmCostEstimate costEstimate = new SbmCostEstimate(itemLink.DataContent); costEstimate.Notes = itemLink.Notes; costEstimate.Changed = false; if (commodity.CostEstimates == null) commodity.CostEstimates = new List(); diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas.cs index e776972..436bb48 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmCommodityMgr_Dbas.cs @@ -13,12 +13,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); private readonly DateTime today = DateTime.Today; //------------------------------------------------------------------- diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas.cs index 7f4187b..4ae996a 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmDataItemMgr_Dbas.cs @@ -16,12 +16,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas.cs index ca6a59f..31195c3 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmPriceMgr_Dbas.cs @@ -13,12 +13,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas.cs index 0695a73..4f47955 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmProcessMgr_Dbas.cs @@ -16,12 +16,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas.cs index 05c9b59..29e28ee 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmStockMgr_Dbas.cs @@ -20,12 +20,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs index 5287cf4..cfb179f 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Requirement.cs @@ -319,7 +319,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr foreach (SbmItemLink itemLink in itemLinks) { if (itemLinks == null) continue; - SbmCostEstimate costEstimate = new SbmCostEstimate(UserContext, itemLink.DataContent); + SbmCostEstimate costEstimate = new SbmCostEstimate(itemLink.DataContent); costEstimate.Notes = itemLink.Notes; costEstimate.Changed = false; costEstimates.Add(costEstimate); diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction-Utils.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction-Utils.cs index 65df0fa..ef000b0 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction-Utils.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas-Transaction-Utils.cs @@ -211,7 +211,7 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr prm.ItemIdFrom = transactionId; foreach (SbmItemLink itemLink in DataItemMgr.GetItemLinkList(prm)) { - SbmTransactionPayment transactionPayment = new SbmTransactionPayment(UserContext, itemLink.DataContent); + SbmTransactionPayment transactionPayment = new SbmTransactionPayment(itemLink.DataContent); transactionPayment.Notes = itemLink.Notes; transactionPayment.Changed = false; if (transactionPayments == null) transactionPayments = new List(); diff --git a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas.cs b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas.cs index 205742b..2d245f6 100644 --- a/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas.cs +++ b/SaBusMgrStandardDbas/Dbas/Mgr/SbmTransactionMgr_Dbas.cs @@ -21,12 +21,12 @@ namespace Sarand.BusinessMgr.Net.Standard.Dbas.Mgr { //------------------------------------------------------------------- // Data members. - public class Members + public class DataMembers { public SacsDatabase db = null; public SbmDbDataItem.SbmDatabaseInfo dbInfo; } - private readonly Members mbr = new Members(); + private readonly DataMembers mbr = new DataMembers(); //------------------------------------------------------------------- // Construction. diff --git a/SaBusinessMgrCoreWebControl/appsettings.Development.json b/SaBusinessMgrCoreWebControl/appsettings.Development.json index d98cc2e..04de811 100644 --- a/SaBusinessMgrCoreWebControl/appsettings.Development.json +++ b/SaBusinessMgrCoreWebControl/appsettings.Development.json @@ -8,7 +8,7 @@ }, "Email": { "Configs": { - "SBM-Dev": { + "SBC-Dev": { "SMTP": { "Server": "smtp.ionos.co.uk", "ServerPort": 587, diff --git a/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand110.json b/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand110.json index c88206f..71f11c5 100644 --- a/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand110.json +++ b/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand110.json @@ -14,7 +14,7 @@ "Password": "sarand" }, "Email": { - "Context": "SBM-Dev", + "Context": "SBC-Dev", "ContactUs": { "AddressesTo": [ "dev@SaBusinessMgr.com" ] } diff --git a/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand602.json b/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand602.json index a19caff..17a3d75 100644 --- a/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand602.json +++ b/SaBusinessMgrCoreWebControl/appsettings.Machine.Sarand602.json @@ -15,7 +15,7 @@ }, "Email": { "Configs": [], - "Context": "SBC", + "Context": "SBC-Prod", "ContactUs": { "AddressesTo": [ "contact@BusMgr.Sarand.com" ] } diff --git a/SaBusinessMgrCoreWebControl/appsettings.Production.json b/SaBusinessMgrCoreWebControl/appsettings.Production.json index 8fbe703..f78bdb4 100644 --- a/SaBusinessMgrCoreWebControl/appsettings.Production.json +++ b/SaBusinessMgrCoreWebControl/appsettings.Production.json @@ -1,7 +1,7 @@ { "Email": { "Configs": { - "SBM-Prod": { + "SBC-Prod": { "SMTP": { "Server": "smtp.ionos.co.uk", "ServerPort": 587, @@ -9,11 +9,11 @@ }, "Send": { "Using": 2, - "UserName": "businessmgr@sarand.com", - "Password": "sarand-busmgr-5apP1re" + "UserName": "contact@busmgr.sarand.com", + "Password": "3mA1L:bu5m6R:2025#" }, "Message": { - "AddressFrom": "DoNotReply@SaBusinessMgr.com" + "AddressFrom": "DoNotReply@BusMgr.Sarand.com" } } } diff --git a/SaBusinessMgrCoreWebPortal/Portal/Components/SbmController_Portal.cs b/SaBusinessMgrCoreWebPortal/Portal/Components/SbmController_Portal.cs index 4c66d03..7528a65 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Components/SbmController_Portal.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Components/SbmController_Portal.cs @@ -63,8 +63,8 @@ namespace Sarand.BusinessMgr.Web.Portal.Components protected SbmInternals Internals { get { if (internals == null && UserContext_Core != null) { internals = new SbmInternals(UserContext_Core); } return internals; } } // Managers. protected SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } - protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmCommodityMgr CommodityMgr { get { return Internals.CommodityMgr; } } + protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmPriceMgr PriceMgr { get { return Internals.PriceMgr; } } protected SbmTransactionMgr TransactionMgr { get { return Internals.TransactionMgr; } } protected SbmStockMgr StockMgr { get { return Internals.StockMgr; } } diff --git a/SaBusinessMgrCoreWebPortal/Portal/Components/SbmModel_Portal.cs b/SaBusinessMgrCoreWebPortal/Portal/Components/SbmModel_Portal.cs index 7546a7f..193242c 100644 --- a/SaBusinessMgrCoreWebPortal/Portal/Components/SbmModel_Portal.cs +++ b/SaBusinessMgrCoreWebPortal/Portal/Components/SbmModel_Portal.cs @@ -67,8 +67,8 @@ namespace Sarand.BusinessMgr.Web.Portal.Components protected SbmInternals Internals { get { if (internals == null) internals = new SbmInternals(SessionData_Portal); return internals; } } // Managers. protected SbmAccountMgr AccountMgr { get { return Internals.AccountMgr; } } - protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmCommodityMgr CommodityMgr { get { return Internals.CommodityMgr; } } + protected SbmAssetMgr AssetMgr { get { return Internals.AssetMgr; } } protected SbmPriceMgr PriceMgr { get { return Internals.PriceMgr; } } protected SbmTransactionMgr TransactionMgr { get { return Internals.TransactionMgr; } } protected SbmStockMgr StockMgr { get { return Internals.StockMgr; } } diff --git a/SaBusinessMgrCoreWebPortal/appsettings.Machine.Sarand602.json b/SaBusinessMgrCoreWebPortal/appsettings.Machine.Sarand602.json index 95f8d86..5549e0a 100644 --- a/SaBusinessMgrCoreWebPortal/appsettings.Machine.Sarand602.json +++ b/SaBusinessMgrCoreWebPortal/appsettings.Machine.Sarand602.json @@ -10,7 +10,7 @@ }, "Email": { "Configs": [], - "Context": "SBM-Dev", + "Context": "SBM-Prod", "ContactUs": { "AddressesTo": [ "Control@BusMgr.Sarand.com" ] } diff --git a/SaBusinessMgrCoreWebPortal/appsettings.Production.json b/SaBusinessMgrCoreWebPortal/appsettings.Production.json index 8fbe703..a281acd 100644 --- a/SaBusinessMgrCoreWebPortal/appsettings.Production.json +++ b/SaBusinessMgrCoreWebPortal/appsettings.Production.json @@ -9,11 +9,11 @@ }, "Send": { "Using": 2, - "UserName": "businessmgr@sarand.com", - "Password": "sarand-busmgr-5apP1re" + "UserName": "contact@busmgr.sarand.com", + "Password": "3mA1L:bu5m6R:2025#" }, "Message": { - "AddressFrom": "DoNotReply@SaBusinessMgr.com" + "AddressFrom": "DoNotReply@BusMgr.Sarand.com" } } }