public ActionResult FindAddress(FindOrganisationAddressViewModel request)
        {
            var response = new OrchestratorResponse <FindOrganisationAddressViewModel>
            {
                Data   = request,
                Status = HttpStatusCode.OK
            };


            return(View(response));
        }
Beispiel #2
0
        public ActionResult FindAddress(FindOrganisationAddressViewModel request)
        {
            var response = new OrchestratorResponse <FindOrganisationAddressViewModel>
            {
                Data   = request,
                Status = HttpStatusCode.OK
            };

            if (RouteData.Values[ControllerConstants.AccountHashedIdRouteKeyName] == null && !string.IsNullOrEmpty(request.OrganisationAddress))
            {
                var organisationDetailsViewModel = _orchestrator.StartConfirmOrganisationDetails(request);

                organisationDetailsViewModel.Data.CreateOrganisationCookie(_orchestrator, HttpContext);

                return(RedirectToAction(ControllerConstants.GatewayInformViewName, ControllerConstants.EmployerAccountControllerName));
            }

            return(View(response));
        }
Beispiel #3
0
        public ActionResult FindAddress(FindOrganisationAddressViewModel request)
        {
            var response = new OrchestratorResponse <FindOrganisationAddressViewModel>
            {
                Data   = request,
                Status = HttpStatusCode.OK
            };

            if (!string.IsNullOrEmpty(request.OrganisationAddress))
            {
                var organisationDetailsViewModel = _orchestrator.StartConfirmOrganisationDetails(request);

                CreateOrganisationCookieData(organisationDetailsViewModel);

                return(RedirectToAction("GatewayInform", "EmployerAccount"));
            }

            return(View(response));
        }
        public async Task <ActionResult> SelectAddress(FindOrganisationAddressViewModel request)
        {
            var response = await _orchestrator.GetAddressesFromPostcode(request);

            if (response?.Data?.Addresses != null && response.Data.Addresses.Count == 1)
            {
                var viewModel = _mapper.Map <AddOrganisationAddressViewModel>(request);

                viewModel.Address = response.Data.Addresses.Single();

                var addressResponse = new OrchestratorResponse <AddOrganisationAddressViewModel>
                {
                    Data   = viewModel,
                    Status = HttpStatusCode.OK
                };

                return(View("AddOrganisationAddress", addressResponse));
            }

            return(View(response));
        }
Beispiel #5
0
        public virtual async Task <OrchestratorResponse <SelectOrganisationAddressViewModel> > GetAddressesFromPostcode(
            FindOrganisationAddressViewModel request)
        {
            var viewModel = new SelectOrganisationAddressViewModel
            {
                Postcode                    = request.Postcode,
                OrganisationName            = request.OrganisationName,
                OrganisationDateOfInception = request.OrganisationDateOfInception,
                OrganisationHashedId        = request.OrganisationHashedId,
                OrganisationReferenceNumber = request.OrganisationReferenceNumber,
                OrganisationStatus          = request.OrganisationStatus,
                OrganisationType            = request.OrganisationType,
                PublicSectorDataSource      = request.PublicSectorDataSource,
                Sector = request.Sector
            };

            try
            {
                var addresses = await _mediator.SendAsync(new GetPostcodeAddressRequest { Postcode = request.Postcode });

                viewModel.Addresses = addresses?.Addresses?.Select(x => _mapper.Map <AddressViewModel>(x)).ToList();

                return(new OrchestratorResponse <SelectOrganisationAddressViewModel>
                {
                    Data = viewModel,
                    Status = HttpStatusCode.OK
                });
            }
            catch (InvalidRequestException e)
            {
                viewModel.ErrorDictionary = e.ErrorMessages;

                return(new OrchestratorResponse <SelectOrganisationAddressViewModel>
                {
                    Data = viewModel,
                    Status = HttpStatusCode.BadRequest,
                    Exception = e
                });
            }
        }
Beispiel #6
0
        private ActionResult CallFindAddressOnControllerWith(FindOrganisationAddressViewModel viewModel)
        {
            var result = base.Controller.FindAddress(viewModel);

            return(result);
        }
Beispiel #7
0
 public OrchestratorResponse <OrganisationDetailsViewModel> StartConfirmOrganisationDetails(FindOrganisationAddressViewModel request)
 {
     return(new OrchestratorResponse <OrganisationDetailsViewModel>
     {
         Data = new OrganisationDetailsViewModel
         {
             HashedId = request.OrganisationHashedId,
             Name = request.OrganisationName,
             Address = request.OrganisationAddress,
             DateOfInception = request.OrganisationDateOfInception,
             ReferenceNumber = request.OrganisationReferenceNumber ?? string.Empty,
             Type = request.OrganisationType,
             PublicSectorDataSource = request.PublicSectorDataSource,
             Status = request.OrganisationStatus,
             Sector = request.Sector
         }
     });
 }