public IAuthorizationContext GetAuthorizationContext()
        {
            var authorizationContext = new AuthorizationContext();

            var cohortId = GetCohortId();

            if (!cohortId.HasValue)
            {
                return(authorizationContext);
            }

            var ukPrn = GetUkPrn();

            if (ukPrn.HasValue)
            {
                authorizationContext.AddCommitmentPermissionValues(cohortId.Value, Party.Provider, ukPrn.Value);
            }
            else
            {
                var accountId = GetAccountId();

                if (accountId.HasValue)
                {
                    authorizationContext.AddCommitmentPermissionValues(cohortId.Value, Party.Employer, accountId.Value);
                }
            }

            return(authorizationContext);
        }
Beispiel #2
0
        public IAuthorizationContext GetAuthorizationContext()
        {
            var authorizationContext = new AuthorizationContext();
            var accountId            = GetAccountId();
            var cohortId             = GetCohortId();
            var userRef = GetUserRef();

            CopyRouteValueToAuthorizationContextIfAvailable(authorizationContext, accountId, AuthorizationContextKeys.AccountId);
            CopyRouteValueToAuthorizationContextIfAvailable(authorizationContext, cohortId, AuthorizationContextKeys.CohortId);
            CopyRouteValueToAuthorizationContextIfAvailable(authorizationContext, GetAccountLegalEntityHashedId(), AuthorizationContextKeys.AccountLegalEntityId);
            CopyRouteValueToAuthorizationContextIfAvailable(authorizationContext, GetDraftApprenticeshipId(), AuthorizationContextKeys.DraftApprenticeshipId);
            CopyRouteValueToAuthorizationContextIfAvailable(authorizationContext, GetTransferSenderId(), AuthorizationContextKeys.DecodedTransferSenderId);
            CopyRouteValueToAuthorizationContextIfAvailable(authorizationContext, GetApprenticeshipId(), AuthorizationContextKeys.ApprenticeshipId);

            if (accountId.HasValue && userRef.HasValue)
            {
                authorizationContext.AddEmployerUserRoleValues(accountId.Value, userRef.Value);
            }

            if (accountId.HasValue && cohortId.HasValue)
            {
                authorizationContext.AddCommitmentPermissionValues(cohortId.Value, Party.Employer, accountId.Value);
            }

            return(authorizationContext);
        }
        public IAuthorizationContext GetAuthorizationContext()
        {
            var authorizationContext  = new AuthorizationContext();
            var accountLegalEntityId  = GetAccountLegalEntityId();
            var cohortId              = GetCohortId();
            var draftApprenticeshipId = GetDraftApprenticeshipId();
            var apprenticeshipId      = GetApprenticeshipId();
            var services              = GetServices();
            var ukprn     = GetUkrpn();
            var userEmail = GetUserEmail();

            if (cohortId != null)
            {
                authorizationContext.Set(AuthorizationContextKeys.CohortId, cohortId);
            }

            if (draftApprenticeshipId != null)
            {
                authorizationContext.Set(AuthorizationContextKeys.DraftApprenticeshipId, draftApprenticeshipId);
            }

            if (apprenticeshipId != null)
            {
                authorizationContext.Set(AuthorizationContextKeys.ApprenticeshipId, apprenticeshipId);
                if (ukprn != null)
                {
                    authorizationContext.AddApprenticeshipPermissionValues(apprenticeshipId.Value, Party.Provider, ukprn.Value);
                }
            }

            if (services != null)
            {
                authorizationContext.Set(AuthorizationContextKeys.Services, services);
            }

            if (ukprn != null && userEmail != null)
            {
                authorizationContext.AddProviderFeatureValues(ukprn.Value, userEmail);
            }

            if (accountLegalEntityId != null && ukprn != null)
            {
                authorizationContext.AddProviderPermissionValues(accountLegalEntityId.Value, ukprn.Value);
            }

            if (cohortId != null && ukprn != null)
            {
                authorizationContext.AddCommitmentPermissionValues(cohortId.Value, Party.Provider, ukprn.Value);
            }

            return(authorizationContext);
        }