using Sarand.BusinessMgr.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using System;
namespace Sarand.BusinessMgr.Net.Standard.Base.App
{
//=======================================================================
///
/// Application and Owner configuration associated with an instance.
///
public abstract class SbmInstanceConfig : ISbmInstanceConfig
{
//-------------------------------------------------------------------
// Construction.
protected SbmInstanceConfig() { }
//-------------------------------------------------------------------
// Application options.
public abstract bool AllowApplicationOption(Sbm.ConfigOption option, bool defaultResponse);
//-------------------------------------------------------------------
// Defaults.
public abstract ISbmInstanceConfig.DefaultsData GetDefaults();
//-------------------------------------------------------------------
// Contacts.
// Supported affiliate types.
public abstract bool AllowAffiliateType(Sbm.AffiliateType type, bool defaultResponse);
// Supported Association types.
public abstract bool AllowAssociationType(Sbm.AssociationType type, bool defaultResponse);
//-------------------------------------------------------------------
// Transactions.
// Supported Transaction types.
public abstract bool AllowTransactionType(Sbm.TransactionType type, bool defaultResponse);
/// Length to which the numeric sequence part of the reference is padded with leading zeroes.
public abstract int GetTransactionRefSeqLength(SysId affiliateId_Owner, SysId idAssoc, Sbm.TransactionType transactionType, int defaultResponse);
/// Transaction reference prefix by type.
public abstract String GetTransactionRefPrefix(SysId affiliateId_Owner, SysId idAssoc, Sbm.TransactionType transactionType, String defaultResponse);
//-------------------------------------------------------------------
// Interfaces.
///
/// Whether the Interface Category is allowed.
///
public abstract bool AllowInterfaceCategory(SaInterfaceCategory interfaceCategory, bool defaultResponse);
//-------------------------------------------------------------------
// Update Log.
public abstract bool IsColumnChangeLogged(SbmDbDfn.ColumnIdx column, bool defaultResponse);
//-------------------------------------------------------------------
}
//=======================================================================
}