private IMedia MapDtoToContent(ContentDto dto) { IMediaType?contentType = _mediaTypeRepository.Get(dto.ContentTypeId); Core.Models.Media media = ContentBaseFactory.BuildEntity(dto, contentType); // get properties - indexed by version id var versionId = dto.ContentVersionDto.Id; var temp = new TempContent <Core.Models.Media>(dto.NodeId, versionId, 0, contentType); IDictionary <int, PropertyCollection> properties = GetPropertyCollections(new List <TempContent <Core.Models.Media> > { temp }); media.Properties = properties[versionId]; // reset dirty initial properties (U4-1946) media.ResetDirtyProperties(false); return(media); }
/// <summary> /// Builds an IMedia item from a dto and content type. /// </summary> public static Core.Models.Media BuildEntity(ContentDto dto, IMediaType contentType) { var nodeDto = dto.NodeDto; var contentVersionDto = dto.ContentVersionDto; var content = new Core.Models.Media(nodeDto.Text, nodeDto.ParentId, contentType); try { content.DisableChangeTracking(); content.Id = dto.NodeId; content.Key = nodeDto.UniqueId; content.VersionId = contentVersionDto.Id; // TODO: missing names? content.Path = nodeDto.Path; content.Level = nodeDto.Level; content.ParentId = nodeDto.ParentId; content.SortOrder = nodeDto.SortOrder; content.Trashed = nodeDto.Trashed; content.CreatorId = nodeDto.UserId ?? Cms.Core.Constants.Security.UnknownUserId; content.WriterId = contentVersionDto.UserId ?? Cms.Core.Constants.Security.UnknownUserId; content.CreateDate = nodeDto.CreateDate; content.UpdateDate = contentVersionDto.VersionDate; // reset dirty initial properties (U4-1946) content.ResetDirtyProperties(false); return(content); } finally { content.EnableChangeTracking(); } }