Exemplo n.º 1
0
        public async Task <IActionResult> GetRelatedTechniciansByIdAsync(int orderId)
        {
            var querySet = _jsonApiBuilder.BuildQuerySet(HttpContext.Request.Query);

            var pagedEmployees = await _employeeManager.GetAllByOrderIdAsync(orderId, querySet);

            var employeeDtos = _mapper.Map <IEnumerable <EmployeeDto> >(pagedEmployees.Items, opt => opt.Items["include"] = querySet.Include);
            var included     = _includedCollector.CollectIncluded(pagedEmployees.Items, querySet.Include);
            var links        = _jsonApiBuilder.BuildCollectionLinks(HttpContext.Request.Path, querySet, pagedEmployees);
            var meta         = _jsonApiBuilder.BuildCollectionMetadata(pagedEmployees);

            return(Ok(new ResourceResponse()
            {
                Meta = meta, Links = links, Data = employeeDtos, Included = included
            }));
        }