public async Task<ActionResult> Approve(Guid id, ApproveFinancialGuaranteeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }

            await mediator.SendAsync(new ApproveFinancialGuarantee(id, model.FinancialGuaranteeId,
                model.DecisionMadeDate.AsDateTime().Value,
                model.ReferenceNumber, model.ActiveLoadsPermitted.Value, model.IsBlanketBond.Value));

            return RedirectToAction("Index", "FinancialGuaranteeAssessment");
        }
        public async Task<ActionResult> Approve(Guid id, Guid financialGuaranteeId)
        {
            var financialGuarantee = await mediator.SendAsync(
                new GetFinancialGuaranteeDataByNotificationApplicationId(id, financialGuaranteeId));

            if (financialGuarantee.Status != FinancialGuaranteeStatus.ApplicationComplete)
            {
                return RedirectToAction("Index", "FinancialGuaranteeAssessment");
            }

            var model = new ApproveFinancialGuaranteeViewModel(financialGuarantee)
            {
                NotificationId = id,
                FinancialGuaranteeId = financialGuaranteeId
            };

            return View(model);
        }
        public async Task <ActionResult> Approve(Guid id, ApproveFinancialGuaranteeViewModel model)
        {
            model.ShowExtraData = await ShowExtraData(id);

            if (!model.ShowExtraData)
            {
                PrepareApproveModelErrors();
            }

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            await mediator.SendAsync(new ApproveFinancialGuarantee(id, model.FinancialGuaranteeId,
                                                                   model.DecisionMadeDate.AsDateTime().Value,
                                                                   model.ReferenceNumber, model.ActiveLoadsPermitted.Value, model.IsBlanketBond.Value,
                                                                   model.CoverAmount, model.CalculationContinued));

            return(RedirectToAction("Index", "FinancialGuaranteeAssessment"));
        }
        public async Task <ActionResult> Approve(Guid id, Guid financialGuaranteeId)
        {
            var financialGuarantee = await mediator.SendAsync(
                new GetFinancialGuaranteeDataByNotificationApplicationId(id, financialGuaranteeId));

            if (financialGuarantee.Status != FinancialGuaranteeStatus.ApplicationComplete)
            {
                return(RedirectToAction("Index", "FinancialGuaranteeAssessment"));
            }

            bool showExtraData = await ShowExtraData(id);

            var model = new ApproveFinancialGuaranteeViewModel(financialGuarantee)
            {
                NotificationId       = id,
                FinancialGuaranteeId = financialGuaranteeId,
                ShowExtraData        = showExtraData
            };

            return(View(model));
        }