public SolutionEx BySolution(string solutionId) { return(GetInternal(() => { var retval = new SolutionEx { Solution = _solutionDatastore.ById(solutionId), TechnicalContact = _technicalContactDatastore.BySolution(solutionId).ToList(), ClaimedCapability = _claimedCapabilityDatastore.BySolution(solutionId).ToList(), ClaimedStandard = _claimedStandardDatastore.BySolution(solutionId).ToList() }; // populate Evidence + Review retval.ClaimedCapabilityEvidence = retval.ClaimedCapability .SelectMany(cc => _claimedCapabilityEvidenceDatastore.ByClaim(cc.Id)) .SelectMany(x => x) .ToList(); retval.ClaimedCapabilityReview = retval.ClaimedCapabilityEvidence .SelectMany(cce => _claimedCapabilityReviewsDatastore.ByEvidence(cce.Id)) .SelectMany(x => x) .ToList(); retval.ClaimedStandardEvidence = retval.ClaimedStandard .SelectMany(cs => _claimedStandardEvidenceDatastore.ByClaim(cs.Id)) .SelectMany(x => x) .ToList(); retval.ClaimedStandardReview = retval.ClaimedStandardEvidence .SelectMany(cse => _claimedStandardReviewsDatastore.ByEvidence(cse.Id)) .SelectMany(x => x) .ToList(); return retval; })); }
public SolutionEx BySolution(string solutionId) { return(GetInternal(() => { var retval = new SolutionEx { Solution = _solutionDatastore.ById(solutionId), TechnicalContact = _technicalContactDatastore.BySolution(solutionId).ToList(), ClaimedCapability = _claimedCapabilityDatastore.BySolution(solutionId).ToList(), ClaimedStandard = _claimedStandardDatastore.BySolution(solutionId).ToList(), Organisation = _organisationsDatastore.ById(_solutionDatastore.ById(solutionId)?.OrganisationId) }; return retval; })); }
public virtual IActionResult ApiTechnicalContactsBySolutionBySolutionIdGet([FromRoute][Required] string solutionId, [FromQuery] int?pageIndex, [FromQuery] int?pageSize) { IEnumerable <TechnicalContact> technicalContacts; int totalPages; try { technicalContacts = _datastore.BySolution(solutionId); technicalContacts = _datastore.GetPagingValues(pageIndex, pageSize, technicalContacts, out totalPages); } catch (Crm.CrmApiException ex) { return(StatusCode((int)ex.HttpStatus, ex.Message)); } return(new ObjectResult(new PaginatedListTechnicalContacts { Items = technicalContacts.ToList(), TotalPages = totalPages, PageIndex = pageIndex ?? Paging.DefaultIndex, PageSize = pageSize ?? Paging.DefaultPageSize, })); }
public IEnumerable <TechnicalContacts> BySolution(string solutionId) { return(_filter.Filter(_datastore.BySolution(solutionId))); }