public IQueryable <OfficialDocumentsDTO> GetOfficialDocuments(int initialDocumentId) { var officialDocuments = OfficialDocumentsRepo.GetAll(); var registeredDocuments = RegisteredDocumentsRepo.GetAll(); var officialDocumentsDetails = from odoc in officialDocuments join rdoc in registeredDocuments on odoc.DOCUMENT_ID equals rdoc.ID where odoc.INITIAL_DOCUMENT_ID.Equals(initialDocumentId) select new OfficialDocumentsDTO() { DocumentId = rdoc.ID, URI = rdoc.URI, DocumentName = rdoc.NAME, DocumentCreatedOn = rdoc.CREATED_ON, DocumentTypeId = rdoc.DOCUMENT_TYPE_ID, ContentId = rdoc.CONTENT_ID, ContentMIMEType = rdoc.CONTENT_MIME_TYPE, IsXMLDoc = rdoc.IS_XML_DOC }; return(officialDocumentsDetails); }
public string LastRecievedDocumentXMLContent(string documentURI) { //Документ, иницииращ услуга, който има даденото УРИ WEB_REGISTERED_DOCUMENTS_V initDocument = RegisteredDocumentsRepo.FindSingle(reg_doc => reg_doc.URI == documentURI); int documentId = initDocument.ID; int documentTypeId = initDocument.DOCUMENT_TYPE_ID; //Всички документи в препискатa IQueryable <WEB_CASE_OFFICIAL_DOCUMENTS_V> allCaseDocuments = OfficialDocumentsRepo.Find(c => c.INITIAL_DOCUMENT_ID == documentId); IQueryable <int?> allCaseDocumentsIds = allCaseDocuments.Select(d => d.DOCUMENT_ID); //Последно регистрирания документ от преписката, който има тип като на първоначалното заявление int lastRecievedDocumentContentId = RegisteredDocumentsRepo.Find(reg_doc => allCaseDocumentsIds.Contains(reg_doc.ID) && reg_doc.DOCUMENT_TYPE_ID == documentTypeId) .OrderByDescending(reg_doc => reg_doc.REGISTERED_ON) .First().CONTENT_ID; string xmlContent = Db.WEB_GET_DOC_CONTENT(lastRecievedDocumentContentId).FirstOrDefault(); return(xmlContent); }