Example #1
0
        /// <summary>
        /// Maps <see cref="ProductVariantDetachedContentDisplay"/> to <see cref="IProductVariantDetachedContent"/>.
        /// </summary>
        /// <param name="display">
        /// The display.
        /// </param>
        /// <param name="productVariantKey">
        /// The product Variant Key.
        /// </param>
        /// <returns>
        /// The <see cref="IProductVariantDetachedContent"/>.
        /// </returns>
        public static IProductVariantDetachedContent ToProductVariantDetachedContent(this ProductVariantDetachedContentDisplay display, Guid productVariantKey)
        {
            var contentType = new DetachedContentType(
                display.DetachedContentType.EntityTypeField.TypeKey,
                display.DetachedContentType.UmbContentType.Key)
            {
                Key         = display.DetachedContentType.Key,
                Name        = display.DetachedContentType.Name,
                Description = display.DetachedContentType.Description
            };

            // Assign the default template
            var templateId = 0;

            if (display.TemplateId == 0 && display.DetachedContentType.UmbContentType.DefaultTemplateId != 0)
            {
                templateId = display.DetachedContentType.UmbContentType.DefaultTemplateId;
            }

            var pvdc = new ProductVariantDetachedContent(productVariantKey, contentType, display.CultureName, new DetachedDataValuesCollection(display.DetachedDataValues))
            {
                TemplateId    = templateId,
                Slug          = display.Slug,
                CanBeRendered = display.CanBeRendered
            };

            if (!display.Key.Equals(Guid.Empty))
            {
                pvdc.Key = display.Key;
            }
            return(pvdc);
        }
Example #2
0
        /// <summary>
        /// The build entity.
        /// </summary>
        /// <param name="dto">
        /// The dto.
        /// </param>
        /// <returns>
        /// The <see cref="IDetachedContentType"/>.
        /// </returns>
        public IDetachedContentType BuildEntity(DetachedContentTypeDto dto)
        {
            var content = new DetachedContentType(dto.EntityTfKey, dto.ContentTypeId)
            {
                Key        = dto.Key,
                Name       = dto.Name,
                CreateDate = dto.CreateDate,
                UpdateDate = dto.UpdateDate
            };

            content.ResetDirtyProperties();

            return(content);
        }
Example #3
0
        /// <summary>
        /// The build entity.
        /// </summary>
        /// <param name="dto">
        /// The dto.
        /// </param>
        /// <returns>
        /// The <see cref="IDetachedContentType"/>.
        /// </returns>
        public IDetachedContentType BuildEntity(DetachedContentTypeDto dto)
        {
            var content = new DetachedContentType(dto.EntityTfKey, dto.ContentTypeKey)
            {
                Key         = dto.Key,
                Name        = dto.Name,
                Description = !dto.Description.IsNullOrWhiteSpace() ? dto.Description : string.Empty,
                CreateDate  = dto.CreateDate,
                UpdateDate  = dto.UpdateDate
            };

            content.ResetDirtyProperties();

            return(content);
        }
Example #4
0
        /// <summary>
        /// Creates a <see cref="IDetachedContentType"/> without saving it to the database.
        /// </summary>
        /// <param name="entityTfKey">
        /// The entity type field key.
        /// </param>
        /// <param name="contentTypeKey">
        /// The content type key.
        /// </param>
        /// <param name="name">
        /// The name.
        /// </param>
        /// <param name="raiseEvents">
        /// Optional boolean indicating whether or not to raise events.
        /// </param>
        /// <returns>
        /// The <see cref="IDetachedContentType"/>.
        /// </returns>
        public IDetachedContentType CreateDetachedContentType(
            Guid entityTfKey,
            Guid contentTypeKey,
            string name,
            bool raiseEvents = true)
        {
            Mandate.ParameterCondition(!Guid.Empty.Equals(entityTfKey), "entityTfKey");

            var dt = new DetachedContentType(entityTfKey, contentTypeKey.Equals(Guid.Empty) ? (Guid?)null : contentTypeKey)
            {
                Name = name
            };

            if (raiseEvents)
            {
                if (Creating.IsRaisedEventCancelled(new Events.NewEventArgs <IDetachedContentType>(dt), this))
                {
                    dt.WasCancelled = true;
                    return(dt);
                }
            }

            return(dt);
        }
        /// <summary>
        /// Creates a <see cref="IDetachedContentType"/> without saving it to the database.
        /// </summary>
        /// <param name="entityTfKey">
        /// The entity type field key.
        /// </param>
        /// <param name="contentTypeKey">
        /// The content type key.
        /// </param>
        /// <param name="name">
        /// The name.
        /// </param>
        /// <param name="raiseEvents">
        /// Optional boolean indicating whether or not to raise events.
        /// </param>
        /// <returns>
        /// The <see cref="IDetachedContentType"/>.
        /// </returns>
        public IDetachedContentType CreateDetachedContentType(
            Guid entityTfKey,
            Guid contentTypeKey,
            string name,
            bool raiseEvents = true)
        {
            Mandate.ParameterCondition(!Guid.Empty.Equals(entityTfKey), "entityTfKey");

            var dt = new DetachedContentType(entityTfKey, contentTypeKey.Equals(Guid.Empty) ? (Guid?)null : contentTypeKey) { Name = name };

            if (raiseEvents)
            if (Creating.IsRaisedEventCancelled(new Events.NewEventArgs<IDetachedContentType>(dt), this))
            {
                dt.WasCancelled = true;
                return dt;
            }

            return dt;
        }