Ejemplo n.º 1
0
        /// <summary>
        /// </summary>
        /// <param name="filteringSortingParams"></param>
        /// <returns></returns>
        public IQueryable <dynamic> Get(FilteringSortingParams filteringSortingParams)
        {
            var query = SortAndFieldsAndFilterList(_dbSet, filteringSortingParams);

            query = PagingQuery(filteringSortingParams, query);
            return(query.AsQueryable());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// </summary>
        /// <param name="asQueryable"></param>
        /// <param name="filteringSortingParams"></param>
        /// <returns></returns>
        public IQueryable <dynamic> SortAndFieldsAndFilterList(
            IQueryable <TEntity> asQueryable,
            FilteringSortingParams filteringSortingParams)
        {
            IEnumerable <TEntity> enumerable = asQueryable;

            var listdynamic = new List <dynamic>();

            if (!string.IsNullOrEmpty(filteringSortingParams.Sort))
            {
                enumerable = asQueryable.Sort(filteringSortingParams.Sort);
            }

            if (string.IsNullOrEmpty(filteringSortingParams.Fields))
            {
                listdynamic.AddRange(enumerable);
                return(listdynamic.AsQueryable());
            }

            var objectsLimitingFields = enumerable.AsQueryable()
                                        .LimitingFields(filteringSortingParams.Fields, typeof(PetEntity)).ToDynamicList().AsQueryable();
            var newlistdynamic = new List <dynamic>();

            foreach (object o in objectsLimitingFields)
            {
                newlistdynamic.Add(o);
            }
            objectsLimitingFields = newlistdynamic.AsQueryable();
            return(objectsLimitingFields);
        }
Ejemplo n.º 3
0
        /// <inheritdoc />
        /// <summary>
        /// </summary>
        /// <param name="filteringSortingParams"></param>
        /// <returns></returns>
        public IQueryable <dynamic> Get(FilteringSortingParams filteringSortingParams)
        {
            var query1 = Includes(filteringSortingParams.Embed);

            var query = SortAndFieldsAndFilterList(query1, filteringSortingParams);

            query = PagingQuery(filteringSortingParams, query);

            return(query.AsQueryable());
        }
Ejemplo n.º 4
0
        /// <inheritdoc />
        /// <summary>
        /// </summary>
        /// <param name="namelike"></param>
        /// <param name="filteringSortingParams"></param>
        /// <returns></returns>
        public IEnumerable <dynamic> GetByNameSubstring(string namelike, FilteringSortingParams filteringSortingParams)
        {
            var queryable = _context.Includes(filteringSortingParams.Embed);

            if (namelike != null)
            {
                queryable = queryable.Where(x => x.Name.Contains(namelike));
            }

            return(_context.SortAndFieldsAndFilterList(queryable, filteringSortingParams));
        }
Ejemplo n.º 5
0
        public IActionResult Search(
            [FromQuery] string namelike,
            [FromQuery] FilteringSortingParams filteringSortingParams)
        {
            var pets = _manager.GetByNameSubstring(namelike, filteringSortingParams);

            if (!pets.Any())
            {
                return(InvalidResponseFactory(NotFound(namelike)));
            }

            return(Ok(pets));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// </summary>
        /// <param name="filteringSortingParams"></param>
        /// <param name="query"></param>
        /// <param name="pagedList"></param>
        /// <returns></returns>
        private static IQueryable <dynamic> PagingQuery(
            FilteringSortingParams filteringSortingParams,
            IQueryable <dynamic> query,
            out PagedList <dynamic> pagedList)
        {
            pagedList = null;
            if (filteringSortingParams.Page > 0)
            {
                var paginado = new PagedList <dynamic>(query, filteringSortingParams.Page, filteringSortingParams.Count);
                query = paginado.List.AsQueryable();
            }

            return(query);
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> ReadAllAsync([FromQuery] FilteringSortingParams filteringSortingParams)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(_invalidResponseFactory.Response(new BadRequestObjectResult(ModelState)));
                }

                return(Ok(await _manager.Get(filteringSortingParams)));
            }
            catch (System.Exception ex)
            {
                return(_invalidResponseFactory.Response(new BadRequestObjectResult(ex), "Argumentos no válidos"));
            }
        }
Ejemplo n.º 8
0
        public IActionResult Search(
            [FromQuery] string namelike,
            [FromQuery] FilteringSortingParams filteringSortingParams)
        {
            try
            {
                var pets = _manager.GetByNameSubstring(namelike, filteringSortingParams);
                if (!pets.Any())
                {
                    return(_invalidResponseFactory.Response(NotFound(namelike)));
                }

                return(Ok(pets));
            }
            catch (System.Exception ex)
            {
                return(_invalidResponseFactory.Response(new BadRequestObjectResult(ex)));
            }
        }
Ejemplo n.º 9
0
        /// <summary>
        /// </summary>
        /// <param name="namelike"></param>
        /// <param name="filteringSortingParams"></param>
        /// <returns></returns>
        public IEnumerable <dynamic> GetByNameSubstring(string namelike, FilteringSortingParams filteringSortingParams)
        {
            var listafilter = GetByNameSubstring(namelike);

            return(_context.SortAndFieldsAndFilterList(listafilter.AsQueryable(), filteringSortingParams));
        }
Ejemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="filteringSortingParams"></param>
        /// <returns></returns>
        public Task <IEnumerable <dynamic> > Get(FilteringSortingParams filteringSortingParams)
        {
            var item = _context.Get(filteringSortingParams);

            return(Task.FromResult(item.AsQueryable().AsEnumerable()));
        }
Ejemplo n.º 11
0
 /// <summary>
 /// </summary>
 /// <param name="filteringSortingParams"></param>
 /// <param name="query"></param>
 /// <returns></returns>
 private static IQueryable <dynamic> PagingQuery(
     FilteringSortingParams filteringSortingParams,
     IQueryable <dynamic> query)
 {
     return(PagingQuery(filteringSortingParams, query, out _));
 }
Ejemplo n.º 12
0
 public async Task <IActionResult> ReadAllAsync([FromQuery] FilteringSortingParams filteringSortingParams)
 {
     return(Ok(await _manager.Get(filteringSortingParams)));
 }