Files
Common-VS2019/SacsBusinessBase/Base/ItemOptions/SaItemOptionConsole.cs
T

94 lines
4.1 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 : SacsDisposableStateItem
{
//-------------------------------------------------------------------
// 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 ()
{
}
protected override void Dispose(bool disposing)
{
if (disposing)
{
}
base.Dispose(disposing);
}
//-------------------------------------------------------------------
// 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);
//-------------------------------------------------------------------
}
//=======================================================================
}