73 lines
2.5 KiB
C#
73 lines
2.5 KiB
C#
using Sarand.BusinessMgr.Net.Standard.Base.App;
|
|
using Sarand.BusinessMgr.Net.Standard.Base.Data;
|
|
using Sarand.Net.Standard.Base.Bus;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Sarand.BusinessMgr.Net.Standard.Base.Core
|
|
{
|
|
//=======================================================================
|
|
/// <summary>
|
|
/// Utilitiy functions relating to the Demo BusinessMgr database instance.
|
|
/// <para>For instance:</para>
|
|
/// <para>- Database initialisation.</para>
|
|
/// <para>- Populate example data.</para>
|
|
/// <para>- Populate Demo Account User.</para>
|
|
/// </summary>
|
|
public interface ISbmDemoInstanceConsole
|
|
{
|
|
//-------------------------------------------------------------------
|
|
|
|
/// <summary>
|
|
/// Is repository database valid.
|
|
/// <para>- Contains core tables (Affiliate, Association, Commodity etc).</para>
|
|
/// </summary>
|
|
abstract bool IsRepositoryValid();
|
|
|
|
/// <summary>
|
|
/// Prepare a suitable batch of data to populate the demo database.
|
|
/// <br/>- Randomly crafted.
|
|
/// <br/>- Selected from data stored on the Control database.
|
|
/// </summary>
|
|
abstract SbmRepositoryPopulationData PrepareDemoPopulationData();
|
|
|
|
/// <summary>
|
|
/// Populate repository.
|
|
/// <br/>- Initialise repository: Organisation contact, Internal association, Security item and 'Super' group, User contact, User member association.
|
|
/// <br/>- Demo specific security.
|
|
/// <br/>- Populate demo data, including Repository configuration.
|
|
/// </summary>
|
|
abstract bool PopulateRepository(SbmRepositoryPopulationData data);
|
|
|
|
/// <summary>
|
|
/// Get Affiliate Owner Ids for Internal Associations.
|
|
/// </summary>
|
|
abstract HashSet<SysId> GetInternalAssociationAffiliateIdsOwner();
|
|
|
|
//-------------------------------------------------------------------
|
|
// User Security.
|
|
|
|
public enum SecurityGroup { Standard, Super }
|
|
/// <summary>
|
|
/// Security Group codes - as set up during initialisation.
|
|
/// </summary>
|
|
abstract String GetSecurityGroupCode(SecurityGroup group);
|
|
|
|
/// <summary>
|
|
/// Check whether User Account already exists, ie. Security Item with matching code/email.
|
|
/// </summary>
|
|
abstract bool UserAccountExists(SbmRepositoryPopulationData.UserAccount userAccount);
|
|
|
|
/// <summary>
|
|
/// Add User Account.
|
|
/// </summary>
|
|
abstract bool AddUserAccount(SbmRepositoryPopulationData.UserAccount userAccount);
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
//=======================================================================
|
|
}
|