public async Task <ActionResult> RemoveOrganisation(ConfirmOrganisationToRemoveViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(ControllerConstants.ConfirmRemoveOrganisationViewName, new OrchestratorResponse <ConfirmOrganisationToRemoveViewModel> {
                    Data = model
                }));
            }
            if (!model.Remove.HasValue || !model.Remove.Value)
            {
                return(RedirectToAction(ControllerConstants.IndexActionName));
            }

            var response = await _orchestrator.RemoveLegalAgreement(model, OwinWrapper.GetClaimValue(ControllerConstants.UserRefClaimKeyName));

            if (response.Status == HttpStatusCode.OK)
            {
                AddFlashMessageToCookie(response.FlashMessage);
                return(RedirectToAction(ControllerConstants.IndexActionName));
            }

            AddFlashMessageToCookie(response.FlashMessage);
            return(View(ControllerConstants.ConfirmRemoveOrganisationViewName, response));
        }
Ejemplo n.º 2
0
        public virtual async Task <OrchestratorResponse <ConfirmOrganisationToRemoveViewModel> > RemoveLegalAgreement(ConfirmOrganisationToRemoveViewModel model, string userId)
        {
            var response = new OrchestratorResponse <ConfirmOrganisationToRemoveViewModel>();

            try
            {
                await _mediator.SendAsync(new RemoveLegalEntityCommand
                {
                    HashedAccountId            = model.HashedAccountId,
                    UserId                     = userId,
                    HashedAccountLegalEntityId = model.HashedAccountLegalEntitytId
                });

                response.FlashMessage = new FlashMessageViewModel
                {
                    Headline = $"You have removed {model.Name}.",
                    Severity = FlashMessageSeverityLevel.Success
                };

                response.Status = HttpStatusCode.OK;
                response.Data   = model;
            }
            catch (InvalidRequestException ex)
            {
                response.Status       = HttpStatusCode.BadRequest;
                response.FlashMessage = FlashMessageViewModel.CreateErrorFlashMessageViewModel(ex.ErrorMessages);
                response.Exception    = ex;
            }
            catch (UnauthorizedAccessException ex)
            {
                response.Status    = HttpStatusCode.Unauthorized;
                response.Exception = ex;
            }

            return(response);
        }