public IEnumerable <Question> Filter(QuestionFillterModel model)
        {
            try
            {
                var result = context.Questions.ToList();

                if (model.CategoryId != null && !"".Equals(model.CategoryId))
                {
                    if (int.TryParse(model.CategoryId, out int categoryId))
                    {
                        result = result.Where(s => s.Category.Id == categoryId).ToList();
                    }
                }
                if (model.TagsId != null && !"".Equals(model.TagsId))
                {
                    if (int.TryParse(model.TagsId, out int tagId))
                    {
                        result = result.Where(s => s.Tags.Where(item => item.Id == tagId).Count() > 0).ToList();
                    }
                }
                if (model.CreatedBy != null && !"".Equals(model.CreatedBy))
                {
                    result = result.Where(s => model.CreatedBy.Equals(s.CreatedBy)).ToList();
                }

                if (model.Type != null && !"".Equals(model.Type))
                {
                    if (int.TryParse(model.Type, out int type))
                    {
                        result = result.Where(s => s.Type == type).ToList();
                    }
                }

                if (model.Level != null && !"".Equals(model.Level))
                {
                    if (int.TryParse(model.Level, out int level))
                    {
                        result = result.Where(s => s.Level == level).ToList();
                    }
                }
                if (model.StartDate != null)
                {
                    result = result.Where(s => s.CreatedDate >= model.StartDate).ToList();
                }
                if (model.EndDate != null)
                {
                    result = result.Where(s => s.CreatedDate >= model.EndDate).ToList();
                }

                var size    = 10;
                var maxSize = result.Count();
                if (model.PageSize != null)
                {
                    size = maxSize < 10 ? maxSize : 10;
                }
                else
                {
                    if (int.TryParse(model.PageSize, out int pageSize))
                    {
                        size = maxSize < pageSize ? maxSize : pageSize;
                    }
                }
                var index = 1;
                if (model.PageIndex != null)
                {
                    if (int.TryParse(model.PageIndex, out int pageIndex))
                    {
                        index = pageIndex <= 0 ? 1 : pageIndex;
                    }
                }


                var start = (index - 1) * size;
                var end   = index * size - 1;
                //return result.GetRange(start, end);
                return(result);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
 public IEnumerable <Question> Filter(QuestionFillterModel t)
 {
     return(repository.Filter(t));
 }