Esempio n. 1
0
        public IEnumerable <ProductViewModel> Get([FromUri] ProductQueryViewModel query)
        {
            var result = new List <ProductViewModel>();
            var datas  = DataRepository.GetData();

            if (query != null)
            {
                var shop = datas.FirstOrDefault(o => o.Id == query.ShopId);
                result = shop?.Products.Select(o => new ProductViewModel()
                {
                    Id    = o.Id,
                    Name  = o.Name,
                    Price = o.Price
                }).ToList();
                return(result);
            }

            datas.ForEach(s =>
            {
                s.Products.ForEach(p =>
                {
                    var product = new ProductViewModel()
                    {
                        Id    = p.Id,
                        Name  = p.Name,
                        Price = p.Price
                    };
                    result.Add(product);
                });
            });
            return(result);
        }
Esempio n. 2
0
        public PagedQueryResult <Product> GetPagedProducts(ProductQueryViewModel queryModel)
        {
            var pagedResult = new PagedQueryResult <Product>();

            var query = ProductDataSource.LatestProducts
                        .AsQueryable();

            var columnsMap = new Dictionary <string, Expression <Func <Product, object> > >()
            {
                ["productId"]   = p => p.ProductId,
                ["productName"] = p => p.ProductName,
                ["isAvailable"] = p => p.IsAvailable,
                ["price"]       = p => p.Price
            };

            query = query.ApplyFiltering(queryModel, columnsMap);
            query = query.ApplyOrdering(queryModel, columnsMap);

            pagedResult.TotalItems = query.Count();

            query = query.ApplyPaging(queryModel);

            pagedResult.Items = query.ToList();

            return(pagedResult);
        }
Esempio n. 3
0
        public async Task <IActionResult> Buscarporcategoria(ProductQueryViewModel viewmodel)
        {
            DataResponse <List <ProductDTO> > response = await _productService.GetProductsByCategory(viewmodel.CategoryID);

            var configuration = new MapperConfiguration(cfg =>
            {
                cfg.CreateMap <ProductDTO, ProductQueryViewModel>();
            });
            IMapper mapper = configuration.CreateMapper();
            List <ProductQueryViewModel> dados = mapper.Map <List <ProductQueryViewModel> >(response.Data);

            return(View(dados));
        }
Esempio n. 4
0
        public override void Execute(object obj)
        {
            var vm = new ProductQueryViewModel();

            this.Sheel.Show(vm);
        }