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); }
///// <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); }
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); } }