Beispiel #1
0
        /// <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");
            }
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
//		/// <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);
        }
Beispiel #4
0
        /// <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);
            }
        }
Beispiel #5
0
        /// <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;
            }
        }