Esempio n. 1
0
        public Tuple <ICollection <BlogDto>, int> GetDataAdmin(int page, int pageSize, ProductPageFilterDto paramSearch)
        {
            var query    = _unitOfWorfk.BlogRepository.Filter(o => o.NotUse != true).OrderByDescending(o => o.CreatedDate);
            var total    = query.Count();
            var entities = query.Skip((page - 1) * pageSize).Take(pageSize).ToList();

            var dtos = new List <BlogDto>();

            entities.ForEach(o => dtos.Add(_mapper.Map <BlogDto>(o)));
            dtos.SetIndex(page, pageSize);

            return(new Tuple <ICollection <BlogDto>, int>(dtos, total));
        }
Esempio n. 2
0
        public Tuple <ICollection <ProductDto>, int> LoadDataPageAdmin(int page, int pageSize, ProductPageFilterDto paramSearch)
        {
            IQueryable <Product> query = null;

            if (paramSearch.CategoryIds != null && paramSearch.CategoryIds.Count > 0)
            {
                var queryChild = _unitOfWorfk.Products.Where(o => paramSearch.CategoryIds.Contains(o.Category.Id));
                if (query == null)
                {
                    query = queryChild;
                }
                else
                {
                    query = query.Union(queryChild);
                }
            }
            else
            {
                query = _unitOfWorfk.Products;
            }
            if (!string.IsNullOrWhiteSpace(paramSearch.TextSearch))
            {
                query = query.Where(o => o.Name.Contains(paramSearch.TextSearch));
            }
            var queryDto = query
                           .OrderByDescending(o => o.CreatedDate)
                           .Select(m => new ProductDto()
            {
                Id           = m.Id,
                Name         = m.Name,
                Description  = m.Description,
                AreaCode     = m.AreaCode,
                Price        = m.Price,
                TrackingLink = m.TrackingLink,
                Picture      = $"{_infoServerConfig.FileRootPath}/{m.Picture}",
                NotUse       = m.NotUse,
                IsHero       = m.IsHero,
                Tag          = (TagEnum)m.Tag
            });
            var model = queryDto.Skip((page - 1) * pageSize).Take(pageSize).ToList();
            var total = queryDto.Count();

            model.SetIndex(page, pageSize);

            return(new Tuple <ICollection <ProductDto>, int>(model, total));
        }