using System.Security.Principal; using Quadarax.Foundation.Core.Data.Interface.Domain; namespace Quadarax.Application.QLiberace.Common.Domain { public class QlbrcContext : IContext { public IPrincipal CurrentUser { get; } public string? TenantCode { get; } public long? TenantId { get; } public QlbrcContext(IPrincipal? currentUser, string? tenantCode, long? tenantId) { if (currentUser == null) { var genericIdentity = new GenericIdentity("genericIdentity"); currentUser = new GenericPrincipal(genericIdentity, Array.Empty()); } CurrentUser = currentUser; TenantCode = tenantCode; TenantId = tenantId; } public TContext GetContext() where TContext : IContext { return (TContext)(IContext)this; } } }