Exemple #1
0
        /// <summary>
        /// Gets an <see cref="IProduct"/> by it's unique SKU.
        /// </summary>
        /// <param name="sku">
        /// The product SKU.
        /// </param>
        /// <returns>
        /// The <see cref="IProduct"/>.
        /// </returns>
        public IProduct GetBySku(string sku)
        {
            using (var repository = _repositoryFactory.CreateProductVariantRepository(_uowProvider.GetUnitOfWork()))
            {
                var query = Persistence.Querying.Query <IProductVariant> .Builder.Where(x => x.Sku == sku && ((ProductVariant)x).Master);

                var variant = repository.GetByQuery(query).FirstOrDefault();
                return(variant == null ? null : GetByKey(variant.ProductKey));
            }
        }
Exemple #2
0
 /// <summary>
 /// The count.
 /// </summary>
 /// <param name="query">
 /// The query.
 /// </param>
 /// <returns>
 /// The <see cref="int"/>.
 /// </returns>
 internal int Count(IQuery <IProductVariant> query)
 {
     using (var repository = _repositoryFactory.CreateProductVariantRepository(_uowProvider.GetUnitOfWork()))
     {
         return(repository.Count(query));
     }
 }