/// <summary> /// </summary> /// <param name="idAmministrazione"></param> /// <param name="oggetto"></param> /// <returns></returns> public static bool modificaOggetto(string idAmministrazione, DocsPaVO.documento.Oggetto oggetto) { bool result; logger.Debug("START : DocsPAWS > documenti > Oggettario.cs > modificaOggetto"); DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); logger.Debug("CALL : UpdateOggettario"); result = doc.UpdateOggettario(idAmministrazione, oggetto); logger.Debug("END : DocsPAWS > documenti > Oggettario.cs > modificaOggetto"); return(result); }
///// <summary> ///// ///// </summary> ///// <param name="obj"></param> ///// <returns></returns> //private static byte[] GetObjectStream(object obj) //{ // byte[] content = null; // if (obj != null) // { // using (MemoryStream ms = new MemoryStream()) // { // BinaryFormatter formatter = new BinaryFormatter(); // formatter.Serialize(ms, obj); // ms.Position = 0; // content = new byte[ms.Length]; // ms.Read(content, 0, content.Length); // } // } // return content; //} /// <summary> /// Uguaglianza tra due oggetti di un documento /// </summary> /// <param name="document"></param> /// <param name="savedDocument"></param> /// <returns></returns> private static bool AreEquals(DocsPaVO.documento.Oggetto o1, DocsPaVO.documento.Oggetto o2) { if (o1 == null || o2 == null) { return(false); } if (string.Compare(o1.systemId, o2.systemId, true) != 0) { return(false); } if (string.Compare(o1.descrizione, o2.descrizione, true) != 0) { return(false); } return(true); }
/// <summary> /// </summary> /// <param name="oggetto"></param> /// <param name="registro"></param> /// <param name="infoUtente"></param> /// <returns></returns> public static DocsPaVO.documento.Oggetto inserisciOggetto(string idAmministrazione, DocsPaVO.documento.Oggetto oggetto, DocsPaVO.utente.Registro registro, ref string errMsg) { logger.Debug("START : DocsPAWS > documenti > Oggettario.cs > inserisciOggetto"); DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); logger.Debug("CALL : InsertOggettario"); oggetto = doc.InsertOggettario(idAmministrazione, oggetto, registro, ref errMsg); #region Codice Commentato /*DocsPaWS.Utils.Database db = DocsPaWS.Utils.dbControl.getDatabase(); * * db.openConnection(); * string id_registro; * string id_amministrazione; * if (registro != null) * { * id_registro = registro.systemId; * } * else * { * id_registro = "null"; * } * id_amministrazione = infoUtente.idAmministrazione; * * string numOggetti= checkOggetto(oggetto, registro,id_amministrazione,db); * if (!numOggetti.Equals("0")) * { * throw new Exception("Oggetto già presente"); * } * * try * { * string insertString = * "INSERT INTO DPA_OGGETTARIO " + * "(" + DocsPaWS.Utils.dbControl.getSystemIdColName() + " ID_REGISTRO, ID_AMM, VAR_DESC_OGGETTO, CHA_OCCASIONALE) " + * " VALUES (" + DocsPaWS.Utils.dbControl.getSystemIdNextVal("DPA_OGGETTARIO") + * id_registro + ", " + id_amministrazione + ", '" + oggetto.descrizione.Replace("'", "''") + "', '0')"; * * logger.Debug(insertString); * oggetto.systemId = db.insertLocked(insertString, "DPA_OGGETTARIO"); * * db.closeConnection(); * * } * catch (Exception e) * { * logger.Debug (e.Message); * db.closeConnection(); * throw new Exception("F_System"); * }*/ #endregion logger.Debug("END : DocsPAWS > documenti > Oggettario.cs > inserisciOggetto"); return(oggetto); }
private DocsPaVO.documento.SchedaDocumento getSchedaDocumentoDocsPa(DocsPaVO.FriendApplication.SchedaDocumento schedaDocumentoLite, DocsPaVO.FriendApplication.FriendApplication objFriendApplication, DocsPaVO.utente.InfoUtente infoUtente) { try { //Creo e valorizzo una Scheda Documento DocsPaVO.documento.SchedaDocumento schedaDocumentoTrasformata = new DocsPaVO.documento.SchedaDocumento(); schedaDocumentoTrasformata.appId = "ACROBAT"; schedaDocumentoTrasformata.idPeople = objFriendApplication.idPeopleFactory; schedaDocumentoTrasformata.typeId = "LETTERA"; schedaDocumentoTrasformata.userId = objFriendApplication.utente.userId; schedaDocumentoTrasformata.noteDocumento = new List <DocsPaVO.Note.InfoNota>(); schedaDocumentoTrasformata.noteDocumento.Add(new DocsPaVO.Note.InfoNota(schedaDocumentoLite.note, objFriendApplication.utente.systemId, objFriendApplication.ruolo.systemId, null)); DocsPaVO.documento.Oggetto oggetto = new DocsPaVO.documento.Oggetto(); oggetto.descrizione = schedaDocumentoLite.oggetto; schedaDocumentoTrasformata.oggetto = oggetto; //Protocollo in Partenza if (schedaDocumentoLite.tipoProto.ToUpper() == "P".ToUpper()) { DocsPaVO.documento.ProtocolloUscita protoPartenza = new DocsPaVO.documento.ProtocolloUscita(); //Aggiungo il mittente if (schedaDocumentoLite.mittente != null) { DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente); if (mittente != null) { protoPartenza.mittente = mittente; } } //Aggiungo i destinatari protoPartenza.destinatari = new ArrayList(); foreach (DocsPaVO.FriendApplication.CorrLite corrLite in schedaDocumentoLite.destinatari) { protoPartenza.destinatari.Add(ricercaCorr(corrLite, infoUtente)); } schedaDocumentoTrasformata.protocollo = protoPartenza; schedaDocumentoTrasformata.tipoProto = "P"; } //Protocollo in Arrivo if (schedaDocumentoLite.tipoProto.ToUpper() == "A".ToUpper()) { DocsPaVO.documento.ProtocolloEntrata protoArrivo = new DocsPaVO.documento.ProtocolloEntrata(); //Aggiungo il mittente DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente); protoArrivo.mittente = mittente; schedaDocumentoTrasformata.protocollo = protoArrivo; schedaDocumentoTrasformata.tipoProto = "A"; } //Protocollo Interno if (schedaDocumentoLite.tipoProto.ToUpper() == "I".ToUpper()) { DocsPaVO.documento.ProtocolloInterno protoInterno = new DocsPaVO.documento.ProtocolloInterno(); //Aggiungo il mittente DocsPaVO.utente.Corrispondente mittente = ricercaCorr(schedaDocumentoLite.mittente, infoUtente); protoInterno.mittente = mittente; //Aggiungo i destinatari protoInterno.destinatari = new ArrayList(); foreach (DocsPaVO.FriendApplication.CorrLite corrLite in schedaDocumentoLite.destinatari) { protoInterno.destinatari.Add(ricercaCorr(corrLite, infoUtente)); } schedaDocumentoTrasformata.protocollo = protoInterno; schedaDocumentoTrasformata.tipoProto = "I"; } schedaDocumentoTrasformata.registro = objFriendApplication.registro; return(schedaDocumentoTrasformata); } catch (Exception ex) { logger.Debug("Errore in DocsPaWSFriendApplication - metodo : setSchedaDocumento", ex); throw ex; } }
/// <summary> /// /// </summary> /// <param name="serverName"></param> /// <param name="path"></param> /// <param name="messaggio"></param> /// <param name="infoUtente"></param> /// <param name="ruolo"></param> /// <param name="registro"></param> /// <param name="destinatario"></param> private static void processaMessaggio(string serverName, string path, ZfLib.Message messaggio, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.utente.Registro registro, DocsPaVO.utente.Corrispondente destinatario) { logger.Debug("processaMessaggio"); System.IO.FileStream fs = null; bool daAggiornareUffRef = false; bool dbOpen = false; bool fsOpen = false; try { //informazioni sul fax string dataRic = messaggio.GetMsgHistories()[0].Date.ToString(); logger.Debug(" @ dataric = " + dataRic); //accesso al file del fax fs = getFileStream(path + messaggio.GetMsgInfo().Body); //=new System.IO.FileStream(path+messaggio.GetMsgInfo().Body+".G3N",System.IO.FileMode.Open,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite); logger.Debug(fs.CanRead.ToString() + "@ OK @"); fsOpen = true; //creazione scheda documento DocsPaVO.documento.SchedaDocumento sd = new DocsPaVO.documento.SchedaDocumento(); sd.idPeople = infoUtente.idPeople; logger.Debug("sd.idPeople = " + sd.idPeople.ToString()); sd.userId = infoUtente.userId; logger.Debug("sd.userId = " + sd.userId.ToString()); DocsPaVO.documento.Oggetto ogg = new DocsPaVO.documento.Oggetto(); ogg.descrizione = "Fax ricevuto in data " + dataRic; //DA COMPLETARE sd.oggetto = ogg; sd.predisponiProtocollazione = true; sd.registro = registro; sd.tipoProto = "A"; sd.typeId = "MAIL"; //aggiunta protocollo entrata DocsPaVO.documento.ProtocolloEntrata protEntr = new DocsPaVO.documento.ProtocolloEntrata(); DocsPaVO.utente.Corrispondente mittente = new DocsPaVO.utente.Corrispondente(); mittente.descrizione = messaggio.GetMsgInfo().Comment; logger.Debug(" @ mittente.descrizione = " + mittente.descrizione); //"QUI SI METTONO INFORMAZIONI"; protEntr.mittente = mittente; sd.protocollo = protEntr; protEntr.dataProtocollazione = System.DateTime.Today.ToString(); sd.appId = "ACROBAT"; sd = BusinessLogic.Documenti.DocSave.addDocGrigia(sd, infoUtente, ruolo); logger.Debug("Salvataggio doc..."); sd = BusinessLogic.Documenti.DocSave.save(infoUtente, sd, false, out daAggiornareUffRef, ruolo); logger.Debug("Salvataggio eseguito"); DocsPaVO.documento.FileDocumento fd = new DocsPaVO.documento.FileDocumento(); byte[] buffer = new byte[fs.Length]; fs.Read(buffer, 0, (int)fs.Length); fd.content = buffer; fd.length = buffer.Length; fd.name = "fax.tif"; BusinessLogic.Documenti.FileManager.putFile((DocsPaVO.documento.FileRequest)sd.documenti[0], fd, infoUtente); logger.Debug("Documento inserito"); fs.Close(); fsOpen = false; //TRASMISSIONE DocsPaVO.trasmissione.Trasmissione trasm = new DocsPaVO.trasmissione.Trasmissione(); trasm.ruolo = ruolo; //db.openConnection(); dbOpen = true; trasm.utente = BusinessLogic.Utenti.UserManager.getUtente(infoUtente.idPeople); DocsPaVO.documento.InfoDocumento infoDoc = new DocsPaVO.documento.InfoDocumento(); infoDoc.idProfile = sd.systemId; infoDoc.docNumber = sd.docNumber; infoDoc.oggetto = sd.oggetto.descrizione; infoDoc.tipoProto = "A"; trasm.infoDocumento = infoDoc; //costruzione singole trasmissioni DocsPaVO.trasmissione.RagioneTrasmissione ragione = getRagioneTrasm(); System.Collections.ArrayList dest = new System.Collections.ArrayList(); dest.Add(destinatario); System.Collections.ArrayList trasmissioniSing = new System.Collections.ArrayList(); for (int i = 0; i < dest.Count; i++) { DocsPaVO.trasmissione.TrasmissioneSingola trSing = new DocsPaVO.trasmissione.TrasmissioneSingola(); trSing.ragione = ragione; logger.Debug(dest[i].GetType().ToString()); if (dest[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo))) { logger.Debug("ruolo"); trSing.corrispondenteInterno = (DocsPaVO.utente.Ruolo)dest[i]; } else { logger.Debug("utente"); trSing.corrispondenteInterno = (DocsPaVO.utente.Utente)dest[i]; } logger.Debug("ok"); trSing.tipoTrasm = "S"; if (dest[i].GetType().Equals(typeof(DocsPaVO.utente.Ruolo))) { logger.Debug("caso ruolo"); trSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.RUOLO; //ricerca degli utenti del ruolo System.Collections.ArrayList utenti = new System.Collections.ArrayList(); DocsPaVO.addressbook.QueryCorrispondente qc = new DocsPaVO.addressbook.QueryCorrispondente(); qc.codiceRubrica = ((DocsPaVO.utente.Ruolo)dest[i]).codiceRubrica; System.Collections.ArrayList registri = new System.Collections.ArrayList(); registri.Add(registro.systemId); qc.idRegistri = registri; qc.idAmministrazione = registro.idAmministrazione; qc.getChildren = true; utenti = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qc); System.Collections.ArrayList trasmissioniUt = new System.Collections.ArrayList(); for (int k = 0; k < utenti.Count; k++) { DocsPaVO.trasmissione.TrasmissioneUtente trUt = new DocsPaVO.trasmissione.TrasmissioneUtente(); trUt.utente = (DocsPaVO.utente.Utente)utenti[k]; trasmissioniUt.Add(trUt); } trSing.trasmissioneUtente = trasmissioniUt; } else { logger.Debug("Caso utente"); trSing.tipoDest = DocsPaVO.trasmissione.TipoDestinatario.UTENTE; System.Collections.ArrayList trasmissioniUt = new System.Collections.ArrayList(); DocsPaVO.trasmissione.TrasmissioneUtente trUt = new DocsPaVO.trasmissione.TrasmissioneUtente(); trUt.utente = (DocsPaVO.utente.Utente)dest[i]; trasmissioniUt.Add(trUt); trSing.trasmissioneUtente = trasmissioniUt; } trasmissioniSing.Add(trSing); } trasm.trasmissioniSingole = trasmissioniSing; if (infoUtente.delegato != null) { trasm.delegato = ((DocsPaVO.utente.InfoUtente)(infoUtente.delegato)).idPeople; } //BusinessLogic.Trasmissioni.TrasmManager.saveTrasmMethod(trasm); //BusinessLogic.Trasmissioni.ExecTrasmManager.executeTrasmMethod(serverName,trasm); BusinessLogic.Trasmissioni.ExecTrasmManager.saveExecuteTrasmMethod(serverName, trasm); } catch (Exception e) { logger.Debug(e.Message); if (fsOpen) { fs.Close(); } if (dbOpen) { //db.closeConnection(); } logger.Debug("Errore nella gestione dei fax (processaMessaggio)", e); throw e; } }