/// <summary> /// Get paginated list of entities /// </summary> /// <param name="parentid"></param> /// <returns>Paginated list of entities</returns> /// <exception cref="EntityOperationException"></exception> /// <exception cref="EntityDoesNotExistException"></exception> /// <exception cref="UnauthorizedOperationException"></exception> /// <exception cref="EntityValidationException"></exception> protected virtual PaginatedList <TViewModel> GetMany <TViewModel>(string parentid = "", ODataHelper <T> oData = null) where TViewModel : class, IViewModel <T, TViewModel>, new() { if (oData == null) { int maxRecords = int.Parse(config["App:MaxReturnRecords"]); oData = new ODataHelper <T>(); string queryString = ""; if (HttpContext != null && HttpContext.Request != null && HttpContext.Request.QueryString != null && HttpContext.Request.QueryString.HasValue) { queryString = HttpContext.Request.QueryString.Value; } oData.Parse(queryString); oData.Top = oData.Top == 0 ? maxRecords : oData.Top; } Guid parentGuid = Guid.Empty; if (!string.IsNullOrEmpty(parentid)) { parentGuid = new Guid(parentid); } return(readRepository.Find <TViewModel>(parentGuid, oData.Filter, oData.Sort, oData.SortDirection, oData.Skip, oData.Top)); }