Esempio n. 1
0
        public bool PutFile(DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocumento, string estensione)
        {
            String Libreria   = "";
            String NomeForm   = System.Configuration.ConfigurationManager.AppSettings["Hummingbird_form"];
            String Titolo_Doc = fileRequest.fileName;
            String Appl_ID    = fileRequest.docNumber;
            String Autore     = fileRequest.autore;
            String Note       = fileRequest.descrizione;

            Byte[] pDoc       = fileDocumento.content;
            String Trustee    = "";
            String DMUser     = System.Configuration.ConfigurationManager.AppSettings["Hummingbird_user"];
            String DMPassword = System.Configuration.ConfigurationManager.AppSettings["Hummingbird_password"];
            String esito      = "";

            DMFileOperationSoapClient ws = new DMFileOperationSoapClient();

            esito = ws.AggiungiDocumentoSec(Libreria, NomeForm, Titolo_Doc, Appl_ID, Autore, Note, pDoc, Trustee, DMUser, DMPassword);
            if (esito == "0")
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
Esempio n. 2
0
        public static bool PutFileFromUploadManagerLight(ref DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocument, string repositoryId, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retVal = false;


            if (System.IO.File.Exists(fileDocument.fullName))
            {
                DocsPaDB.Query_DocsPAWS.UploadFiles uploadFiles = new DocsPaDB.Query_DocsPAWS.UploadFiles();

                string fileHash = uploadFiles.GetHashFile(infoUtente.idPeople, infoUtente.idGruppo, fileDocument.fullName, fileDocument.nomeOriginale);

                //Creare metoto insert into components
                //oppure
                //Update se creo finto file e richiamo put file
                if (uploadFiles.UpdateComponentsPath(fileRequest.docNumber, fileDocument.fullName, fileDocument.name, fileDocument.contentType, fileDocument.length, fileHash.ToUpper(), infoUtente))
                {
                    uploadFiles.DeleteFileInUpload(fileDocument.name, repositoryId, infoUtente);
                    fileRequest.path     = fileDocument.fullName;
                    fileRequest.fileName = fileDocument.name;
                    fileRequest.fileSize = fileDocument.length.ToString();
                    retVal = true;
                }
            }


            return(retVal);
        }
Esempio n. 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="version"></param>
 protected void CheckForFileExist(DocsPaVO.documento.FileRequest fileRequest)
 {
     if (!this.ExistFile(fileRequest))
     {
         throw new ApplicationException(string.Format("File '{0}' inesistente nel repository", this.GetFilePath(fileRequest)));
     }
 }
Esempio n. 4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Expires = -1;
            DocsPaWR.FileDocumento theDoc = null;
            string PosLabelPdf            = null;

            DocsPaWR.labelPdf label = new DocsPAWA.DocsPaWR.labelPdf();
            bool   tipo             = false;
            string rotazione        = null;
            string orientamento     = null;
            string carattere        = string.Empty;
            string colore           = string.Empty;

            DocsPaWR.SchedaDocumento schedaCorrente = DocumentManager.getDocumentoSelezionato(Page);

            DocsPaVO.documento.FileRequest fr = new DocsPaVO.documento.FileRequest();

            if (this.Session["personalize"] != null)
            {
                PosLabelPdf = this.Session["personalize"].ToString();
            }
            if (Session["tipoLabel"] != null)
            {
                tipo = System.Convert.ToBoolean(Session["tipoLabel"].ToString());
            }
            if (Session["rotazione"] != null)
            {
                rotazione = Session["rotazione"].ToString();
            }
            if (Session["carattere"] != null)
            {
                carattere = Session["carattere"].ToString();
            }
            if (Session["colore"] != null)
            {
                colore = Session["colore"].ToString();
            }
            if (Session["orientamento"] != null)
            {
                orientamento = Session["orientamento"].ToString();
            }
            //carico i dati dentro l'oggetto Label
            label.position       = PosLabelPdf;
            label.tipoLabel      = tipo;
            label.label_rotation = rotazione;
            label.sel_font       = carattere;
            label.sel_color      = colore;
            label.orientamento   = orientamento;
            theDoc = FileManager.getInstance(Session.SessionID).getVoidFileConSegnatura(fr, schedaCorrente, label, this);

            //aggiungo in session le info relative alle label
            Session.Add("labelProperties", theDoc.LabelPdf);
            if (theDoc != null)
            {
                Response.ContentType = theDoc.contentType;
                Response.AddHeader("content-disposition", "inline;filename=" + theDoc.name);
                Response.AddHeader("content-length", theDoc.content.Length.ToString());
                Response.BinaryWrite(theDoc.content);
            }
        }
Esempio n. 5
0
        internal static DocsPaVO.documento.FileRequest updateVers(DocsPaVO.documento.FileRequest fileRequest)
        {
            string tipoFile = "0";

            if (fileRequest.GetType().Equals(typeof(DocsPaVO.documento.Allegato)))
            {
                fileRequest.versionLabel = "A" + fileRequest.version;
                tipoFile = "1";
            }
            else
            {
                fileRequest.versionLabel = fileRequest.version;
            }

            if (fileRequest.descrizione == null)
            {
                fileRequest.descrizione = "";
            }
            fileRequest.version = getNumVersione(fileRequest);

            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            string docnumber = getFNETename(fileRequest.docNumber);

            // v_e_name = doc.F_GetFilenetNumVersione( docnumber, fileRequest.version);

            DocsPaDB.Query_DocsPAWS.Documenti docF = new DocsPaDB.Query_DocsPAWS.Documenti();
            docF.F_UpdateVersion(fileRequest, tipoFile);

            return(fileRequest);
        }
Esempio n. 6
0
        internal static DocsPaVO.documento.FileRequest createVersionFNET(DocsPaVO.documento.FileRequest fileRequest, string idamministrazione, string dst)
        {
            string nomeFile = getDefaultFile();

            createVersionFNET(nomeFile, ref fileRequest, idamministrazione, dst);
            return(fileRequest);
        }
Esempio n. 7
0
        public void ConvertToPdfAsync(byte[] content, DocsPaVO.documento.FileRequest fileReq, DocsPaVO.utente.InfoUtente infoUtente)
        {
            AsyncCallback        callback = new AsyncCallback(CallBack);
            ConvertToPdfDelegate conv     = new ConvertToPdfDelegate(ConvertToPdf);

            conv.BeginInvoke(content, fileReq, infoUtente, callback, conv);
        }
Esempio n. 8
0
        public bool PutFile(DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocumento, string estensione)
        {
            Titolo_Doc = fileRequest.fileName;
            Note       = fileRequest.descrizione;
            pDoc       = fileDocumento.content;
            Este       = estensione;
            String num_HB = "";
            String w_ins  = "";
            bool   esito  = false;

            Appl_ID = get_Appl_ID(estensione.ToLowerInvariant());

            if (Appl_ID != null)
            {
                String tip_doc = get_tip_doc(fileRequest.docNumber);//aggiunto per NSD per tipologia
                DMFileOperationSoapClient ws = new DMFileOperationSoapClient();
                num_HB = ws.AggiungiDocumentoSec(Libreria, NomeForm, Titolo_Doc, Appl_ID, Autore, Note, pDoc, Trustee, DMUser, DMPassword);

                w_ins = set_fk_hermes(fileRequest.docNumber, num_HB, fileRequest.fileName, fileRequest.versionId);
                esito = true;
            }
            else
            {
                esito = false;
            }
            return(esito);
        }
Esempio n. 9
0
 /// <summary>
 /// Aggiunta di un file firmato ad un documento esistente
 /// </summary>
 /// <param name="base64content"></param>
 /// <param name="cofirma"></param>
 /// <param name="fileRequest"></param>
 /// <param name="infoUtente"></param>
 /// <returns></returns>
 public static bool AppendDocumentoFirmato(
     string base64content,
     bool cofirma,
     ref DocsPaVO.documento.FileRequest fileRequest,
     DocsPaVO.utente.InfoUtente infoUtente)
 {
     return(AppendDocumentoFirmato(Convert.FromBase64String(base64content), cofirma, ref fileRequest, infoUtente, false));
 }
Esempio n. 10
0
 /// <summary>
 /// Aggiunta di un file firmato ad un documento esistente
 /// </summary>
 /// <param name="base64content"></param>
 /// <param name="cofirma"></param>
 /// <param name="fileRequest"></param>
 /// <param name="infoUtente"></param>
 /// <returns></returns>
 public static bool AppendDocumentoFirmato(
     byte[] signedContent,
     bool cofirma,
     ref DocsPaVO.documento.FileRequest fileRequest,
     DocsPaVO.utente.InfoUtente infoUtente)
 {
     return(AppendDocumentoFirmato(signedContent, cofirma, ref fileRequest, infoUtente, false));
 }
Esempio n. 11
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileRequest"></param>
        public void RemoveFile(DocsPaVO.documento.FileRequest fileRequest)
        {
            this.CheckForRepositoryExpired();

            this.CheckForFileExist(fileRequest);

            File.Delete(this.GetFilePath(fileRequest));
        }
Esempio n. 12
0
 public static bool AppendDocumentoFirmatoPades(
     byte[] signedContent,
     bool cofirma,
     ref DocsPaVO.documento.FileRequest fileRequest,
     DocsPaVO.utente.InfoUtente infoUtente, bool isConvertedToPdf = false)
 {
     return(AppendDocumentoFirmato(signedContent, cofirma, ref fileRequest, infoUtente, true, isConvertedToPdf));
 }
Esempio n. 13
0
 internal static void setFirmatari(DocsPaVO.documento.FileRequest fileRequest)
 {
     if (fileRequest.firmatari != null && fileRequest.firmatari.Count > 0)
     {
         DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
         doc.UpdateFirmatari(fileRequest);
     }
 }
Esempio n. 14
0
        /// <summary>
        /// Associa un TSR a un documento ricevuto
        /// </summary>
        /// <param name="path">path dove sono presenti i file ricevuti in mail</param>
        /// <param name="fr">filerequest</param>
        /// <param name="fd">filedocumento</param>
        /// <param name="infoUtente">infoutente</param>
        /// <returns>False in caso di fallimento</returns>
        public static bool MatchTSR(string path, DocsPaVO.documento.FileRequest fr, DocsPaVO.documento.FileDocumento fd, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retval = false;

            string[] tsrFiles = Directory.GetFiles(path, "*.tsr");
            //se non ci sono TSR
            if (tsrFiles.Length == 0)
            {
                return(false);
            }

            if (Path.GetExtension(fr.fileName).ToLowerInvariant() == ".tsr")
            {
                //logger.DebugFormat ("Il file è un TSR, non associo un TSR a un TSR");
                return(false);
            }

            BusinessLogic.Documenti.DigitalSignature.VerifyTimeStamp vts = new Documenti.DigitalSignature.VerifyTimeStamp();
            string fdFileName = path + "\\" + fr.fileName;

            foreach (string file in tsrFiles)
            {
                // byte[] tsrFile = File.ReadAllBytes(file);

                byte[] tsrFile;
                if (fdFileName.ToLowerInvariant().Equals(file.ToLowerInvariant()))
                {
                    tsrFile = fd.content;
                }
                else
                {
                    System.IO.FileStream fsAll = new System.IO.FileStream(file, System.IO.FileMode.Open, FileAccess.Read, FileShare.Read);
                    tsrFile = new byte[fsAll.Length];
                    fsAll.Read(tsrFile, 0, (int)fsAll.Length);
                    fsAll.Close();
                }
                try
                {
                    if (vts.machTSR(tsrFile, fd.content))
                    {
                        logger.DebugFormat("Provo TSR {0}", file);
                        DocsPaVO.areaConservazione.OutputResponseMarca resultMarca = vts.Verify(fd.content, tsrFile);
                        if (resultMarca.esito == "OK")
                        {
                            DocsPaDB.Query_DocsPAWS.TimestampDoc timestampDoc = new DocsPaDB.Query_DocsPAWS.TimestampDoc();
                            timestampDoc.saveTSR(infoUtente, resultMarca, fr);
                            logger.DebugFormat("Associato TSR al documento {0} {1}", fr.docNumber, fr.versionId);
                            retval = true;
                        }
                    }
                }
                catch (Exception e1)
                {
                    logger.ErrorFormat("Errore Cercando di associare il TSR {0} : {1}", e1.Message, e1.StackTrace);
                }
            }
            return(retval);
        }
Esempio n. 15
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileRequest"></param>
        /// <returns></returns>
        public DocsPaVO.documento.FileDocumento GetFile(DocsPaVO.documento.FileRequest fileRequest)
        {
            this.CheckForRepositoryExpired();

            this.CheckForFileExist(fileRequest);

            return((DocsPaVO.documento.FileDocumento)
                   SessionRepositorySerializerHelper.Deserialize(this.GetFilePath(fileRequest)));
        }
Esempio n. 16
0
        private void ConvertToPdf(byte[] content, DocsPaVO.documento.FileRequest fileReq, DocsPaVO.utente.InfoUtente infoUtente)
        {
            logger.Debug("BEGIN");

            MemoryStream ms  = new MemoryStream(content);
            Document     doc = new Document(ms);

            using (MemoryStream pdfStream = new MemoryStream())
            {
                doc.Save(pdfStream, SaveFormat.Pdf);

                if (pdfStream != null && pdfStream.Length > 0)
                {
                    using (DocsPaDB.TransactionContext transaction = new DocsPaDB.TransactionContext())
                    {
                        try
                        {
                            DocsPaVO.documento.FileRequest convertedFileReq = new DocsPaVO.documento.FileRequest();

                            convertedFileReq.cartaceo = false;
                            convertedFileReq.daAggiornareFirmatari = false;
                            convertedFileReq.descrizione           = "Documento converito in PDF lato server";
                            convertedFileReq.docNumber             = fileReq.docNumber;

                            convertedFileReq = BusinessLogic.Documenti.VersioniManager.addVersion(convertedFileReq, infoUtente, false);

                            DocsPaVO.documento.FileDocumento convertedFileDoc = new DocsPaVO.documento.FileDocumento();
                            convertedFileDoc.cartaceo       = false;
                            convertedFileDoc.content        = pdfStream.ToArray();
                            convertedFileDoc.contentType    = "application/pdf";
                            convertedFileDoc.estensioneFile = "PDF";
                            convertedFileDoc.fullName       = fileReq.fileName + ".pdf";
                            convertedFileDoc.length         = convertedFileDoc.content.Length;
                            convertedFileDoc.name           = fileReq.fileName + ".pdf";
                            convertedFileDoc.nomeOriginale  = fileReq.fileName + ".pdf";
                            convertedFileDoc.path           = "";

                            DocsPaVO.documento.FileRequest result = Documenti.FileManager.putFile(convertedFileReq, convertedFileDoc, infoUtente);

                            if (result == null)
                            {
                                throw new Exception();
                            }

                            transaction.Complete();
                        }
                        catch (Exception ex)
                        {
                            logger.Debug("Errore nella conversione PDF Aspose - ", ex);
                        }
                    }
                }
            }

            logger.Debug("END");
        }
Esempio n. 17
0
        internal static string writeTempFile(DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocumento)
        {
            string path     = ConfigurationManager.AppSettings["FNET_pathServer"];
            string fileName = fileRequest.versionId + "." + Functions.getExt(fileDocumento.fullName);

            string tmpFile = path + "\\" + fileName;

            DocsPaUtils.Functions.Functions.write(tmpFile, fileDocumento);
            return(fileName);
        }
Esempio n. 18
0
 /// <summary>
 /// Reperimento del path della versione
 /// </summary>
 /// <param name="version"></param>
 /// <returns></returns>
 protected virtual string GetFilePath(DocsPaVO.documento.FileRequest fileRequest)
 {
     if (fileRequest is DocsPaVO.documento.Allegato)
     {
         return(this.GetAttatchmentFilePath((DocsPaVO.documento.Allegato)fileRequest));
     }
     else
     {
         return(Path.Combine(GetContextRepositoryPath(this.Context), fileRequest.version));
     }
 }
Esempio n. 19
0
        internal static string createVersionFNET(string nomeFile, ref DocsPaVO.documento.FileRequest fileRequest, string idamministrazione, string dst)
        {
            IDMError.ErrorManager idmErrorManager = new IDMError.ErrorManager();
            try
            {
                string path = ConfigurationManager.AppSettings["FNET_pathServer"];

                DocsPaDocumentale_FILENET.Documentale.UserManager userManager = new DocsPaDocumentale_FILENET.Documentale.UserManager();
                IDMObjects.Library oLibrary = userManager.getFileNETLib(idamministrazione);

                oLibrary.LogonId = dst;
                IDMObjects.IFnFolderDual   folder  = DocumentManagement.getRootFolder(oLibrary);
                IDMObjects.IFnDocumentDual docFNET = (IDMObjects.IFnDocumentDual)oLibrary.GetObject(IDMObjects.idmObjectType.idmObjTypeDocument, fileRequest.docNumber, oLibrary, null, null);
                bool canCheckout = docFNET.GetState(IDMObjects.idmDocState.idmDocCanCheckout);

                if (canCheckout)
                {
                    docFNET.Version.CheckoutNoCopy();
                }
                else
                {
                    throw new Exception("Il file è utilizzato da un altro processo");
                }

                bool canCheckin = docFNET.GetState(IDMObjects.idmDocState.idmDocCanCheckin);

                docFNET.Version.Checkin(path, nomeFile, IDMObjects.idmCheckin.idmCheckinKeep);

                IDMObjects.Version vers = docFNET.Version;
                bool canIndex           = docFNET.GetState(IDMObjects.idmDocState.idmDocCanIndex);
                if (canIndex)
                {
                    vers.IndexContent(IDMObjects.idmIndex.idmIndexContent);
                }



                string numVers = getFNETnumVers(docFNET.Version.Number);
                //OLD: fileRequest.versionId =  numVers +	getFNETename(fileRequest.docNumber);
                fileRequest.fNversionId = numVers + getFNETename(fileRequest.docNumber);
                return(numVers);
            }
            catch (Exception e)
            {
                string msg = e.Message;
                for (int i = 0; i < idmErrorManager.Errors.Count; i++)
                {
                    msg += " " + idmErrorManager.Errors[i].Description;
                }
                throw new Exception(msg);
            }
        }
Esempio n. 20
0
        internal void unlock(DocsPaVO.documento.FileRequest fileReq, string idamministrazione)
        {
            int numVersione = getNumVers(fileReq.versionId);

            DocsPaDocumentale_FILENET.Documentale.UserManager userManager = new DocsPaDocumentale_FILENET.Documentale.UserManager();
            IDMObjects.Library         oLibrary = userManager.getFileNETLib(idamministrazione);
            IDMObjects.IFnDocumentDual docFNET  = (IDMObjects.IFnDocumentDual)oLibrary.GetObject(IDMObjects.idmObjectType.idmObjTypeDocument, fileReq.docNumber, oLibrary, null, null);
            bool canCheckin = docFNET.GetState(IDMObjects.idmDocState.idmDocCanCheckin);

            if (canCheckin)
            {
                docFNET.Version.CancelCheckout(IDMObjects.idmCancelCheckout.idmCancelCheckoutNoKeep);
            }
        }
Esempio n. 21
0
        /// <summary>
        /// Reperimento file associato al documento
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="docNumber"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileDocumento GetFile(DocsPaVO.utente.InfoUtente infoUtente, string docNumber)
        {
            DocsPaVO.documento.SchedaDocumento schedaDocumento = BusinessLogic.Documenti.DocManager.getDettaglioNoSecurity(infoUtente, docNumber);

            DocsPaVO.documento.FileRequest fileRequest = (DocsPaVO.documento.FileRequest)schedaDocumento.documenti[0];

            if (IsAcquired(fileRequest))
            {
                // Download del file associato al documento
                return(BusinessLogic.Documenti.FileManager.getFile(fileRequest, infoUtente));
            }
            else
            {
                return(null);
            }
        }
Esempio n. 22
0
        public bool inCache(string docNumber, string versionId, string idAmministrazione)
        {
            bool retval = false;

            try
            {
                DocsPaVO.documento.FileRequest fr = new DocsPaVO.documento.FileRequest();
                fr.versionId = versionId;
                fr.docNumber = docNumber;
                retval       = CacheFileManager.verificaEsistenzaFileInCache(fr, idAmministrazione);
            }
            catch (Exception e)
            {
                logger.Debug("errore nel web method incache errore: " + e.Message);
            }

            return(retval);
        }
Esempio n. 23
0
        internal void remove(DocsPaVO.documento.FileRequest fileReq, string idamministrazione, string versFNET, string dst)
        {
            // int numVersione = getNumVers(fileReq.versionId);
            int numVersione = getNumVers(versFNET);


            string strNumVersione = getFNETnumVers(numVersione.ToString());

            IDMError.ErrorManager idmErrorManager = new IDMError.ErrorManager();
            DocsPaDocumentale_FILENET.Documentale.UserManager userManager = new DocsPaDocumentale_FILENET.Documentale.UserManager();
            IDMObjects.Library oLibrary = userManager.getFileNETLib(idamministrazione);
            oLibrary.LogonId = dst;
            IDMObjects.IFnDocumentDual docFNET = (IDMObjects.IFnDocumentDual)oLibrary.GetObject(IDMObjects.idmObjectType.idmObjTypeDocument, fileReq.docNumber, oLibrary, null, null);
            IDMObjects.IFnDocumentDual verFNET = (IDMObjects.IFnDocumentDual)oLibrary.GetObject(IDMObjects.idmObjectType.idmObjTypeDocument, fileReq.docNumber + ":" + strNumVersione, oLibrary, null, null);
            try
            {
                //TODO: 04/06/2007  (A.B.)
                //attualmente viene de-indicizzato il file acquisito sulla versione e/o allegato
                // non viene ne eliminata la versione Filenet ne eliminato il file vero è proprio
                //in quanto se rimosso viene messo off line la versione e nascono problemi
                //per eventuali versioni successive.
                docFNET.Version.IndexContent(IDMObjects.idmIndex.idmIndexContentDeindex);

                #region testing filenet
                //docFNET.Version.Series.Remove(numVersione);
                //docFNET.Version.Archive(IDMObjects.idmArchive.idmArchiveDispose);
                //string ArchivioFile = DocsPaDocumentale_FILENET.FilenetLib.DocumentManagement.checkFolderCompliance(oLibrary);
                //verFNET.Version.ArchiveEx(String.Empty);
                //removeVers(fileReq.versionId);
                //removeVers(versFNET);
                //docFNET.Version.Archive(IDMObjects.idmArchive.idmArchiveDispose);
                #endregion
            }
            catch (Exception e)
            {
                string msg = e.Message;
                for (int i = 0; i < idmErrorManager.Errors.Count; i++)
                {
                    msg += " " + idmErrorManager.Errors[i].Description;
                }
                throw new Exception(msg);
            }
        }
Esempio n. 24
0
        public string GetDocPathAdvanced(DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.utente.InfoUtente objSicurezza)
        {
            string path = string.Empty;

            try
            {
                if (fileRequest != null && objSicurezza != null)
                {
                    path = BusinessLogic.Documenti.CacheFileManager.GetDocPathAdvanced(fileRequest, objSicurezza);
                }
            }
            catch (Exception e)
            {
                logger.Debug("errore nel web method GetDocPathAdvanced errore: " + e.Message);
            }


            return(path);
        }
Esempio n. 25
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileManager"></param>
        /// <param name="version"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileRequest CopyToRepository(SessionRepositoryFileManager fileManager, DocsPaVO.documento.FileRequest version)
        {
            DocsPaVO.documento.FileRequest result = null;

            version.repositoryContext = null;

            if (fileManager.ExistFile(version))
            {
                // Reperimento del file dal repository di sessione
                DocsPaVO.documento.FileDocumento document = fileManager.GetFile(version);

                // Inserimento del file nel repository documentale
                result = BusinessLogic.Documenti.FileManager.putFile(version, document, fileManager.Context.Owner);
            }
            else
            {
                result = version;
            }

            return(result);
        }
Esempio n. 26
0
        internal static string getNumVersione(DocsPaVO.documento.FileRequest fileRequest)
        {
            string allegato = "0";

            if (fileRequest.GetType().Equals(typeof(DocsPaVO.documento.Allegato)))
            {
                allegato = "1";
            }

            DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti();
            string docnumberFNET = getFNETename(fileRequest.docNumber);
            string numVers       = doc.F_GetNumVersione(docnumberFNET, allegato);

            if (numVers == null || numVers.Length == 0)
            {
                return("1");
            }

            int numVer = Int32.Parse(numVers) + 1;

            return(numVer.ToString());
        }
Esempio n. 27
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="infoUtente"></param>
        /// <param name="numeroDocumento"></param>
        /// <param name="fileName"></param>
        /// <param name="fileContent"></param>
        public static void SetFile(DocsPaVO.utente.InfoUtente infoUtente, string numeroDocumento, string fileName, byte[] fileContent)
        {
            DocsPaVO.documento.SchedaDocumento schedaDocumento = BusinessLogic.Documenti.DocManager.getDettaglio(infoUtente, numeroDocumento, numeroDocumento);

            DocsPaVO.documento.FileRequest fileRequest = null;

            if (schedaDocumento.documenti.Count > 0)
            {
                // Reperimento ultima versione del documento
                fileRequest = (DocsPaVO.documento.FileRequest)schedaDocumento.documenti[0];

                if (fileRequest.fileSize != "0")
                {
                    // Se per l'ultima versione del documento è stato acquisito un file,
                    // viene creata nuova versione per il documento
                    fileRequest             = new DocsPaVO.documento.FileRequest();
                    fileRequest.fileName    = fileName;
                    fileRequest.docNumber   = numeroDocumento;
                    fileRequest.descrizione = string.Empty;

                    fileRequest = BusinessLogic.Documenti.VersioniManager.addVersion(fileRequest, infoUtente, false);
                }
                else
                {
                    fileRequest.fileName = fileName;
                }
            }

            DocsPaVO.documento.FileDocumento fileDocument = new DocsPaVO.documento.FileDocumento
            {
                name           = fileName,
                estensioneFile = System.IO.Path.GetExtension(fileName).Replace(".", string.Empty),
                content        = fileContent,
                length         = fileContent.Length
            };

            fileRequest = BusinessLogic.Documenti.FileManager.putFile(fileRequest, fileDocument, infoUtente);
        }
Esempio n. 28
0
        public static bool PutFileFromUploadManager(ref DocsPaVO.documento.FileRequest fileRequest, DocsPaVO.documento.FileDocumento fileDocument, string fileName, string fileDescription, DocsPaVO.utente.InfoUtente infoUtente)
        {
            bool retVal = false;

            fileRequest.path     = fileDocument.fullName;
            fileRequest.fileName = fileDocument.name;

            try
            {
                fileDocument.content = System.IO.File.ReadAllBytes(fileDocument.fullName);
            }
            catch (Exception ex)
            {
                logger.Debug("Errore in BusinessLogic.UploadFiles.UploadFilesManager  - metodo: PutFileFromUploadManager ", ex);
                return(false);
            }

            string msgError = string.Empty;

            if (BusinessLogic.Documenti.FileManager.putFile(ref fileRequest, fileDocument, infoUtente, true, out msgError))
            {
                DocsPaDB.Query_DocsPAWS.UploadFiles uploadFiles = new DocsPaDB.Query_DocsPAWS.UploadFiles();
                //if (uploadFiles.DeleteFileInUpload(hashFile, infoUtente))
                if (uploadFiles.DeleteFileInUpload(fileName, fileDescription, infoUtente))
                {
                    System.IO.File.Delete(fileDocument.fullName);
                }

                retVal = true;
            }
            else
            {
                logger.Debug("Errore in BusinessLogic.UploadFiles.UploadFilesManager  - metodo: PutFileFromUploadManager ", new Exception(msgError));
                retVal = false;
            }

            return(retVal);
        }
Esempio n. 29
0
        public ArrayList getTimestampsDoc(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.documento.FileRequest fileRequest)
        {
            DocsPaDB.DBProvider dbProvider    = new DBProvider();
            ArrayList           timestampsDoc = new ArrayList();

            try
            {
                if (fileRequest != null && !string.IsNullOrEmpty(fileRequest.versionId) && !string.IsNullOrEmpty(fileRequest.docNumber))
                {
                    DocsPaUtils.Query queryMng = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPA_TIMESTAMP_DOC");
                    queryMng.setParam("versionId", fileRequest.versionId);
                    queryMng.setParam("docNumber", fileRequest.docNumber);

                    string commandText = queryMng.getSQL();
                    System.Diagnostics.Debug.WriteLine("SQL - getTimestampsDoc - DocsPaDB/TimestampDoc.cs - QUERY : " + commandText);
                    logger.Debug("SQL - getTimestampsDoc - DocsPaDB/TimestampDoc.cs - QUERY : " + commandText);
                    DataSet dataSet = new DataSet();
                    dbProvider.ExecuteQuery(dataSet, commandText);

                    if (dataSet.Tables[0].Rows.Count != 0)
                    {
                        for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
                        {
                            DocsPaVO.documento.TimestampDoc timestampDoc = new DocsPaVO.documento.TimestampDoc();
                            setTimestamp(ref timestampDoc, dataSet, i);
                            timestampsDoc.Add(timestampDoc);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Debug("SQL - setTimestamp - DocsPaDB/TimestampDoc.cs - Exception : " + ex.Message);
                dbProvider.RollbackTransaction();
            }

            return(timestampsDoc);
        }
Esempio n. 30
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="fileManager"></param>
        /// <param name="versions"></param>
        /// <returns></returns>
        public static DocsPaVO.documento.FileRequest[] CopyToRepository(SessionRepositoryFileManager fileManager, DocsPaVO.documento.FileRequest[] versions)
        {
            List <DocsPaVO.documento.FileRequest> newVersions = new List <DocsPaVO.documento.FileRequest>();
            string tmpVersionLabel;

            foreach (DocsPaVO.documento.FileRequest version in versions)
            {
                tmpVersionLabel = version.versionLabel;

                version.repositoryContext = null;

                if (fileManager.ExistFile(version))
                {
                    // Reperimento del file dal repository di sessione
                    DocsPaVO.documento.FileDocumento document = fileManager.GetFile(version);

                    // Inserimento del file nel repository documentale
                    DocsPaVO.documento.FileRequest result = BusinessLogic.Documenti.FileManager.putFile(version, document, fileManager.Context.Owner);

                    if (!string.IsNullOrEmpty(tmpVersionLabel) && result != null)
                    {
                        result.versionLabel = tmpVersionLabel;
                    }

                    newVersions.Add(result);

                    // Rimozione del file dal repository di sessione
                    version.repositoryContext = null;
                }
                else
                {
                    newVersions.Add(version);
                }
            }

            return(newVersions.ToArray());
        }