public PagedResponse <ProjectAbbreviatedDTO> FindPage(FindPageRequest <ProjectFilterOptions, ProjectOrderOptions> req)
        {
            var res   = new PagedResponse <ProjectAbbreviatedDTO>();
            var query = _projectRepository.GetBasicQuery();


            //foreach (var option in req.Filters)
            //{
            //    query.ApplyFilterOption(option.Option, option.Value);
            //}

            query.ApplySortingOptions(req.SortingOption)
            .Page(req.PageNum, req.PageSize);

            var projects = query.ToList();

            if (projects != null || projects.Count == 0)
            {
                return((PagedResponse <ProjectAbbreviatedDTO>)
                       res.ReturnErrorResponseWith("Projects not found for query"));
            }

            res.Success     = true;
            res.EntitiesDTO = _mapper.Map <ICollection <Project>, ICollection <ProjectAbbreviatedDTO> >(projects);
            res.PageNum     = req.PageNum;
            res.PageSize    = req.PageSize;
            res.MaxPage     = query.Count() / req.PageSize;
            return(res);
        }