示例#1
0
        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));
        }