示例#1
0
        public Task <ActionResult> Invitation()
        {
            var userRef       = Guid.NewGuid();
            var correlationId = Guid.NewGuid();
            var ukprn         = 12345678;
            var accountId     = 1;

            InvitationAccountProviderRouteValues = new InvitationAccountProviderRouteValues {
                AccountId     = accountId,
                CorrelationId = correlationId,
                UserRef       = userRef
            };

            GetInvitationByIdQueryResult = new GetInvitationByIdQueryResult(new InvitationDto {
                EmployerEmail        = "*****@*****.**",
                EmployerFirstName    = "John",
                EmployerLastName     = "Smtih",
                EmployerOrganisation = "ESFA",
                Ukprn  = ukprn,
                Status = 0
            });

            AddAccountProviderViewModel = new AddAccountProviderViewModel {
                AccountId = accountId,
                UserRef   = userRef,
                Ukprn     = ukprn
            };

            FindProviderViewModel = new FindProviderViewModel {
                //AccountId = accountId,
                Ukprn = ukprn.ToString()
            };

            AccountProviderId = 2;

            FindProvidersQueryResult = new FindProviderToAddQueryResult(12345678, null);

            Mediator.Setup(m => m.Send(It.Is <FindProviderToAddQuery>(q => q.AccountId == 1 && q.Ukprn == 12345678), CancellationToken.None)).ReturnsAsync(FindProvidersQueryResult);
            Mediator.Setup(m => m.Send(It.IsAny <AddAccountProviderCommand>(), CancellationToken.None)).ReturnsAsync(AccountProviderId);
            Mediator.Setup(m => m.Send(It.IsAny <GetInvitationByIdQuery>(), CancellationToken.None)).ReturnsAsync(GetInvitationByIdQueryResult);

            return(AccountProvidersController.Invitation(InvitationAccountProviderRouteValues));
        }
示例#2
0
        public async Task <ActionResult> Invitation(InvitationAccountProviderRouteValues routeValues)
        {
            Session["Invitation"] = true;

            var invitation = await _mediator.Send(new GetInvitationByIdQuery(routeValues.CorrelationId.Value));

            var verify = await _mediator.Send(new FindProviderToAddQuery(routeValues.AccountId.Value, invitation.Invitation.Ukprn));

            if (verify.ProviderNotFound || verify.ProviderAlreadyAdded)
            {
                return(RedirectToAction("Index"));
            }

            var accountProviderId = await _mediator.Send(new AddAccountProviderCommand(routeValues.AccountId.Value, invitation.Invitation.Ukprn, routeValues.UserRef.Value, routeValues.CorrelationId));

            return(RedirectToAction("Get", new GetAccountProviderRouteValues {
                AccountProviderId = accountProviderId
            }));
        }