コード例 #1
0
        public EntityRepository.UmbracoEntityDto BuildDto(UmbracoEntity entity)
        {
            var node = new EntityRepository.UmbracoEntityDto
            {
                CreateDate     = entity.CreateDate,
                Level          = short.Parse(entity.Level.ToString(CultureInfo.InvariantCulture)),
                NodeId         = entity.Id,
                NodeObjectType = entity.NodeObjectTypeId,
                ParentId       = entity.ParentId,
                Path           = entity.Path,
                SortOrder      = entity.SortOrder,
                Text           = entity.Name,
                Trashed        = entity.Trashed,
                UniqueId       = entity.Key,
                UserId         = entity.CreatorId
            };

            return(node);
        }
コード例 #2
0
        public UmbracoEntity BuildEntity(EntityRepository.UmbracoEntityDto dto)
        {
            var entity = new UmbracoEntity(dto.Trashed)
            {
                CreateDate           = dto.CreateDate,
                CreatorId            = dto.UserId.Value,
                Id                   = dto.NodeId,
                Key                  = dto.UniqueId,
                Level                = dto.Level,
                Name                 = dto.Text,
                NodeObjectTypeId     = dto.NodeObjectType.Value,
                ParentId             = dto.ParentId,
                Path                 = dto.Path,
                SortOrder            = dto.SortOrder,
                HasChildren          = dto.Children > 0,
                ContentTypeAlias     = dto.Alias ?? string.Empty,
                ContentTypeIcon      = dto.Icon ?? string.Empty,
                ContentTypeThumbnail = dto.Thumbnail ?? string.Empty,
            };

            entity.IsPublished       = dto.PublishedVersion != default(Guid) || (dto.NewestVersion != default(Guid) && dto.PublishedVersion == dto.NewestVersion);
            entity.IsDraft           = dto.NewestVersion != default(Guid) && (dto.PublishedVersion == default(Guid) || dto.PublishedVersion != dto.NewestVersion);
            entity.HasPendingChanges = (dto.PublishedVersion != default(Guid) && dto.NewestVersion != default(Guid)) && dto.PublishedVersion != dto.NewestVersion;

            if (dto.UmbracoPropertyDtos != null)
            {
                foreach (var propertyDto in dto.UmbracoPropertyDtos)
                {
                    entity.AdditionalData[propertyDto.PropertyAlias] = new UmbracoEntity.EntityProperty
                    {
                        PropertyEditorAlias = propertyDto.PropertyEditorAlias,
                        Value = propertyDto.NTextValue.IsNullOrWhiteSpace()
                            ? propertyDto.NVarcharValue
                            : propertyDto.NTextValue.ConvertToJsonIfPossible()
                    };
                }
            }

            return(entity);
        }