Exemplo n.º 1
0
        /// <summary>
        /// 转换文档传输对象
        /// </summary>
        /// <param name="archive">文档</param>
        /// <returns></returns>
        public static ArchiveDto ConvertFrom(IArchive archive, bool copyCategory, bool copyTemplate, bool copyExtend)
        {
            ArchiveDto dto = new ArchiveDto
            {
                Id             = archive.Id,
                StrId          = archive.StrId,
                Disagree       = archive.Disagree,
                Agree          = archive.Agree,
                LastModifyDate = archive.LastModifyDate,
                CreateDate     = archive.CreateDate,
                Content        = archive.Content,
                Alias          = archive.Alias,
                Author         = archive.Author,
                Flags          = archive.Flags,
                Outline        = archive.Outline,
                Source         = archive.Source,
                Tags           = archive.Tags,
                Url            = archive.Uri,
                Location       = archive.Location,
                Thumbnail      = archive.Thumbnail,
                Title          = archive.Title,
                SmallTitle     = archive.SmallTitle,
                ViewCount      = archive.ViewCount
            };

            if (copyCategory)
            {
                CategoryDto categoryDto = CategoryDto.ConvertFrom(archive.Category);
                categoryDto.Id = archive.Category.Id;
                dto.Category   = categoryDto;
            }

            if (copyExtend)
            {
                dto.ExtendValues = archive.ExtendValues;
            }

            if (copyTemplate)
            {
                if (archive.Template != null)// && archive.Template.BindRefrenceId == archive.ID)
                {
                    dto.TemplatePath   = archive.Template.TplPath;
                    dto.IsSelfTemplate = archive.Template.BindRefrenceId == archive.Id;
                }
            }
            return(dto);
        }