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