/// <summary> /// /// </summary> /// <param name="serverName"></param> /// <param name="infoUtente"></param> /// <param name="ruolo"></param> /// <param name="registro"></param> /// <returns></returns> public static int processaCaselleFaxUO(string serverName, DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Ruolo ruolo, DocsPaVO.utente.Registro registro) { logger.Debug("processaCaselleFaxUO"); System.Data.DataSet dataSet; bool dbOpen = false; int rtnNumMess = 0; try { // TODO: Utilizzare il progetto DocsPaDbManagement //database.openConnection(); dbOpen = true; #region Codice Commentato /* * string queryString="SELECT VAR_FAX_USER_LOGIN, VAR_COD_RUBRICA FROM DPA_CORR_GLOBALI WHERE "; * queryString=queryString+" ID_PEOPLE IN (SELECT PEOPLE_SYSTEM_ID FROM PEOPLEGROUPS B, DPA_CORR_GLOBALI A WHERE A.ID_GRUPPO=B.GROUPS_SYSTEM_ID AND A.ID_UO="+ruolo.uo.systemId+")"; * logger.Debug(queryString); * * // TODO: Utilizzare il progetto DocsPaDbManagement * database.fillTable(queryString,dataSet,"UTENTI_FAX"); */ #endregion DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax(); obj.processFaxUO(out dataSet, ruolo); for (int i = 0; i < dataSet.Tables["UTENTI_FAX"].Rows.Count; i++) { System.Data.DataRow utenteRow = dataSet.Tables["UTENTI_FAX"].Rows[i]; if (utenteRow["VAR_FAX_USER_LOGIN"].ToString() != null && !utenteRow["VAR_FAX_USER_LOGIN"].ToString().Equals("")) { logger.Debug("Processa casella fax dell'utente " + utenteRow["VAR_FAX_USER_LOGIN"].ToString()); rtnNumMess += processaCasellaFax(serverName, infoUtente, ruolo, registro, utenteRow["VAR_FAX_USER_LOGIN"].ToString(), utenteRow["VAR_COD_RUBRICA"].ToString()); } } // TODO: Utilizzare il progetto DocsPaDbManagement //database.closeConnection(); dbOpen = false; return(rtnNumMess); } catch (Exception e) { logger.Debug(e.Message); if (dbOpen) { // TODO: Utilizzare il progetto DocsPaDbManagement //database.closeConnection(); } logger.Debug("Errore nella gestione dei fax (processaCasellaFaxUO)", e); throw new Exception("F_System"); } }
/// <summary> /// </summary> /// <param name="systemId"></param> /// <param name="db"></param> /// <param name="debug"></param> /// <returns></returns> private static string getNumFaxCorr(string systemId) { string res = null; try { /* * string queryString="SELECT VAR_FAX FROM DPA_DETT_GLOBALI WHERE ID_CORR_GLOBALI="+systemId; * res=(string) db.executeScalar(queryString).ToString(); */ DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax(); res = obj.getNumFax(systemId /*,db*/); } catch (Exception e) { logger.Debug(e.Message); } return(res); }
// /// <summary> // /// </summary> // /// <param name="infoUtente"></param> // /// <returns></returns> // private static string getUserLogin(string idPeople) // { // logger.Debug("getUserLogin"); // //DocsPa_V15_Utils.Database db=DocsPa_V15_Utils.dbControl.getDatabase(); // bool dbOpen=false; // System.Data.DataSet ds=new System.Data.DataSet(); // string userLogin=null; // try // { // //db.openConnection(); // dbOpen=true; // // #region Codice Commentato // /* // string queryString="SELECT VAR_FAX_USER_LOGIN FROM DPA_CORR_GLOBALI WHERE ID_PEOPLE="+infoUtente.idPeople; // logger.Debug(queryString); // userLogin=(string) db.executeScalar(queryString).ToString(); // */ // #endregion // // DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax(); // userLogin = obj.getFaxUserLogin(idPeople); // // //db.closeConnection(); // dbOpen=false; // return userLogin; // } // catch(Exception e){ // logger.Debug(e.Message); // if(dbOpen){ // //db.closeConnection(); // } // // logger.Debug("Errore nella gestione dei fax (getUserLogin)",e); // throw e; // } // } #endregion /// <summary> /// </summary> /// <returns></returns> private static DocsPaVO.trasmissione.RagioneTrasmissione getRagioneTrasm() { logger.Debug("getRagioneTrasm"); //DocsPa_V15_Utils.Database db=DocsPa_V15_Utils.dbControl.getDatabase(); DataSet ds = new DataSet(); DocsPaVO.trasmissione.RagioneTrasmissione rt = new DocsPaVO.trasmissione.RagioneTrasmissione(); try { /* * string queryString="SELECT * FROM DPA_RAGIONE_TRASM WHERE CHA_TIPO_RAGIONE='N' AND CHA_TIPO_DIRITTI='W'"; * db.fillTable(queryString,ds,"RAGIONE"); */ DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax(); obj.getRagTrasm(out ds); DataRow ragione = ds.Tables["RAGIONE"].Rows[0]; rt.descrizione = ragione["VAR_DESC_RAGIONE"].ToString(); rt.risposta = ragione["CHA_RISPOSTA"].ToString(); rt.systemId = ragione["SYSTEM_ID"].ToString(); rt.tipo = "N"; logger.Debug("prima di tipo dest" + ragione["CHA_TIPO_DEST"].ToString() + " " + DocsPaDB.Utils.HashTableManager.GetKeyFromValue(DocsPaVO.trasmissione.RagioneTrasmissione.tipoGerarchiaStringa, ragione["CHA_TIPO_DEST"].ToString()).GetType()); rt.tipoDestinatario = (DocsPaVO.trasmissione.TipoGerarchia)DocsPaDB.Utils.HashTableManager.GetKeyFromValue(DocsPaVO.trasmissione.RagioneTrasmissione.tipoGerarchiaStringa, ragione["CHA_TIPO_DEST"].ToString()); rt.tipoDiritti = DocsPaVO.trasmissione.TipoDiritto.WRITE; rt.eredita = ragione["CHA_EREDITA"].ToString(); } catch (Exception e) { logger.Debug(e.ToString()); //db.closeConnection(); logger.Debug("Errore nella gestione dei fax (getRagioneTrasm)", e); throw e; } return(rt); }
/// <summary> /// </summary> /// <param name="corr"></param> /// <param name="db"></param> /// <param name="debug"></param> /// <returns></returns> private static bool isFaxPreferred(DocsPaVO.utente.Corrispondente corr) { //System.Data.DataSet ds=new System.Data.DataSet(); System.Data.DataSet ds; try { DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax(); obj.getFax(out ds, corr); if (ds.Tables["CANALE"].Rows.Count == 0) { return(false); } else { return(true); } } catch (Exception) { return(false); } }
/// <summary> /// </summary> /// <param name="infoUtente"></param> /// <param name="reg"></param> /// <param name="schedaDoc"></param> /// <param name="debug"></param> public static void FaxInvioMethod(DocsPaVO.utente.InfoUtente infoUtente, DocsPaVO.utente.Registro reg, DocsPaVO.documento.SchedaDocumento schedaDoc) { DataSet dataSet; try { #region Codice Commentato //db.openConnection(); //si estraggono i campi dalla tabella dei registri /* * string queryString="SELECT A.VAR_CODICE, B.VAR_CODICE_AMM FROM DPA_EL_REGISTRI A, DPA_AMMINISTRA B WHERE A.SYSTEM_ID="+reg.systemId+" AND B.SYSTEM_ID=A.ID_AMM"; * db.fillTable(queryString,dataSet,"REGISTRO"); */ #endregion DocsPaDB.Query_DocsPAWS.Fax obj = new DocsPaDB.Query_DocsPAWS.Fax(); obj.getDataReg(out dataSet, reg); if (dataSet.Tables["REGISTRO"].Rows.Count == 0) { return; } DataRow regRow = dataSet.Tables["REGISTRO"].Rows[0]; //si completa l'oggetto registro reg.codAmministrazione = regRow["VAR_CODICE_AMM"].ToString(); string faxUserLogin = obj.getFaxUsrLogin(infoUtente.idCorrGlobali); if (faxUserLogin == null || faxUserLogin.Equals("")) { // logger.addMessage("Utenza faxserver non trovata"); logger.Debug("Utenza faxserver non trovata"); return; } ZfLib.ZfAPI api = new ZfLib.ZfAPI(); // logger.addMessage("Tentativo di login con "+faxUserLogin); logger.Debug("Tentativo di login con " + faxUserLogin); ZfLib.UserSession session = api.Logon(faxUserLogin, false); // inserimento dei file in una cartella temporanei //string basePathFiles=ConfigurationManager.AppSettings["InteropFilePath"]+"\\Invio_files"; //string pathFiles=basePathFiles+"\\"+regRow["VAR_CODICE"].ToString(); string pathFiles = ConfigurationManager.AppSettings["faxTexp"]; DocsPaUtils.Functions.Functions.CheckEsistenzaDirectory(pathFiles); // logger.addMessage("Estrazione dei file da inviare"); logger.Debug("Estrazione dei file da inviare"); estrazioneFiles(infoUtente, schedaDoc, pathFiles); // logger.addMessage("Estrazione dei destinatari"); logger.Debug("Estrazione dei destinatari"); //si uniscono i destinatari e i destinatari per conoscenza System.Collections.ArrayList dest = new System.Collections.ArrayList(); for (int j = 0; j < ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatari.Count; j++) { dest.Add(((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatari[j]); // logger.addMessage("Aggiunto destinatario"); logger.Debug("Aggiunto destinatario"); } for (int j = 0; j < ((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza.Count; j++) { dest.Add(((DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo).destinatariConoscenza[j]); // logger.addMessage("Aggiunto destinatario per conoscenza"); logger.Debug("Aggiunto destinatario per conoscenza"); } // logger.addMessage("Divisione dei destinatari"); logger.Debug("Divisione dei destinatari"); System.Collections.Hashtable destDivisi = dividiDestinatari(dest); System.Collections.IEnumerator keys = destDivisi.Keys.GetEnumerator(); while (keys.MoveNext()) { //creazione ed invio mail // logger.addMessage("Creazione ed invio del fax al numero "+(string) keys.Current); logger.Debug("Creazione ed invio del fax al numero " + (string)keys.Current); creaFax(schedaDoc, session, (string)keys.Current, (System.Collections.ArrayList)destDivisi[keys.Current], pathFiles); } //cancellazione della directory DocsPaUtils.Functions.Functions.CancellaDirectory(pathFiles); //InteroperabilitaUtils.cancellaDirectory(basePathFiles); } catch (Exception e) { logger.Debug("Errore nella gestione dei fax (FaxInvioMethod)", e); throw e; } }