Files
BusinessMgr-2019/SaBusMgrStandardBase/Base/Core/ISbmSecurityProfile.cs
T
2021-08-04 21:32:35 +01:00

49 lines
1.9 KiB
C#

using Sarand.BusinessMgr.Net.Standard.Base.App;
using Sarand.Net.Standard.Base.Bus;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Security;
using System;
using System.Collections.Generic;
using System.Text;
namespace Sarand.BusinessMgr.Net.Standard.Base.Core
{
//=======================================================================
public interface ISbmSecurityProfile
{
//-------------------------------------------------------------------
// User properties.
SysId UserId { get; }
String UserDisplayName { get; }
String UserLocation { get; }
DateTime UserLastLogin { get; }
//-------------------------------------------------------------------
// Security - Contacts.
bool UserCanCreateContacts { get; }
bool UserCanUpdateContacts { get; }
// Security - Financials.
bool UserCanViewFinancials(Sbm.FinancialType financialType = Sbm.FinancialType.Any);
bool UserCanUpdateFinancials(Sbm.FinancialType financialType = Sbm.FinancialType.Any);
bool UserCanAccessFinancialViewOfType(Sbm.FinancialType financialType = Sbm.FinancialType.Any);
bool UserCanAccessFinancialUpdateOfType(Sbm.FinancialType financialType = Sbm.FinancialType.Any);
// Security - Transactions.
bool UserCanAccessTransactionsOfType(Sbm.TransactionType transactionType);
// Security Item types.
bool ItemTypeIsAllowed(Sbm.ItemType itemType);
bool UserCanCreateItemType(Sbm.ItemType itemType);
bool UserCanUpdateItemType(Sbm.ItemType itemType);
bool UserCanRemoveItemType(Sbm.ItemType itemType);
//-------------------------------------------------------------------
/// <summary>Refresh profile.</summary>
void RefreshProfile(SbmConfigConsole configConsole, SaSecurityConsole securityConsole, SysId userId, List<TypeCodeDesc> securityRights);
//-------------------------------------------------------------------
}
//=======================================================================
}