public DocumentArchive.Document RetrieveDocument(Guid id) { Entities ent = new Entities(); Document dbDoc = ent.Documents .Include(x => x.DocumentType) .Include(x => x.DocumentType.DocumentTypeCategory) .Include(x => x.DocumentVersions) .Include(x => x.DocumentVersions.Select(x1 => x1.DocumentVersionExpiries)) .Include(x => x.Roles) .Include(x => x.DocumentMetaValues) .Include(x => x.DocumentMetaValues.Select(x1 => x1.DocumentMetaField)) .SingleOrDefault(p => p.ID == id); List <DocumentArchive.Version> versions = new List <DocumentArchive.Version>(); foreach (var dbVersion in dbDoc.DocumentVersions) { List <DocumentArchive.VersionExpiryInfo> versionExpiries = new List <DocumentArchive.VersionExpiryInfo>(); foreach (var dbVersionExpiry in dbVersion.DocumentVersionExpiries) { versionExpiries.Add(new DocumentArchive.VersionExpiryInfo(dbVersionExpiry.ExpiryDate, dbVersionExpiry.ModifyingUser)); } var version = new DocumentArchive.Version(dbVersion.VersionNumber, dbVersion.FileName, dbVersion.VersionDate, dbVersion.VersionCreator, dbVersion.FileSize, versionExpiries); versions.Add(version); } List <DocumentArchive.MetaDataDisplay> metaDatas = new List <DocumentArchive.MetaDataDisplay>(); foreach (var dbMetaValue in dbDoc.DocumentMetaValues) { metaDatas.Add(new DocumentArchive.MetaDataDisplay(dbMetaValue.documentMetaFieldID, dbMetaValue.DocumentMetaField.MetaFieldName, dbMetaValue.MetaValue)); } string[] roles = dbDoc.Roles.Select(p => p.RoleName).ToArray(); return(Spectrum.DocumentArchive.DocumentFactory.BuildDocument( dbDoc.ID, dbDoc.documentTypeID, dbDoc.DocumentType.documentTypeCategoryID, dbDoc.DocumentName, dbDoc.RefNo, dbDoc.TargetRef, dbDoc.CreatedDate, (Spectrum.DocumentArchive.DocumentTypeCategoryScopes)dbDoc.DocumentType.DocumentTypeCategory.Scope, versions, metaDatas, roles)); }
private static DocumentVersion createVersion(DocumentArchive.Document document, DocumentArchive.Version version, DocumentVersion dbVersion) { dbVersion = new DocumentVersion() { documentID = document.Id, FileName = version.FileName, FileSize = version.FileSize, VersionCreator = version.User, VersionDate = version.VersionDate, VersionNumber = version.Number }; return(dbVersion); }
private static DocumentVersionExpiry createVersionExpiry(DocumentArchive.Document document, DocumentArchive.Version version) { DocumentVersionExpiry dbExp = new DocumentVersionExpiry() { VersionNumber = version.Number, documentId = document.Id, ExpiryDate = version.ExpiryDate, ModifyingUser = version.User }; return(dbExp); }