private async Task <IActionResult> PopulateForm(Specification specification) { IsAuthorizedtoEdit = await _authorizationHelper.DoesUserHavePermission(User, specification, SpecificationActionTypes.CanEditSpecification); IActionResult populateResult = await PopulateAllocationLines(specification.Id); if (populateResult != null) { return(populateResult); } if (AllocationLines.IsNullOrEmpty()) { return(new InternalServerErrorResult($"Failed to load allocation lines for specification id: {specification.Id}")); } PopulatePolicies(specification); PopulateCalculationTypes(); ApiResponse <IEnumerable <CalculationCurrentVersion> > baselinesQuery = await _specsClient.GetBaselineCalculationsBySpecificationId(specification.Id); IActionResult baselinesError = baselinesQuery.IsSuccessOrReturnFailureResult("Calculation baselines"); if (baselinesError != null) { return(baselinesError); } IEnumerable <string> hiddenAllocationLineIds; if (baselinesQuery.Content.AnyWithNullCheck()) { hiddenAllocationLineIds = baselinesQuery.Content.Select(s => s.AllocationLine?.Id).Where(s => !string.IsNullOrWhiteSpace(s)); } else { hiddenAllocationLineIds = Enumerable.Empty <string>(); } HideAllocationLinesForBaselinesJson = JsonConvert.SerializeObject(hiddenAllocationLineIds); AvailableBaselineAllocationLineIds = AllocationLines.Count() - hiddenAllocationLineIds.Count(); return(Page()); }
private async Task <IActionResult> PopulateForm(Specification specification, string calculationId) { Specification = _mapper.Map <SpecificationViewModel>(specification); PopulateAllocationLines(specification); if (AllocationLines.IsNullOrEmpty()) { return(new InternalServerErrorResult($"Failed to load allocation lines for specification id: {specification.Id}")); } PopulatePolicies(specification); PopulateCalculationTypes(); ApiResponse <IEnumerable <CalculationCurrentVersion> > baselinesQuery = await _specsClient.GetBaselineCalculationsBySpecificationId(specification.Id); IActionResult baselinesError = baselinesQuery.IsSuccessOrReturnFailureResult("Calculation baselines"); if (baselinesError != null) { return(baselinesError); } IEnumerable <string> hiddenAllocationLineIds; if (baselinesQuery.Content.AnyWithNullCheck()) { hiddenAllocationLineIds = baselinesQuery.Content.Select(s => s.AllocationLine?.Id).Where(s => !string.IsNullOrWhiteSpace(s)); } else { hiddenAllocationLineIds = Enumerable.Empty <string>(); } HideAllocationLinesForBaselinesJson = JsonConvert.SerializeObject(hiddenAllocationLineIds); ExistingAllocationLineId = JsonConvert.SerializeObject(specification.GetCalculationById(calculationId)?.AllocationLine?.Id); AvailableBaselineAllocationLineIds = AllocationLines.Count() - hiddenAllocationLineIds.Count(); return(Page()); }