using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Core;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Sarand.BusinessMgr.Net.Standard.Base.Core
{
//=======================================================================
///
/// Defines a range of application options/rules specific to a BusinessMgr instance.
/// - Web application retrieves this information from the Item Params belonging to the Instance defined in the Control database.
/// - Legacy desktop application implements a named 'Console' (each in a separate library and loaded at runtime) for each specific instance.
///
public interface ISbmInstanceConfig
{
//-------------------------------------------------------------------
// Application options.
bool AllowApplicationOption(Sbm.ConfigOption option, bool defaultResponse);
//-------------------------------------------------------------------
// Contacts.
///
/// Supported affiliate types.
///
bool AllowAffiliateType(Sbm.AffiliateType type, bool defaultResponse);
///
/// Supported Association types.
///
bool AllowAssociationType(Sbm.AssociationType type, bool defaultResponse);
//-------------------------------------------------------------------
// Transactions.
///
/// Supported Transaction types.
///
bool AllowTransactionType(Sbm.TransactionType type, bool defaultResponse);
//-------------------------------------------------------------------
// Interfaces.
///
/// Whether the Interface Category is allowed.
///
bool AllowInterfaceCategory(SaInterfaceCategory interfaceCategory, bool defaultResponse);
//-------------------------------------------------------------------
}
//=======================================================================
}