public void FillProductList() { if (SelectedSearchId == 0) { return; } ProductViewModels.Clear(); Products = new List <ProductDto>(); GetProductBySearchTypeDto requestDto = new GetProductBySearchTypeDto { ProductSearchTypeId = SelectedSearchId }; switch (SelectedSearchId) { case 3: requestDto.ExtraParams = new Dictionary <string, string> { { "ZoneId", UserContext.GetUserZoneId().ToString() } }; break; default: requestDto.ExtraParams = null; break; } Products = _restApiClient.GetProductBySearchId(requestDto); var porductsModels = Products.Select(ProductViewModel.FromRest); foreach (var model in porductsModels) { ProductViewModels.Add(model); } }
public List <Product> GetProductsByCriteria(GetProductBySearchTypeDto getProductBySearchTypeDto) { IEnumerable <ProductDto> productDtos = new List <ProductDto>(); if (getProductBySearchTypeDto == null) { return(new List <Product>()); } switch (getProductBySearchTypeDto.ProductSearchTypeId) { case 1: productDtos = _productDao.GetAllProducts(); break; case 2: productDtos = _productDao.GetAllActiveProductsWithStatus(new ProductStatus().Active.Id); break; case 3: if (getProductBySearchTypeDto.ExtraParams == null || !getProductBySearchTypeDto.ExtraParams.ContainsKey("ZoneId")) { productDtos = new List <ProductDto>(); break; } var zones = _zoneService.GetAllChildZones(int.Parse(getProductBySearchTypeDto.ExtraParams["ZoneId"])); productDtos = _productDao.GetAllActiveProductsForZones(zones.Select(x => x.ToDto()).ToList()); break; case 4: productDtos = _productDao.GetAllActiveProductsWithStatus(new ProductStatus().Missing.Id); break; default: productDtos = new List <ProductDto>(); break; } List <Product> products = new List <Product>(); foreach (var productDto in productDtos) { Product product = Product.FromDto(productDto); product.Zone = _zoneService.GetZoneById(productDto.ZoneId); product.Owner = _ownerService.GetOwnerById(productDto.OwnerId); products.Add(product); } return(products); }
public List <ProductDto> GetProductBySearchId(GetProductBySearchTypeDto getProductBySearchTypeDto) { return(CallRestApiWithPost <List <ProductDto>, GetProductBySearchTypeDto>("/Product/GetProductBySearchId/", getProductBySearchTypeDto)); }
public ActionResult <List <ProductModel> > GetProductBySearchId([FromBody] GetProductBySearchTypeDto getProductBySearchTypeDto) { var results = _productService.GetProductsByCriteria(getProductBySearchTypeDto); return(Ok(results.Select(ProductModel.FormDomain))); }