using System; using System.Collections.Generic; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.ReferenceData; using Sarand.Net.Standard.Dbas.Base; namespace Sarand.Net.Standard.Dbas.ReferenceData { //======================================================================= // Reference Data console. //======================================================================= public abstract partial class SaReferenceDataConsole_Dbas : SaReferenceDataConsole { //------------------------------------------------------------------- // Definitions. private SaReferenceDataMgr_Dbas referenceDataMgr = null; //------------------------------------------------------------------- // Data members. //------------------------------------------------------------------- // Static initialisation. //------------------------------------------------------------------- // Construction. protected SaReferenceDataConsole_Dbas(ISacsDatabase database) : base() { Database = database; referenceDataMgr = new SaReferenceDataMgr_Dbas(this); } protected override void Dispose(bool disposing) { if (disposing) { } base.Dispose(disposing); } //------------------------------------------------------------------- // Properties. internal ISacsDatabase Database { get; set; } public override bool CanUpdateDatabase { get { return referenceDataMgr.CanUpdateDatabase; } } //------------------------------------------------------------------- // M a n a g e R e f e r e n c e D a t a //------------------------------------------------------------------- // Manage Reference Data (interactive applicaton only, eg. desktop) - returns true if changes made. public override bool ManageReferenceData(bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); MaintainReferenceDataFn?.Invoke(this, userCanManageReferenceData, dbUpdateInfo); return false; } // Method to display ReferenceData management dialog. protected delegate bool MaintainReferenceDataFunction(SaReferenceDataConsole codeTypeConsole, bool userCanManageReferenceData, DbUpdateInfo dbUpdateInfo); protected virtual MaintainReferenceDataFunction MaintainReferenceDataFn => null; //------------------------------------------------------------------- // Initialisation data - default population. public List GetRegionInitialisationList() { List regions = new List(); List currencyCodes = GetReferenceDataCodes(ReferenceDataSystemCode.CurrencyCode); // Europe. regions.Add(new RegionInitData() { Type = SaRegionType.Continent, Name = "Europe" }); // United Kingdom. regions.Add(new RegionInitData() { Type = SaRegionType.Country, Name = "United Kingdom", CurrencyCode = currencyCodes.GetCodeForType(SaCurrencyCode.Sterling), ParentType = SaRegionType.Continent, ParentName = "Europe" }); return regions; } //------------------------------------------------------------------- } //======================================================================= }