public async Task<IHttpActionResult> GetCollectionsByProductIdAsync(int productId, int? limit = null, int? page = null, CatalogSortBy? sortBy = null) { IHttpActionResult result = null; await _collectionService.GetCollectionsAsync(productId, limit, page, sortBy) .Success(collections => { if (collections == null) { result = StatusCode(HttpStatusCode.NoContent); } var collectionModels = Mapper.Map<IList<CollectionModel>>(collections); result = Ok(collectionModels); }) .Error(err => { switch (err.CodeNumber) { case 404: result = NotFound(); break; default: result = BadRequest(); break; } }); return result; }
/// <summary> /// Will sort the product collection passed in depending on the sort by. /// </summary> /// <param name="products">The product collection to sort.</param> /// <param name="sortBy">The type of sorting.</param> public static void SortProducts(ProductCollection products, CatalogSortBy sortBy) { switch (sortBy) { case CatalogSortBy.PriceAscending: products.Sort(delegate(Product p1, Product p2) { return(p1.OurPrice.CompareTo(p2.OurPrice)); }); break; case CatalogSortBy.PriceDescending: products.Sort(delegate(Product p1, Product p2) { return(p2.OurPrice.CompareTo(p1.OurPrice)); }); break; case CatalogSortBy.TitleAscending: products.Sort(delegate(Product p1, Product p2) { return(p1.Name.CompareTo(p2.Name)); }); break; case CatalogSortBy.TitleDescending: products.Sort(delegate(Product p1, Product p2) { return(p2.Name.CompareTo(p1.Name)); }); break; case CatalogSortBy.DateUpdatedAscending: products.Sort(delegate(Product p1, Product p2) { return(p2.CreatedOn.CompareTo(p1.CreatedOn)); }); break; case CatalogSortBy.DateCreatedAscending: products.Sort(delegate(Product p1, Product p2) { return(p1.CreatedOn.CompareTo(p2.CreatedOn)); }); break; case CatalogSortBy.DateCreatedDescending: products.Sort(delegate(Product p1, Product p2) { return(p2.ModifiedOn.CompareTo(p1.ModifiedOn)); }); break; case CatalogSortBy.DateUpdatedDescending: products.Sort(delegate(Product p1, Product p2) { return(p1.ModifiedOn.CompareTo(p2.ModifiedOn)); }); break; } }
/// <summary> /// Will sort the product collection passed in depending on the sort by. /// </summary> /// <param name="products">The product collection to sort.</param> /// <param name="sortBy">The type of sorting.</param> public static void SortProducts(ProductCollection products, CatalogSortBy sortBy) { switch (sortBy) { case CatalogSortBy.PriceAscending: products.Sort(delegate(Product p1, Product p2) { return p1.OurPrice.CompareTo(p2.OurPrice); }); break; case CatalogSortBy.PriceDescending: products.Sort(delegate(Product p1, Product p2) { return p2.OurPrice.CompareTo(p1.OurPrice); }); break; case CatalogSortBy.TitleAscending: products.Sort(delegate(Product p1, Product p2) { return p1.Name.CompareTo(p2.Name); }); break; case CatalogSortBy.TitleDescending: products.Sort(delegate(Product p1, Product p2) { return p2.Name.CompareTo(p1.Name); }); break; case CatalogSortBy.DateUpdatedAscending: products.Sort(delegate(Product p1, Product p2) { return p2.CreatedOn.CompareTo(p1.CreatedOn); }); break; case CatalogSortBy.DateCreatedAscending: products.Sort(delegate(Product p1, Product p2) { return p1.CreatedOn.CompareTo(p2.CreatedOn); }); break; case CatalogSortBy.DateCreatedDescending: products.Sort(delegate(Product p1, Product p2) { return p2.ModifiedOn.CompareTo(p1.ModifiedOn); }); break; case CatalogSortBy.DateUpdatedDescending: products.Sort(delegate(Product p1, Product p2) { return p1.ModifiedOn.CompareTo(p2.ModifiedOn); }); break; } }
public IList<Product> GetProductsByCollection(int collectionId, string filterByTag = null, int pageSize = ShopTimeSetting.PageSize, int pageIndex = 0, CatalogSortBy sortBy = CatalogSortBy.DiplayNameAsc) { throw new NotImplementedException(); }
public IList<Product> GetProducts(int pageSize = ShopTimeSetting.PageSize, int pageIndex = 0, CatalogSortBy sortBy = CatalogSortBy.DiplayNameAsc) { throw new NotImplementedException(); }
public async Task<IResult<IList<Collection>>> GetCollectionsAsync(int? productId = null, int? limit = null, int? page = null, CatalogSortBy? sortBy = null, bool isTracking = false) { throw new NotImplementedException(); }
public async Task<IResult<IList<Collection>>> GetCollectionsAsync(int? limit = null, int? page = null, CatalogSortBy? sortBy = null, bool isTracking = true) { IResult<IList<Collection>> result = null; var pager = new Pager(limit, page); try { var collectionQry = _collectionRepo.Table.Where(obj => obj.StoreId == _token.Store.Id && obj.IsDeleted == false); switch(sortBy) { case CatalogSortBy.DiplayNameAsc: collectionQry = collectionQry.OrderBy(obj => obj.DisplayName); break; default: collectionQry = collectionQry.OrderBy(obj => obj.Id); break; } collectionQry = collectionQry.Skip(pager.Skip).Take(pager.Take); IList<Collection> collections = null; if (isTracking) { collections = collectionQry.ToList(); } else { collections = collectionQry.AsNoTracking().ToList(); } result = new ShopTimeResult<IList<Collection>>(collections); } catch (Exception ex) { result = new ShopTimeResult<IList<Collection>> { Error = new Error() { CodeNumber = 500, Message = ex.Message } }; } return result; }
public IHttpActionResult GetProductsByCollectionId(int collectionId, int? limit = null, int? page = null, CatalogSortBy? sortBy = null) { IHttpActionResult result = null; return result; }