Example #1
0
        /// <summary>
        /// Builds <see cref="IProductVariantDetachedContent"/>.
        /// </summary>
        /// <param name="dto">
        /// The dto.
        /// </param>
        /// <returns>
        /// The <see cref="IProductVariantDetachedContent"/>.
        /// </returns>
        public IProductVariantDetachedContent BuildEntity(ProductVariantDetachedContentDto dto)
        {
            var detachedContentType = _detachedContentTypeFactory.Value.BuildEntity(dto.DetachedContentType);

            var values = DetachedContentValuesSerializationHelper.Deserialize(dto.Values);

            var valuesCollection = new DetachedDataValuesCollection(values);

            var detachedContent = new ProductVariantDetachedContent(
                dto.ProductVariantKey,
                detachedContentType,
                dto.CultureName,
                valuesCollection)
            {
                Key           = dto.Key,
                Slug          = dto.Slug ?? string.Empty,
                TemplateId    = dto.TemplateId ?? 0,
                CanBeRendered = dto.CanBeRendered,
                CreateDate    = dto.CreateDate,
                UpdateDate    = dto.UpdateDate
            };

            detachedContent.ResetDirtyProperties();

            return(detachedContent);
        }
Example #2
0
 /// <summary>
 ///     Builds the <see cref="ProductAttributeDto" />.
 /// </summary>
 /// <param name="entity">
 ///     The entity.
 /// </param>
 /// <returns>
 ///     The <see cref="ProductAttributeDto" />.
 /// </returns>
 public ProductAttributeDto BuildDto(IProductAttribute entity)
 {
     return(new ProductAttributeDto
     {
         Key = entity.Key,
         OptionKey = entity.OptionKey,
         Name = entity.Name,
         Sku = entity.Sku,
         SortOrder = entity.SortOrder,
         IsDefaultChoice = entity.IsDefaultChoice,
         DetachedContentValues = DetachedContentValuesSerializationHelper.Serialize(entity.DetachedDataValues),
         UpdateDate = entity.UpdateDate,
         CreateDate = entity.CreateDate
     });
 }
Example #3
0
 /// <summary>
 /// Builds the <see cref="ProductVariantDetachedContentDto"/>.
 /// </summary>
 /// <param name="entity">
 /// The entity.
 /// </param>
 /// <returns>
 /// The <see cref="ProductVariantDetachedContentDto"/>.
 /// </returns>
 public ProductVariantDetachedContentDto BuildDto(IProductVariantDetachedContent entity)
 {
     return(new ProductVariantDetachedContentDto()
     {
         Key = entity.Key,
         CultureName = entity.CultureName,
         DetachedContentTypeKey = entity.DetachedContentType.Key,
         ProductVariantKey = entity.ProductVariantKey,
         Slug = !entity.Slug.IsNullOrWhiteSpace() ? entity.Slug : null,
         TemplateId = entity.TemplateId > 0 ? entity.TemplateId : null,
         CanBeRendered = entity.CanBeRendered,
         Values = DetachedContentValuesSerializationHelper.Serialize(entity.DetachedDataValues),
         CreateDate = entity.CreateDate,
         UpdateDate = entity.UpdateDate
     });
 }
Example #4
0
        /// <summary>
        ///     Builds the <see cref="IProductAttribute" />.
        /// </summary>
        /// <param name="dto">
        ///     The dto.
        /// </param>
        /// <returns>
        ///     The <see cref="IProductAttribute" />.
        /// </returns>
        public IProductAttribute BuildEntity(ProductAttributeDto dto)
        {
            var values = DetachedContentValuesSerializationHelper.Deserialize(dto.DetachedContentValues);

            var valuesCollection = new DetachedDataValuesCollection(values);

            var attribute = new ProductAttribute(dto.Name, dto.Sku)
            {
                Key                = dto.Key,
                OptionKey          = dto.OptionKey,
                SortOrder          = dto.SortOrder,
                IsDefaultChoice    = dto.IsDefaultChoice,
                DetachedDataValues = valuesCollection,
                UpdateDate         = dto.UpdateDate,
                CreateDate         = dto.CreateDate
            };

            return(attribute);
        }