public IHttpActionResult GetGroupMaxPages([FromUri] GroupApiParameterModel param) { try { int maxcount = 0; int maxpages = 0; IQueryable <GroupModel> query; query = dbContext.GroupModels.OrderBy(x => x.Id); if (!param.Deleted) { query = query.Where(x => x.Deleted == false); } if (param.MakerId.HasValue) { query = query.Where(x => x.MakerModelId == (int)param.MakerId); } maxcount = query.Count(); if (param.Limit.HasValue) { maxpages = (int)(maxcount / (int)param.Limit); if ((int)(maxcount % (int)param.Limit) > 0) { maxpages += 1; } } return(Ok(new { count = maxcount, pages = maxpages })); } catch (Exception ex) { return(InternalServerError(ex)); } }
public IHttpActionResult Get([FromUri] GroupApiParameterModel param) { try { List <GroupApiModel> result; IQueryable <GroupModel> query; query = dbContext.GroupModels.OrderBy(x => x.Id); if (!param.Deleted) { query = query.Where(x => x.Deleted == false); } if (param.MakerId.HasValue) { query = query.Where(x => x.MakerModelId == (int)param.MakerId); } if (param.Limit.HasValue) { if (param.Page.HasValue) { query = query.Skip((int)param.Limit * (int)param.Page).Take((int)param.Limit); } else { query = query.Take((int)param.Limit); } } result = query.ProjectTo <GroupApiModel>().ToList(); // if (result == null || result.Count == 0) // return NotFound(); return(Ok(result)); } catch (Exception ex) { return(InternalServerError(ex)); } }