Files
Common-VS2019/SacsStandardDbas/Dbas/ItemData/SaItemDataConsole_Dbas.cs
T
2021-05-05 15:36:28 +01:00

131 lines
4.3 KiB
C#

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
//-------------------------------------------------------------------
/// <summary>Type codes - specific for each type of item.</summary>
public override List<CodeDesc> GetDataTypeCodes (int itemType)
{
return new List<CodeDesc>();
}
//-------------------------------------------------------------------
// 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<SaItemData> 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();
}
//-------------------------------------------------------------------
}
//=======================================================================
}