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);
        }
Пример #2
0
        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);
        }