public IActionResult Get([FromQuery] SiteResources siteResources) { try { var sites = _unitOfWork.Sites.GetSites(siteResources); return(Ok(sites)); } catch (Exception ex) { return(StatusCode(500, ex.Message)); } }
public IEnumerable <Site> GetSites(SiteResources siteResources) { var query = Set.AsQueryable(); foreach (var include in siteResources.Includes.Split(',')) { if (string.IsNullOrEmpty(include)) { continue; } var val = Mapper.GetValue(include); if (include.Equals("enrollments_with_sections")) { query = query.Include(c => c.Enrollments) .ThenInclude(x => x.Section); } if (include.Equals("enrollments_with_packages")) { query = query.Include(c => c.Enrollments) .ThenInclude(x => x.Packages) .ThenInclude(x => x.Package) .ThenInclude(x => x.ComplexWord) .Include(c => c.Enrollments) .ThenInclude(x => x.Packages) .ThenInclude(x => x.Package) .ThenInclude(x => x.Word); } if (!string.IsNullOrEmpty(val)) { query = query.Include(val); } } return(query); }
/// <summary> /// Initializes a new instance of the <see cref="ErrorController"/> class. /// </summary> /// <param name="resources">The <see cref="SiteResources"/> to use.</param> /// <param name="telemetry">The <see cref="ISiteTelemetry"/> to use.</param> public ErrorController(SiteResources resources, ISiteTelemetry telemetry) { _resources = resources; _telemetry = telemetry; }