Beispiel #1
0
        private ProductAttributeCollection GetProductAttributeCollection(Guid optionKey)
        {
            var sql = new Sql();

            sql.Select("*")
            .From <ProductAttributeDto>()
            .Where <ProductAttributeDto>(x => x.OptionKey == optionKey);

            var dtos = Database.Fetch <ProductAttributeDto>(sql);

            var attributes = new ProductAttributeCollection();
            var factory    = new ProductAttributeFactory();

            foreach (var dto in dtos)
            {
                var attribute = factory.BuildEntity(dto);
                attributes.Add(attribute);
            }
            return(attributes);
        }
Beispiel #2
0
        ///// <summary>
        ///// Deletes all detached content for culture.
        ///// </summary>
        ///// <param name="cultureName">
        ///// The culture name.
        ///// </param>
        //public void DeleteAllDetachedContentForCulture(string cultureName)
        //{
        //    Database.Execute(
        //        "DELETE FROM merchProductVariantDetachedContent WHERE cultureName = @Cn",
        //        new { @Cn = cultureName });
        //}

        /// <summary>
        /// The get product attribute collection.
        /// </summary>
        /// <param name="productVariantKey">
        /// The product variant key.
        /// </param>
        /// <returns>
        /// The <see cref="ProductAttributeCollection"/>.
        /// </returns>
        internal ProductAttributeCollection GetProductAttributeCollection(Guid productVariantKey)
        {
            var sql = new Sql();

            sql.Select("*")
            .From <ProductVariant2ProductAttributeDto>()
            .InnerJoin <ProductAttributeDto>()
            .On <ProductVariant2ProductAttributeDto, ProductAttributeDto>(left => left.ProductAttributeKey, right => right.Key)
            .Where <ProductVariant2ProductAttributeDto>(x => x.ProductVariantKey == productVariantKey);

            var dtos = Database.Fetch <ProductVariant2ProductAttributeDto, ProductAttributeDto>(sql);

            var factory    = new ProductAttributeFactory();
            var collection = new ProductAttributeCollection();

            foreach (var dto in dtos)
            {
                collection.Add(factory.BuildEntity(dto.ProductAttributeDto));
            }
            return(collection);
        }
Beispiel #3
0
        private void SaveProductAttribute(IProductAttribute productAttribute)
        {
            var factory = new ProductAttributeFactory();

            if (!productAttribute.HasIdentity)
            {
                //((Entity)productAttribute).AddingEntity();
                productAttribute.CreateDate = DateTime.Now;
                productAttribute.UpdateDate = DateTime.Now;

                var dto = factory.BuildDto(productAttribute);
                Database.Insert(dto);
                productAttribute.Key = dto.Key;
            }
            else
            {
                ((Entity)productAttribute).UpdatingEntity();
                var dto = factory.BuildDto(productAttribute);
                Database.Update(dto);
            }
        }