87 lines
4.0 KiB
C#
87 lines
4.0 KiB
C#
using Sarand.Net.Standard.Base.ItemOptions;
|
|
using Sarand.Net.Standard.Base.Bus;
|
|
using Sarand.Net.Standard.Base.Core;
|
|
using Sarand.Net.Standard.Base.Dbas;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using Sarand.Net.Standard.Base.UpdateLog;
|
|
|
|
namespace Sarand.Net.Standard.Base.ItemOptions
|
|
{
|
|
//=======================================================================
|
|
public abstract class SaItemOptionConsole : SaErrorStateItem
|
|
{
|
|
//-------------------------------------------------------------------
|
|
// Definitions.
|
|
|
|
//-------------------------------------------------------------------
|
|
// Data members.
|
|
private static readonly List<CodeDesc> yesNoValues = new List<CodeDesc>();
|
|
|
|
//-------------------------------------------------------------------
|
|
// Static initialisation.
|
|
static SaItemOptionConsole ()
|
|
{
|
|
yesNoValues.Add("Yes", "Yes");
|
|
yesNoValues.Add("No", "No");
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Construction.
|
|
protected SaItemOptionConsole ()
|
|
{
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Properties.
|
|
public abstract short ItemOptionDataType { get; }
|
|
public abstract SaUpdateLogConsole UpdateLogConsole { get; }
|
|
// Database.
|
|
public abstract bool DatabaseIsValid { get; }
|
|
public abstract bool CanUpdateDatabase { get; }
|
|
|
|
//-------------------------------------------------------------------
|
|
// Manage Item Options - returns true if changes made.
|
|
public abstract bool ShowItemOptionsDialog (ItemId itemId, DbUpdateInfo dbUpdateInfo);
|
|
public abstract bool MangageItemOptions (List<SaItemOption> itemOptions);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Utilities.
|
|
public static List<CodeDesc> YesNoValues { get { return new List<CodeDesc>(yesNoValues); } }
|
|
|
|
//-------------------------------------------------------------------
|
|
// I t e m O p t i o n s
|
|
//-------------------------------------------------------------------
|
|
// Item Option definitions.
|
|
public abstract List<SaItemOptionDfn> GetItemOptionDfnsForItem (ItemId itemId);
|
|
// Retrieve specific option.
|
|
public abstract SaItemOption GetItemOption (ItemId itemId, String name, String context);
|
|
// Retrieve options.
|
|
public abstract List<SaItemOption> GetItemOptions (SaItemOption.Params prmItemOption);
|
|
public abstract List<SaItemOption> GetItemOptionsForItem (ItemId itemId);
|
|
// Retrieve specific option for range of items (all matching items if item id list is blank).
|
|
public abstract List<SaItemOption> GetItemOptions (List<ItemId> itemIds, String name, String context);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Create an item option.
|
|
public abstract SaItemOption CreateItemOption (ItemId itemId, String name, String context);
|
|
// Item independent options, eg. for processes.
|
|
public abstract SaItemOption CreateItemOptionByNameContext (String name, String context);
|
|
|
|
//-------------------------------------------------------------------
|
|
// Store item option - create if not exsts, otherwise update.
|
|
public abstract bool StoreItemOption (SaItemOption itemOption, DbUpdateInfo dbUpdateInfo);
|
|
// Store a specific option against the specified item.
|
|
public abstract bool StoreItemOption (ItemId itemId, String name, String context, String sValue, DbUpdateInfo dbUpdateInfo);
|
|
// Store the list of options against the specified item. Options no longer in the list are deleted.
|
|
public abstract bool StoreItemOptions (ItemId itemId, List<SaItemOption> itemOptions, DbUpdateInfo dbUpdateInfo);
|
|
// Remove option(s) for the specified item.
|
|
public abstract bool ClearItemOption (SaItemOption itemOption, DbUpdateInfo dbUpdateInfo);
|
|
public abstract bool ClearItemOption (ItemId itemId, String name, String context, DbUpdateInfo dbUpdateInfo);
|
|
public abstract bool ClearItemOptions (ItemId itemId, DbUpdateInfo dbUpdateInfo);
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|