public async Task <ActionResult> Save([FromForm] CreateBudgetPlannerViewModel model) { if (!ModelState.IsValid) { return(await ViewWithContent(ContentConstants.BudgetPlannerEditorPath, model)); } model.AccountId = (await CurrentAccount).Id; var createBudgetPlannerRequest = Map <CreateBudgetPlannerViewModel, CreateBudgetPlannerRequest>(model); var saveResponse = await MediatorService .Send(createBudgetPlannerRequest); if (saveResponse.IsSuccessful) { return(RedirectToAction("Details", "Budget", new { reference = model.Reference })); } AddErrorsToModelState(saveResponse); return(await ViewWithContent(ContentConstants.BudgetPlannerEditorPath, model)); }
public async Task <ActionResult> CreateBudgetPlanner([Bind(Prefix = "payload")] string token, [FromForm] CreateBudgetPlannerViewModel model) { var budgetPlannerClaim = GetClaim <BudgetPlannerClaim>(token); if (model.AccountId != budgetPlannerClaim.AccountId) { throw new UnauthorizedAccessException(); } var request = Map <CreateBudgetPlannerViewModel, CreateBudgetPlannerRequest>(model); var response = await MediatorService.Send(request); return(ResponseResult(response)); }