using Sarand.Net.Standard.Base.Core; using Sarand.Net.Standard.Base.Bus; using Sarand.Net.Standard.Base.Dbas; using Sarand.Net.Standard.Base.ItemData; using Sarand.Net.Standard.Dbas.Base; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Sarand.Net.Standard.Dbas.ItemData { //======================================================================= public abstract class SaItemDataConsole_Dbas : SaItemDataConsole { //------------------------------------------------------------------- // Data members. private SaItemDataMgr_Dbas itemDataMgr = null; //------------------------------------------------------------------- // Static initialisation. static SaItemDataConsole_Dbas () { } //------------------------------------------------------------------- // Construction. protected SaItemDataConsole_Dbas (SacsDatabase database) { Database = database; itemDataMgr = new SaItemDataMgr_Dbas(this); } //------------------------------------------------------------------- // Properties. internal SacsDatabase Database { get; set; } public override bool DatabaseIsValid { get { return itemDataMgr.DatabaseIsValid; } } public override bool CanUpdateDatabase { get { return itemDataMgr.CanUpdateDatabase; } } //------------------------------------------------------------------- // I t e m D a t a //------------------------------------------------------------------- /// Type codes - specific for each type of item. public override List GetDataTypeCodes (int itemType) { return new List(); } //------------------------------------------------------------------- // Item data interface. public override bool CanUpdateItemData (SaItemData itemData) { return false; } public override bool DoUpdateItemData (SaItemData itemData) { return false; } public override bool CanRemoveItemData (SaItemData itemData) { return false; } //------------------------------------------------------------------- // Retrieve item data entries that match the specified params. public override bool ItemDataExists (SaItemData.Params prmItemData) { return (itemDataMgr.GetItemDataCount(prmItemData) > 0); } public override long GetItemDataCount (SaItemData.Params prmItemData) { return itemDataMgr.GetItemDataCount(prmItemData); } public override List GetItemDataList (SaItemData.Params prmItemData) { return itemDataMgr.GetItemDataList(prmItemData); } //------------------------------------------------------------------- // Create a new item data. public override SaItemData CreateItemData (ItemId itemId) { return itemDataMgr.CreateItemData(itemId); } //------------------------------------------------------------------- // Store item data. public override bool Store (SaItemData itemData, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (itemData == null) return SetErrorState("null item"); if (!SysId.IsValid(itemData.Id)) { if (!itemDataMgr.InsertItemData(itemData, dbUpdateInfo)) return SetErrorState(itemDataMgr.ErrorStateMessage); } else { if (!itemDataMgr.UpdateItemData(itemData, dbUpdateInfo)) return SetErrorState(itemDataMgr.ErrorStateMessage); } return !HasErrorState(); } public override bool Remove (SaItemData itemData, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!itemDataMgr.DeleteItemData(itemData, dbUpdateInfo)) return SetErrorState(itemDataMgr.ErrorStateMessage); return !HasErrorState(); } public override bool ClearItemData (ItemId itemId, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!itemDataMgr.ClearItemData(itemId, dbUpdateInfo)) return SetErrorState(itemDataMgr.ErrorStateMessage); return !HasErrorState(); } public override bool ClearItemData (ItemId itemId, String dataType, DbUpdateInfo dbUpdateInfo) { ClearErrorState(); if (!itemDataMgr.ClearItemData(itemId, dataType, dbUpdateInfo)) return SetErrorState(itemDataMgr.ErrorStateMessage); return !HasErrorState(); } //------------------------------------------------------------------- } //======================================================================= }