public IActionResult GetMinMaxPriceRange([FromBody] ProductFilterRequest request) { var response = new OperationResponse <ProductRange>(); try { response.Data = _productService.GetMinMaxPriceRange(request.year, request.CategoryId, request.ParentSubCategoryId, request.SubCategoryId, request.ProductTypeId, request.BrandId); } catch (Exception exception) { response.State = ResponseState.Error; response.Messages.Add(exception.Message + " StackTrace==> " + exception.StackTrace); _logger.LogError(exception, "Error Getting GetMinMaxPriceRange==>" + exception.StackTrace, request); } return(new JsonResult(response)); }
public DbResponse <PagedResult <ProductListViewModel> > GetFlashDeals(ProductFilterRequest request) { try { var data = _db.Product.GetFlashDeals(request); if (data.Results == null) { return(new DbResponse <PagedResult <ProductListViewModel> >(false, "No Data found")); } return(new DbResponse <PagedResult <ProductListViewModel> >(true, "Success", data)); } catch (Exception e) { return(new DbResponse <PagedResult <ProductListViewModel> >(false, e.Message)); } }
public IActionResult GetFilteredProductList([FromBody] ProductFilterRequest request) { var response = new OperationResponse <ICollection>(); try { response.Data = _productService.GetFilteredProductList(request.ProductName, request.year, request.CategoryId, request.ParentSubCategoryId, request.SubCategoryId, request.ProductTypeId, request.BrandId, request.PriceRangeMin, request.PriceRangeMax, request.SortBy, request.IsAsc, request.PageNumber, request.NoOfRecord); } catch (Exception exception) { response.State = ResponseState.Error; response.Messages.Add(exception.Message + " StackTrace==> " + exception.StackTrace); _logger.LogError(exception, "Error Getting GetProduct==>" + exception.StackTrace, request); } return(new JsonResult(response)); }
public DbResponse <PagedResult <ProductListViewModel> > GetCatalogWiseList(string slugUrl, ProductFilterRequest request) { try { if (!_db.Catalog.IsExistSlugUrl(slugUrl)) { return(new DbResponse <PagedResult <ProductListViewModel> >(false, "Invalid Catalog")); } var catalogIds = _db.Catalog.CatalogIdsBySlugUrl(slugUrl); var data = _db.Product.GetCatalogWiseList(catalogIds, request); return(new DbResponse <PagedResult <ProductListViewModel> >(true, "Success", data)); } catch (Exception e) { return(new DbResponse <PagedResult <ProductListViewModel> >(false, e.Message)); } }
public async Task <List <Product> > FindAsync(ProductFilterRequest filters, CancellationToken cancellationToken) { var includedInactive = filters.IncludedInactive ? "" : Status.Active.ToString(); // Create a filter base a scan condition var opConfig = new DynamoDBOperationConfig { QueryFilter = new List <ScanCondition>() }; if (!string.IsNullOrWhiteSpace(filters.Description)) { opConfig.QueryFilter.Add(new ScanCondition(nameof(Product.Description), ScanOperator.Contains, filters.Description)); } if (filters.ProductType != ProductType.None) { opConfig.QueryFilter.Add(new ScanCondition(nameof(Product.ProductType), ScanOperator.Contains, filters.ProductType)); } if (!filters.IncludedInactive) { opConfig.QueryFilter.Add(new ScanCondition(nameof(Product.Status), ScanOperator.Equal, Status.Active)); } var sortKey = new List <string>(); if (filters.ValidityStart.HasValue) { sortKey.Add(filters.ValidityStart.Value.ToShortDateString()); } if (filters.ValidityEnd.HasValue) { sortKey.Add(filters.ValidityEnd.Value.ToShortDateString()); } // When partition key exists ! if (!string.IsNullOrWhiteSpace(filters.Manufacturer)) { // query filters use in a filter by composite key var queryFilter = new QueryFilter(); queryFilter.AddCondition(nameof(Product.PartitionKey), QueryOperator.Equal, filters.Manufacturer); if (sortKey.Any()) { queryFilter.AddCondition(nameof(Product.SortKey), QueryOperator.BeginsWith, string.Join("#", sortKey)); } // Use scan condition and query filter (filter by primary key) return(await Context.FromQueryAsync <Product>(new QueryOperationConfig { Filter = queryFilter, Limit = filters.Take }, opConfig).GetRemainingAsync(cancellationToken)); } // Table scan !! scan condition shouldn't contain a primary key var scanFilter = new ScanFilter(); scanFilter.AddCondition(nameof(Product.SortKey), ScanOperator.BeginsWith, string.Join("#", sortKey)); return(await Context.FromScanAsync <Product>(new ScanOperationConfig { Limit = 10 }, opConfig).GetRemainingAsync(cancellationToken)); }
public IActionResult GetProductsOnDemand(ProductFilterRequest filter) { var model = _catalog.GetCatalogWiseList(filter.SlugUrl, filter); return(Json(model)); }
public async Task <ActionResult <object> > GetAsync([FromQuery] ProductFilterRequest filters) { return(await _repository.FindAsync(filters, CancellationToken.None)); }
//Get more to Love public IActionResult GetMoreToLove(ProductFilterRequest filter) { var response = _product.GetMoreToLove(filter); return(Json(response)); }
//get TopRated public IActionResult GetTopRated(ProductFilterRequest filter) { var response = _product.GetTopRated(filter); return(Json(response)); }
//get FlashDeals public IActionResult GetFlashDeals(ProductFilterRequest filter) { var response = _product.GetFlashDeals(filter); return(Json(response)); }