Пример #1
0
        public IActionResult GetCompanys([FromQuery] CompanyQueryParameters companyParameters)
        {
            if (companyParameters == null)
            {
                return(BadRequest(JsonConvert.SerializeObject("Null params")));
            }

            if (!companyParameters.ValidYearRange)
            {
                return(BadRequest(JsonConvert.SerializeObject("Max date cannot be less than min date")));
            }

            if (companyParameters.Tags != null)
            {
                companyParameters.Tags = companyParameters.Tags.TrimEnd();
            }

            PagedList <Company> companys = null;

            try
            {
                companys = companyService.GetCompanys(companyParameters);
            }
            catch (ServiceException ex)
            {
                logger.LogError(ex.Message);
                return(BadRequest(JsonConvert.SerializeObject("Server error")));
            }

            if (companys == null)
            {
                return(Ok(new List <Company>()));
            }

            var metadata = new
            {
                companys.TotalCount,
                companys.PageSize,
                companys.CurrentPage,
                companys.TotalPages,
                companys.HasNext,
                companys.HasPrevious
            };

            Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(metadata));

            logger.LogInformation($"Returned {companys.TotalCount} companys from database.");

            return(Ok(JsonConvert.SerializeObject(companys)));
        }
Пример #2
0
 public PagedList <Company> GetCompanys(CompanyQueryParameters parameters)
 {
     if (parameters == null)
     {
         throw new ServiceNullArgumentException("companyqueryparams was null");
     }
     try
     {
         return(daoFactory.GetCompanyRepo().GetCompanys(parameters));
     }
     catch (DALException ex)
     {
         throw new ServiceException($"DAL exception : {ex.Message}");
     }
 }
Пример #3
0
 public PagedList <Company> GetCompanys(CompanyQueryParameters parameters)
 {