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));
            }
        }