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)); }
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); }