public async Task <ActionResult> Confirm( string hashedAccountId, string name, string code, string address, DateTime?incorporated, string legalEntityStatus, OrganisationType organisationType, short?publicSectorDataSource, string sector) { var request = new CreateNewLegalEntityViewModel { HashedAccountId = hashedAccountId, Name = name, Code = code, Address = address, IncorporatedDate = incorporated, ExternalUserId = OwinWrapper.GetClaimValue(@"sub"), LegalEntityStatus = string.IsNullOrWhiteSpace(legalEntityStatus) ? null : legalEntityStatus, Source = (short)organisationType, PublicSectorDataSource = publicSectorDataSource, Sector = sector }; var response = await _orchestrator.CreateLegalEntity(request); var flashMessage = new FlashMessageViewModel { HiddenFlashMessageInformation = "page-organisations-added", Headline = $"{response.Data.EmployerAgreement.LegalEntityName} has been added", Severity = FlashMessageSeverityLevel.Success }; AddFlashMessageToCookie(flashMessage); return(RedirectToAction("Index", "EmployerAgreement", new { hashedAccountId })); }
public virtual async Task <OrchestratorResponse <EmployerAgreementViewModel> > CreateLegalEntity( CreateNewLegalEntityViewModel request) { var createLegalEntityResponse = await _mediator.SendAsync(new CreateLegalEntityCommand { HashedAccountId = request.HashedAccountId, LegalEntity = new LegalEntity { Name = request.Name, Code = request.Code, RegisteredAddress = request.Address, DateOfIncorporation = request.IncorporatedDate, CompanyStatus = request.LegalEntityStatus, Source = request.Source, PublicSectorDataSource = request.PublicSectorDataSource, Sector = request.Sector }, ExternalUserId = request.ExternalUserId }); return(new OrchestratorResponse <EmployerAgreementViewModel> { Data = new EmployerAgreementViewModel { EmployerAgreement = createLegalEntityResponse.AgreementView }, Status = HttpStatusCode.OK }); }
public async Task <ActionResult> Confirm( string hashedAccountId, string name, string code, string address, DateTime?incorporated, string legalEntityStatus, OrganisationType organisationType, byte?publicSectorDataSource, string sector, bool newSearch) { var request = new CreateNewLegalEntityViewModel { HashedAccountId = hashedAccountId, Name = name, Code = code, Address = address, IncorporatedDate = incorporated, ExternalUserId = OwinWrapper.GetClaimValue(ControllerConstants.UserRefClaimKeyName), LegalEntityStatus = string.IsNullOrWhiteSpace(legalEntityStatus) ? null : legalEntityStatus, Source = organisationType, PublicSectorDataSource = publicSectorDataSource, Sector = sector }; var response = await _orchestrator.CreateLegalEntity(request); var flashMessage = new FlashMessageViewModel { HiddenFlashMessageInformation = "page-organisations-added", Headline = $"{response.Data.EmployerAgreement.LegalEntityName} has been added", Severity = FlashMessageSeverityLevel.Success }; AddFlashMessageToCookie(flashMessage); if (newSearch) { return(RedirectToAction(ControllerConstants.OrganisationAddedNextStepsSearchActionName, new { hashedAccountId, organisationName = name, hashedAgreementId = response.Data.EmployerAgreement.HashedAgreementId })); } return(RedirectToAction(ControllerConstants.OrganisationAddedNextStepsActionName, new { hashedAccountId, organisationName = name, hashedAgreementId = response.Data.EmployerAgreement.HashedAgreementId })); }
public async Task ThenTheLegalEntityShouldBeCreated() { //Assign var request = new CreateNewLegalEntityViewModel { HashedAccountId = "1", Name = "Test Corp", Code = "SD665734", Source = OrganisationType.CompaniesHouse, Address = "1, Test Street", IncorporatedDate = DateTime.Now.AddYears(-20), ExternalUserId = "2", LegalEntityStatus = "active" }; const long legalEntityId = 5; const long agreementEntityId = 6; _mediator.Setup(x => x.SendAsync(It.IsAny <CreateLegalEntityCommand>())) .ReturnsAsync(new CreateLegalEntityCommandResponse { AgreementView = new EmployerAgreementView { Id = agreementEntityId, LegalEntityId = legalEntityId, LegalEntityName = request.Name, LegalEntityCode = request.Code, LegalEntitySource = request.Source, LegalEntityAddress = request.Address, LegalEntityStatus = request.LegalEntityStatus, Status = EmployerAgreementStatus.Pending } }); //Act await _orchestrator.CreateLegalEntity(request); //Assert _mediator.Verify(x => x.SendAsync(It.Is <CreateLegalEntityCommand>(command => command.Name.Equals(request.Name) && command.Address.Equals(request.Address) && command.Code.Equals(request.Code) && command.Source.Equals(request.Source) && command.DateOfIncorporation.Equals(request.IncorporatedDate) && command.Status.Equals(request.LegalEntityStatus)))); }
public async Task ThenTheLegalEntityShouldNotBeCreated() { //Assign var request = new CreateNewLegalEntityViewModel { HashedAccountId = "1", Name = "Test Corp", Code = "SD665734", Source = OrganisationType.CompaniesHouse, Address = "1, Test Street", IncorporatedDate = DateTime.Now.AddYears(-20), ExternalUserId = "3", // ?????? LegalEntityStatus = "active" }; _mediator.Setup(x => x.SendAsync(It.IsAny <CreateLegalEntityCommand>())) .ThrowsAsync(new UnauthorizedAccessException()); //Act & Assert Assert.ThrowsAsync <UnauthorizedAccessException>(async() => await _orchestrator.CreateLegalEntity(request)); }
public virtual async Task <OrchestratorResponse <EmployerAgreementViewModel> > CreateLegalEntity(CreateNewLegalEntityViewModel request) { try { var result = await _mediator.SendAsync(new CreateLegalEntityCommand { HashedAccountId = request.HashedAccountId, Code = request.Code, DateOfIncorporation = request.IncorporatedDate, Status = request.LegalEntityStatus, Source = request.Source, PublicSectorDataSource = request.PublicSectorDataSource, Sector = request.Sector, Name = request.Name, Address = request.Address, ExternalUserId = request.ExternalUserId }); return(new OrchestratorResponse <EmployerAgreementViewModel> { Data = new EmployerAgreementViewModel { EmployerAgreement = result.AgreementView }, Status = HttpStatusCode.OK }); } catch (UnauthorizedAccessException e) { return(new OrchestratorResponse <EmployerAgreementViewModel> { Status = HttpStatusCode.Unauthorized, Exception = e, }); } catch (InvalidRequestException e) { return(new OrchestratorResponse <EmployerAgreementViewModel> { Status = HttpStatusCode.BadRequest, Exception = e, }); } }