public virtual ContentItem RemovePart(ContentPart part)
        {
            if (this.parts.Contains(part))
            {
                this.parts.Remove(part);
            }

            return this;
        }
        public virtual ContentItem AddPart(ContentPart part)
        {
            if (!this.parts.Contains(part))
            {
                part.ContentItem = this;
                this.parts.Add(part);
            }

            return this;
        }
        public ContentPart CreateContentPart(ContentPartModel partModel)
        {
            var cp = new ContentPart()
            {
                Name = partModel.Name,
                Details = partModel.Details,
                IsActive = partModel.IsActive,
            };
            cp.AddLogCreation();

            return cp;
        }
            public ContentPart Create(string name, string details, bool isActive)
            {
                ExceptionsManager.BusinessException.ThrowIfIsNullOrWhiteSpace(name);
                ExceptionsManager.BusinessException.ThrowIfIsNullOrWhiteSpace(details);

                var contentPart = new ContentPart
                {
                    Name = name,
                    Details = details,
                    IsActive = isActive
                };

                return contentPart;
            }
        public void UpdateContentPart(ContentPart contentPart, ContentPartModel partModel)
        {
            contentPart.Name = partModel.Name;
            contentPart.Details = partModel.Details;
            contentPart.IsActive = partModel.IsActive;

            contentPart.AddLog("Update Content part", string.Empty);
            contentPart.ContentItem.AddLog("Update Content part", string.Empty);
        }
        public ContentPartModel GetContentPartModel(ContentPart contentPart)
        {
            var model = new ContentPartModel();
            model.Initialize(contentPart);

            return model;
        }