Пример #1
0
        public static void Import_Archive_Item_to_ElasticDB(Archive_Model ArchiveModel, string indexName)
        {
            var  serializer   = new JsonNetSerializer();
            var  connection   = Elastic_Utils.ElsaticConnection();
            bool index_exists = Elastic_Utils.IfIndexOrTypeExists(indexName, connection);

            if (!index_exists)
            {
                //create new index
                string settings = Elastic_Utils.BuildIndexSettings();
                connection.Put(indexName, settings);
            }

            bool type_exists = Elastic_Utils.IfIndexOrTypeExists(indexName + "/docarchive", connection);

            if (!type_exists)
            {
                string json_case_mapping   = BuildArchiveMapping();
                string result_case_mapping = connection.Put(new PutMappingCommand(indexName, "docarchive"), json_case_mapping);
            }
            List <Archive_Model> archiveList = new List <Archive_Model>();

            archiveList.Add(ArchiveModel);
            Elastic_Utils.BulkType <Archive_Model>(archiveList, connection, serializer, indexName, "docarchive");
        }
Пример #2
0
        public string GetDownloadURL(Archive_Model item, string connectionString, string sessionTicket, out TransactionalInformation transaction)
        {
            var method = MethodInfo.GetCurrentMethod();
            var ipInfo = Util.GetIPInfo(HttpContext.Current.Request);

            String downloadURL = "";

            transaction = new TransactionalInformation();
            var userSecurityTicket = VerifySessionToken(sessionTicket);

            try
            {
                var  _providerFactory = ProviderFactory.Instance;
                var  documentProvider = _providerFactory.CreateDocumentServiceProvider();
                Guid id = Guid.Empty;
                Guid.TryParse(item.documentId, out id);
                downloadURL = documentProvider.GenerateImageThumbnailLink(id, sessionTicket, true, null, true);
            }
            catch (Exception ex)
            {
                Logger.LogInfo(new LogEntry(ipInfo.address, ipInfo.agent, connectionString, method, userSecurityTicket, ex));

                transaction.ReturnMessage = new List <string>();
                string errorMessage = ex.Message;
                transaction.ReturnStatus = false;
                transaction.ReturnMessage.Add(errorMessage);
                transaction.IsAuthenicated = true;
                transaction.IsException    = true;
            }

            return(downloadURL);
        }
Пример #3
0
        public HttpResponseMessage DownloadDocumentItem(Archive_Model item)
        {
            TransactionalInformation transaction = new TransactionalInformation();
            string downloadURL = archiveDataService.GetDownloadURL(item, connectionString, SessionToken, out transaction);

            if (transaction.ReturnStatus)
            {
                return(Request.CreateResponse(HttpStatusCode.OK, downloadURL));
            }

            return(Request.CreateResponse <TransactionalInformation>(HttpStatusCode.BadRequest, transaction));
        }
Пример #4
0
        protected static FR_Guid Execute(DbConnection Connection, DbTransaction Transaction, P_ARCH_UD_1326 Parameter, CSV2Core.SessionSecurity.SessionSecurityTicket securityTicket = null)
        {
            #region UserCode
            var returnValue = new FR_Guid();

            //Put your code here

            var documentUpload = new ORM_DOC_Document();
            documentUpload.DOC_DocumentID     = Guid.NewGuid();
            documentUpload.IsDeleted          = false;
            documentUpload.Creation_Timestamp = DateTime.Now;
            documentUpload.Tenant_RefID       = securityTicket.TenantID;
            documentUpload.Alias = Parameter.Receiver;
            if (Parameter.Mime.Contains("pdf"))
            {
                documentUpload.PrimaryType = "Abrechnungen";
                documentUpload.GlobalPropertyMatchingID = "pdf mm";
            }
            else
            {
                switch (Parameter.Mime)
                {
                case "Application/Edifact":
                    documentUpload.PrimaryType = "EDIFACT";
                    documentUpload.GlobalPropertyMatchingID = Parameter.ContractID.ToString();
                    break;

                case "Application/Edifact_Error":
                    documentUpload.PrimaryType = "HIP error import";
                    break;

                default:
                    documentUpload.PrimaryType = "Excel report";
                    break;
                }
            }

            documentUpload.Save(Connection, Transaction);


            var documentUploadRevision = new ORM_DOC_DocumentRevision();
            documentUploadRevision.DOC_DocumentRevisionID = Guid.NewGuid();
            documentUploadRevision.Creation_Timestamp     = DateTime.Now;
            documentUploadRevision.File_MIMEType          = Parameter.Mime;
            documentUploadRevision.IsDeleted           = false;
            documentUploadRevision.Tenant_RefID        = securityTicket.TenantID;
            documentUploadRevision.Document_RefID      = documentUpload.DOC_DocumentID;
            documentUploadRevision.UploadedByAccount   = securityTicket.AccountID;
            documentUploadRevision.File_ServerLocation = Parameter.DocumentID.ToString();
            documentUploadRevision.File_Name           = Parameter.DocumentName;
            documentUploadRevision.File_Description    = Parameter.Description;
            documentUploadRevision.Save(Connection, Transaction);

            var usrAccount = ORM_USR_Account.Query.Search(Connection, Transaction, new ORM_USR_Account.Query()
            {
                IsDeleted     = false,
                Tenant_RefID  = securityTicket.TenantID,
                USR_AccountID = securityTicket.AccountID
            }).Single();
            Guid DocStructureGuid = Guid.NewGuid();
            var  docStructureQ    = ORM_DOC_Structure.Query.Search(Connection, Transaction, new ORM_DOC_Structure.Query()
            {
                IsDeleted    = false,
                Tenant_RefID = securityTicket.TenantID,
                Label        = usrAccount.BusinessParticipant_RefID.ToString()
            }).SingleOrDefault();
            if (docStructureQ == null)
            {
                var docStructure = new ORM_DOC_Structure();
                docStructure.DOC_StructureID    = DocStructureGuid;
                docStructure.IsDeleted          = false;
                docStructure.Tenant_RefID       = securityTicket.TenantID;
                docStructure.Label              = usrAccount.BusinessParticipant_RefID.ToString();
                docStructure.Creation_Timestamp = DateTime.Now;
                docStructure.Save(Connection, Transaction);
            }
            else
            {
                DocStructureGuid = docStructureQ.DOC_StructureID;
            }

            var doc2docStructure = new ORM_DOC_Document_2_Structure();
            doc2docStructure.IsDeleted          = false;
            doc2docStructure.Tenant_RefID       = securityTicket.TenantID;
            doc2docStructure.Creation_Timestamp = DateTime.Now;
            doc2docStructure.AssignmentID       = Guid.NewGuid();
            doc2docStructure.Document_RefID     = documentUpload.DOC_DocumentID;
            doc2docStructure.Structure_RefID    = DocStructureGuid;
            doc2docStructure.Save(Connection, Transaction);

            Archive_Model archiveModel = new Archive_Model();
            archiveModel.id                = documentUpload.DOC_DocumentID.ToString();
            archiveModel.documentId        = Parameter.DocumentID.ToString();
            archiveModel.filedate          = Parameter.DocumentDate.Date;
            archiveModel.datestring        = DateTime.Now.ToString("dd.MM.yyyy");
            archiveModel.filetype          = documentUpload.PrimaryType;
            archiveModel.description       = documentUploadRevision.File_Description;
            archiveModel.recipient         = documentUpload.Alias;
            archiveModel.creationtimestamp = new DateTime(Parameter.DocumentDate.Year, Parameter.DocumentDate.Month, Parameter.DocumentDate.Day, Parameter.DocumentDate.Hour, Parameter.DocumentDate.Minute, 0);
            Add_Item_to_Archive.Import_Archive_Item_to_ElasticDB(archiveModel, securityTicket.TenantID.ToString());

            return(returnValue);

            #endregion UserCode
        }