131 lines
4.3 KiB
C#
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 (ISacsDatabase database)
|
|
{
|
|
Database = database;
|
|
itemDataMgr = new SaItemDataMgr_Dbas(this);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Properties.
|
|
internal ISacsDatabase 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();
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|