protected override async Task Handle(UpdatePermissionsCommand request, CancellationToken cancellationToken)
        {
            var accountProviderLegalEntity = await _accountProviderLegalEntitiesRepository.CreateQuery().SingleOrDefaultAsync(r =>
                                                                                                                              r.Ukprn == request.Ukprn && r.AccountProviderLegalEntityId == request.AccountProviderLegalEntityId, cancellationToken);

            if (accountProviderLegalEntity == null)
            {
                accountProviderLegalEntity = new AccountProviderLegalEntity(
                    request.AccountId,
                    request.AccountLegalEntityId,
                    request.AccountProviderId,
                    request.AccountProviderLegalEntityId,
                    request.Ukprn,
                    request.GrantedOperations,
                    request.Updated,
                    request.MessageId);

                await _accountProviderLegalEntitiesRepository.Add(accountProviderLegalEntity, null, cancellationToken);
            }
            else
            {
                accountProviderLegalEntity.UpdatePermissions(request.GrantedOperations, request.Updated, request.MessageId);

                await _accountProviderLegalEntitiesRepository.Update(accountProviderLegalEntity, null, cancellationToken);
            }
        }
Esempio n. 2
0
        public UpdatePermissionsCommandHandlerTestsFixture SetAccountProviderLegalEntity()
        {
            AccountProviderLegalEntity = EntityActivator.CreateInstance <AccountProviderLegalEntity>()
                                         .Set(aple => aple.Id, 4)
                                         .Set(aple => aple.AccountProviderId, AccountProvider.Id)
                                         .Set(aple => aple.AccountLegalEntityId, AccountLegalEntity.Id);

            AccountProvider.Add(ap => ap.AccountProviderLegalEntities, AccountProviderLegalEntity);

            Db.SaveChanges();

            return(this);
        }
        private void CreateDefaultEntities()
        {
            Account = new Account(
                id: 1,
                hashedId: "HashedId",
                publicHashedId: "PublicHashedId",
                name: "Account",
                created: DateTime.UtcNow);
            Db.Add(Account);

            AccountLegalEntity = new AccountLegalEntity(
                account: Account,
                id: 12345,
                publicHashedId: "ALE1",
                name: "Account legal entity 1",
                created: DateTime.UtcNow);
            Db.Add(AccountLegalEntity);

            Provider = EntityActivator
                       .CreateInstance <Provider>()
                       .Set(x => x.Ukprn, 299792458);
            Db.Add(Provider);

            User = new User(Guid.NewGuid(), "*****@*****.**", "Bill", "Gates");
            Db.Add(User);

            AccountProvider = new AccountProvider(Account, Provider, User, null);
            AccountProvider.Set(x => x.Id, 23);
            Db.Add(AccountProvider);

            AccountProviderLegalEntity = new AccountProviderLegalEntity(
                accountProvider: AccountProvider,
                accountLegalEntity: AccountLegalEntity,
                user: User,
                grantedOperations: new HashSet <Operation>(new[] { Operation.CreateCohort, Operation.Recruitment }));
            AccountProviderLegalEntity.Set(x => x.Id, 34);
            Db.Add(AccountProviderLegalEntity);

            Db.SaveChanges();
        }
        public DeletePermissionsCommandHandlerTestsFixture SetAccountProviderLegalEntityDeletedBeforeCommand()
        {
            AccountProviderLegalEntity.Set(ale => ale.Deleted, Command.Deleted.AddHours(-1));

            return(this);
        }
        public DeletePermissionsCommandHandlerTestsFixture SetAccountProviderLegalEntityDeletedAfterCommand()
        {
            AccountProviderLegalEntity.Set(ale => ale.Deleted, Now);

            return(this);
        }