예제 #1
0
        public bool updateNotifica(Notifica notifica)
        {
            bool retval = false;

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("U_DPA_NOTIFICA");
            q.setParam("systemid", notifica.idNotifica);
            q.setParam("idtiponotifica", notifica.idTipoNotifica);
            q.setParam("docnumber", notifica.docnumber);
            q.setParam("mittente", notifica.mittente.Replace("'", "''"));
            q.setParam("tipoDestinatario", notifica.tipoDestinatario);
            q.setParam("destinatario", notifica.destinatario.Replace("'", "''"));
            q.setParam("risposte", notifica.risposte.Replace("'", "''"));
            q.setParam("oggetto", notifica.oggetto.Replace("'", "''"));
            q.setParam("gestioneemittente", notifica.gestioneEmittente);
            q.setParam("zona", notifica.zona);
            q.setParam("giorno", Functions.ToDate(notifica.data_ora));
            q.setParam("identificativo", notifica.identificativo);
            q.setParam("msgid", notifica.msgid);
            q.setParam("tiporicevuta", notifica.tipoRicevuta);
            q.setParam("consegna", notifica.consegna);
            q.setParam("ricezione", notifica.ricezione);
            q.setParam("erroreesteso", notifica.errore_esteso.Replace("'", "''"));
            q.setParam("errorericevuta", notifica.erroreRicevuta.Replace("'", "''"));

            logger.Debug("update in notifica: " + q.getSQL());
            retval = ExecuteNonQuery(q.getSQL());

            return(retval);
        }
        public NotificaInfo ActualizarNotificaMail(NotificaInfo objNotificaInfo)

        {
            NotificaInfo ObjNotificaInfoResponse = new NotificaInfo();

            Notifica ObjNotifica = new Notifica("conexion");

            bool OkTrans = false;

            OkTrans = ObjNotifica.UpdateNotifica(objNotificaInfo.Nit, objNotificaInfo.Mt_Id, objNotificaInfo.Documento);


            if (OkTrans)
            {
                ObjNotificaInfoResponse.Nit    = objNotificaInfo.Nit;
                ObjNotificaInfoResponse.Estado = true;
            }
            else
            {
                ObjNotificaInfoResponse.Error             = new Error();
                ObjNotificaInfoResponse.Error.Id          = -1;
                ObjNotificaInfoResponse.Error.Descripcion = "No se puede crear actualizar la informacion, verifique el Documento de la empresaria.:" + objNotificaInfo.Nit + ", Fallo Envio.";
                ObjNotificaInfoResponse.Nit = objNotificaInfo.Nit;
            }



            return(ObjNotificaInfoResponse);
        }
        public List <NotificaInfo> ListadoEnvioEmail()
        {
            List <NotificaInfo> ObjNotificaInfoResponse = new List <NotificaInfo>();

            Notifica objNotifica = new Notifica("conexion");

            ObjNotificaInfoResponse = objNotifica.List();



            return(ObjNotificaInfoResponse);
        }
예제 #4
0
        public Notifica[] ricercaNotifica(string docnumber)
        {
            List <Notifica> lista = new List <Notifica>();

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPA_NOTIFICA");
            q.setParam("docnumber", docnumber);

            logger.Debug("ricerca notifica: " + q.getSQL());

            using (IDataReader reader = ExecuteReader(q.getSQL()))
            {
                while (reader.Read())
                {
                    Notifica notifica = new Notifica();


                    notifica.idNotifica       = reader["SYSTEM_ID"].ToString();
                    notifica.mittente         = reader["VAR_MITTENTE"].ToString();
                    notifica.tipoDestinatario = reader["VAR_TIPO_DESTINATARIO"].ToString();
                    notifica.destinatario     = reader["VAR_DESTINATARIO"].ToString();

                    // Se il mittente è un url, del destinatario viene recuperata la descrizione
                    if (Uri.IsWellFormedUriString(notifica.mittente, UriKind.Absolute))
                    {
                        notifica.destinatario = this.GetDestinatarioPerIs(notifica.destinatario);
                    }

                    notifica.risposte          = reader["VAR_RISPOSTE"].ToString();
                    notifica.oggetto           = reader["VAR_OGGETTO"].ToString();
                    notifica.gestioneEmittente = reader["VAR_GESTIONE_EMITTENTE"].ToString();
                    notifica.zona           = reader["VAR_ZONA"].ToString();
                    notifica.data_ora       = ((DateTime)reader["VAR_GIORNO_ORA"]).ToString("dd/MM/yyyy HH:mm:ss");
                    notifica.identificativo = reader["VAR_IDENTIFICATIVO"].ToString();
                    notifica.msgid          = reader["VAR_MSGID"].ToString();
                    notifica.tipoRicevuta   = reader["VAR_TIPO_RICEVUTA"].ToString();
                    notifica.consegna       = reader["VAR_CONSEGNA"].ToString();
                    notifica.ricezione      = reader["VAR_RICEZIONE"].ToString();
                    notifica.errore_esteso  = reader["VAR_ERRORE_ESTESO"].ToString();
                    notifica.docnumber      = reader["DOCNUMBER"].ToString();
                    notifica.idTipoNotifica = reader["ID_TIPO_NOTIFICA"].ToString();
                    notifica.erroreRicevuta = reader["VAR_ERRORE_RICEVUTA"].ToString();
                    lista.Add(notifica);
                }
            }

            return(lista.ToArray());
        }
예제 #5
0
        public bool verificaPresenzaNotifica(Notifica notifica)
        {
            bool verifica = false;

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_VERIFICA_PRESENZA_DPA_NOTIFICA");

            q.setParam("idtiponotifica", notifica.idTipoNotifica);
            q.setParam("docnumber", notifica.docnumber);
            q.setParam("mittente", notifica.mittente.Replace("'", "''"));
            q.setParam("risposte", notifica.risposte.Replace("'", "''"));
            q.setParam("oggetto", notifica.oggetto.Replace("'", "''"));
            q.setParam("gestioneemittente", notifica.gestioneEmittente);
            q.setParam("zona", notifica.zona);
            q.setParam("giorno", Functions.ToDate(notifica.data_ora));
            q.setParam("identificativo", notifica.identificativo);
            q.setParam("msgid", notifica.msgid);
            q.setParam("tiporicevuta", notifica.tipoRicevuta);
            q.setParam("consegna", notifica.consegna);
            q.setParam("ricezione", notifica.ricezione);
            if (!string.IsNullOrEmpty(notifica.errore_esteso))
            {
                q.setParam("erroreesteso", notifica.errore_esteso.Replace("'", "''"));
            }
            else
            {
                q.setParam("erroreesteso", "");
            }
            if (!string.IsNullOrEmpty(notifica.erroreRicevuta))
            {
                q.setParam("errorericevuta", notifica.erroreRicevuta.Replace("'", "''"));
            }
            else
            {
                q.setParam("errorericevuta", "");
            }
            logger.Debug("inserimento in notifica: " + q.getSQL());

            using (IDataReader reader = ExecuteReader(q.getSQL()))
            {
                if (reader != null && reader.Read())
                {
                    verifica = true;
                }
            }

            return(verifica);
        }
예제 #6
0
        public static Notifica[] ricercaNotificheFiltrate(DocsPaVO.filtri.FiltroRicerca [] filtri)
        {
            Notifica[] notifica = null;

            try
            {
                DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert daticertDB = new DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert();
                notifica = daticertDB.ricercaNotificheFiltrate(filtri);
                //BusinessLogic.interoperabilita.InteroperabilitaManager.ricercaNotifiche(docnumber);
            }
            catch (Exception e)
            {
                logger.Error("errore nella ricerca delle notifiche" + e.Message);
                notifica = new Notifica[0];
            }

            return(notifica);
        }
예제 #7
0
        private void pictureBox2_Click(object sender, EventArgs e)
        {
            OpenFileDialog filedamandare = new OpenFileDialog();

            if (filedamandare.ShowDialog() == DialogResult.OK)
            {
                long length = new System.IO.FileInfo(filedamandare.FileName).Length;
                if (length <= 50000)
                {
                    string content = Convert.ToBase64String(File.ReadAllBytes(filedamandare.FileName));
                    trasmettitore.Invia(content + "|" + Path.GetFileName(filedamandare.FileName), 4);
                }
                else
                {
                    Point    a   = new Point(Pic_Allegato.Location.X, Pic_Allegato.Location.Y);
                    Notifica tmp = new Notifica("File troppo grande, dimensioni massime 50kb", 7, a);
                    tmp.Show();
                }
            }
        }
예제 #8
0
        /// <summary>
        /// Inseriemente nella tabella notifica
        /// </summary>
        /// <param name="notifica"></param>
        /// <returns></returns>
        public static bool inserimentoNotifica(Notifica notifica, string IdAllegato)
        {
            bool retval = false;

            try
            {
                DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert daticertDB = new DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert();
                retval = daticertDB.inserisciNotifica(notifica, IdAllegato);
                // PEC 4 Modifica Maschera Caratteri
                if (retval)
                {
                    bool aggiornaSMask = AggiornaStatusMask(notifica);
                }
            }
            catch (Exception e)
            {
                logger.Error("errore durante l'inserimento del tipo di notifica - errore: " + e.Message);
            }

            return(retval);
        }
예제 #9
0
        public static bool updateNotificaRisposte(Daticert daticert, int indiceRisposte)
        {
            bool retval = false;

            DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert daticertDB = new DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert();
            Notifica notifica = new Notifica();

            notifica = (Notifica)daticert;

            notifica.risposte = daticert.risposteLst[indiceRisposte];

            try
            {
                retval = daticertDB.inserisciNotifica(notifica, null);
            }
            catch (Exception e)
            {
                logger.Error("errore durante l'inserimento del tipo di notifica - errore: " + e.Message);
            }

            return(retval);
        }
예제 #10
0
        /// <summary>
        /// inserimento nella tabella notifica indicando il tipo di notifica e il destinatario da inserire
        /// </summary>
        /// <param name="daticert"></param>
        /// <param name="systemIdTipoNotifica"></param>
        /// <param name="indiceDestinatari"></param>
        /// <returns></returns>
        public static bool inserimentoNotifica(Daticert daticert, string systemIdTipoNotifica, int indiceDestinatari, string IdAllegato)
        {
            bool retval = false;

            try
            {
                DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert daticertDB = new DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert();
                if (daticert == null)
                {
                    return(retval);
                }

                Notifica notifica = new Notifica();
                notifica = (Notifica)daticert;

                #region controllo sui dati immessi

                if (!string.IsNullOrEmpty(systemIdTipoNotifica))
                {
                    notifica.idTipoNotifica = systemIdTipoNotifica;
                }
                else
                {
                    return(retval);
                }


                if (daticert.destinatarioLst.Length > 0 &&
                    daticert.tipoDestinatarioLst.Length > 0)
                {
                    notifica.destinatario     = daticert.destinatarioLst[indiceDestinatari];
                    notifica.tipoDestinatario = daticert.tipoDestinatarioLst[indiceDestinatari];
                }
                else
                {
                    return(retval);
                }

                if (!string.IsNullOrEmpty(daticert.giorno) &&
                    !string.IsNullOrEmpty(daticert.ora))
                {
                    notifica.data_ora = daticert.giorno + " " + daticert.ora;
                }
                else
                {
                    return(retval);
                }

                if (daticert.risposteLst != null &&
                    daticert.risposteLst.Length > 0)
                {
                    notifica.risposte = daticert.risposteLst[0];
                }
                else
                {
                    return(retval);
                }

                #endregion
                //inseriemnto dei dati
                retval = daticertDB.inserisciNotifica(notifica, IdAllegato);
                //PEC 4 Modifica Maschera Caratteri
                if (retval)
                {
                    bool aggiornaMaschera = AggiornaStatusMask(notifica);
                }
            }
            catch (Exception e)
            {
                logger.Error("errore durante l'inserimento del tipo di notifica - errore: " + e.Message);
            }

            return(retval);
        }
예제 #11
0
        /// <summary>
        /// PEC 4 Modifica Maschera Caratteri
        /// Metodo di aggiornamento della status mask a partire dalla notifica.
        ///
        /// </summary>
        /// <returns></returns>
        public static bool AggiornaStatusMask(Notifica notifica)
        {
            bool retval = false;

            logger.Debug("Inserita la notifica, aggiorno la status-mask");
            try
            {
                // eliminareEccezione: quando l'esito è OK, elimino una possibile eccezione preesistente.
                bool eliminareEccezione = false;
                DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert interop = new DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert();
                TipoNotifica tipoNot = interop.ricercaTipoNotificheBySystemId(notifica.idTipoNotifica);
                DocsPaVO.StatoInvio.StatoInvio statoInvio = interop.getStatoInvioFromAddressAndProfile(notifica.destinatario, notifica.docnumber);
                if (statoInvio != null)
                {
                    string statusmask = "";
                    if (!string.IsNullOrEmpty(statoInvio.statusMask))
                    {
                        statusmask = statoInvio.statusMask;
                        char[] status_c_mask = statusmask.ToCharArray();

                        if (tipoNot.codiceNotifica == "accettazione")
                        {
                            status_c_mask[1] = 'V';
                            if (statoInvio.tipoCanale == "MAIL")
                            {
                                if (notifica.tipoDestinatario == "certificato")
                                {
                                    if (status_c_mask[2] != 'V' || status_c_mask[2] == 'A' || status_c_mask[2] == 'N')
                                    {
                                        status_c_mask[2] = 'A';
                                    }
                                }
                                else
                                {
                                    status_c_mask[0]   = 'V';
                                    eliminareEccezione = true;
                                }
                            }
                        }
                        else if (tipoNot.codiceNotifica == "non-accettazione")
                        {
                            status_c_mask[0] = 'X';
                            status_c_mask[1] = 'X';
                            status_c_mask[2] = 'N';
                            status_c_mask[3] = 'N';
                            status_c_mask[4] = 'N';
                            status_c_mask[5] = 'N';
                            status_c_mask[6] = 'N';
                        }
                        else if (tipoNot.codiceNotifica == "DSN" || tipoNot.codiceNotifica == "errore")
                        {
                            status_c_mask[0] = 'X';
                            status_c_mask[2] = 'X';
                            status_c_mask[3] = 'N';
                            status_c_mask[4] = 'N';
                            status_c_mask[5] = 'N';
                            status_c_mask[6] = 'V';
                        }
                        else if (tipoNot.codiceNotifica == "avvenuta-consegna")
                        {
                            status_c_mask[2] = 'V';
                            status_c_mask[6] = 'X';
                            if (statoInvio.tipoCanale == "MAIL")
                            {
                                status_c_mask[0]   = 'V';
                                eliminareEccezione = true;
                            }
                        }
                        else if (tipoNot.codiceNotifica == "errore-consegna" || tipoNot.codiceNotifica == "preavviso-errore-consegna")
                        {
                            status_c_mask[0] = 'X';
                            status_c_mask[2] = 'X';
                            status_c_mask[3] = 'N';
                            status_c_mask[4] = 'N';
                            status_c_mask[5] = 'N';
                            status_c_mask[6] = 'N';
                            InteroperabilitaEccezioni.AggiornaDpa_StatoInvioConEccezione(notifica.destinatario, notifica.docnumber, "Errore di consegna verso la casella PEC.");
                        }
                        statusmask = new string(status_c_mask);
                    }
                    else
                    {
                        if (tipoNot.codiceNotifica == "accettazione")
                        {
                            if (statoInvio.tipoCanale == "MAIL")
                            {
                                if (notifica.tipoDestinatario == "certificato")
                                {
                                    statusmask = "AVANNNN";
                                }
                                else
                                {
                                    statusmask         = "VVNNNNN";
                                    eliminareEccezione = true;
                                }
                            }
                        }
                        else if (tipoNot.codiceNotifica == "non-accettazione")
                        {
                            statusmask = "XXNNNNN";
                        }
                        else if (tipoNot.codiceNotifica == "DSN" || tipoNot.codiceNotifica == "errore")
                        {
                            statusmask = "XVXNNNV";
                        }
                        else if (tipoNot.codiceNotifica == "avvenuta-consegna")
                        {
                            statusmask = "AVVAAAN";
                            if (statoInvio.tipoCanale == "MAIL")
                            {
                                statusmask         = "VVVNNNN";
                                eliminareEccezione = true;
                            }
                        }
                        else if (tipoNot.codiceNotifica == "errore-consegna" || tipoNot.codiceNotifica == "preavviso-errore-consegna")
                        {
                            statusmask = "XVXNNNN";
                            InteroperabilitaEccezioni.AggiornaDpa_StatoInvioConEccezione(notifica.destinatario, notifica.docnumber, "Errore di consegna verso la casella PEC.");
                        }
                    }
                    interop.AggiornaStatusMaskFromAddressAndProfile(notifica.destinatario, notifica.docnumber, statusmask, eliminareEccezione);
                }
                else
                {
                    logger.Debug("Stato invio non trovato");
                }
            }
            catch (Exception ex)
            {
                logger.ErrorFormat("Errore nell'aggiornamento della status mask: Messaggio {0} - StackTrace {1}", ex.Message, ex.StackTrace);
                retval = false;
            }

            return(retval);
        }
예제 #12
0
        /// <summary>
        /// verifica se uan ricevuta è già stata associata al documento
        /// </summary>
        /// <param name="daticert"></param>
        /// <param name="systemIdTipoNotifica"></param>
        /// <param name="indiceDestinatari"></param>
        /// <returns></returns>
        public static bool verificaPresenzaNotifica(Daticert daticert, string systemIdTipoNotifica)
        {
            bool retval = false;

            logger.Debug("Inserimento notifica");
            try
            {
                DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert daticertDB = new DocsPaDB.Query_DocsPAWS.InteroperabilitaDatiCert();
                if (daticert == null)
                {
                    return(retval);
                }

                Notifica notifica = new Notifica();
                notifica = (Notifica)daticert;

                #region controllo sui dati immessi

                if (!string.IsNullOrEmpty(systemIdTipoNotifica))
                {
                    notifica.idTipoNotifica = systemIdTipoNotifica;
                }
                else
                {
                    return(retval);
                }

                logger.Debug("Controllo destinatari");

                logger.Debug("Controllo giorno");
                if (!string.IsNullOrEmpty(daticert.giorno) &&
                    !string.IsNullOrEmpty(daticert.ora))
                {
                    notifica.data_ora = daticert.giorno + " " + daticert.ora;
                }
                else
                {
                    return(retval);
                }

                logger.Debug("Controllo risposte");
                if (daticert.risposteLst != null &&
                    daticert.risposteLst.Length > 0)
                {
                    notifica.risposte = daticert.risposteLst[0];
                }
                else
                {
                    return(retval);
                }

                #endregion
                //inseriemnto dei dati
                retval = daticertDB.verificaPresenzaNotifica(notifica);
            }
            catch (Exception e)
            {
                logger.Error("errore durante l'inserimento del tipo di notifica - errore: " + e.Message);
            }

            return(retval);
        }
예제 #13
0
        public Notifica[] ricercaNotificheFiltrate(DocsPaVO.filtri.FiltroRicerca[] filtri)
        {
            bool            existFilterType = ((from f in filtri where f.argomento.Equals("filterTipo") && !string.IsNullOrEmpty(f.valore) select f).Count() > 0) ? true : false;
            bool            existFilterMail = ((from f in filtri where (f.argomento.Equals("filterDest") && !string.IsNullOrEmpty(f.valore)) select f).Count() > 0) ? true : false;
            bool            existFilterCode = ((from f in filtri where (f.argomento.Equals("filterCodiceIS") && !string.IsNullOrEmpty(f.valore)) select f).Count() > 0) ? true : false;
            List <Notifica> lista           = new List <Notifica>();

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("S_DPA_NOTIFICA3");
            q.setParam("docnumber", "docnumber = " + filtri[0].valore);
            // Impostazione filtri
            StringBuilder filterCond = new StringBuilder();

            //filtro tipo ricevuta
            if (existFilterType)
            {
                string[] arrType = (from f in filtri where f.argomento.Equals("filterTipo") select f.valore).First().Split('#');
                filterCond.AppendFormat(" AND(");
                // PALUMBO: modifica per consentire il filtro delle ricevute di preavviso-errore-consegna trattate come mancata consegna
                if (arrType[0].Equals("errore-consegna"))
                {
                    filterCond.AppendFormat("tn.var_codice_notifica LIKE '%{0}'", arrType[0]);
                }
                else
                {
                    filterCond.AppendFormat("tn.var_codice_notifica='{0}'", arrType[0]);
                }
                for (int i = 1; i < arrType.Length - 1; i++)
                {
                    if (arrType[i].Equals("errore-consegna"))
                    {
                        filterCond.AppendFormat(" OR tn.var_codice_notifica LIKE '%{0}'", arrType[i]);
                    }
                    else
                    {
                        filterCond.AppendFormat(" OR tn.var_codice_notifica='{0}'", arrType[i]);
                    }
                }
                filterCond.AppendFormat(")");
            }

            if (existFilterMail || existFilterCode)
            {
                filterCond.AppendFormat(" AND(");
                // Filtro Mail
                if (existFilterMail)
                {
                    string[] arrMail = (from f in filtri where (f.argomento.Equals("filterDest")) select f.valore).First().Split('#');
                    filterCond.AppendFormat("lower(VAR_DESTINATARIO) LIKE '%{0}%'", arrMail[0]);
                    for (int i = 1; i < arrMail.Length - 1; i++)
                    {
                        filterCond.AppendFormat(" OR lower(VAR_DESTINATARIO) LIKE '%{0}%'", arrMail[i]);
                    }
                }
                // Filtro Codice corrispondente(IS)
                if (existFilterCode)
                {
                    if (existFilterMail)
                    {
                        filterCond.AppendFormat(" OR ");
                    }
                    filterCond.AppendFormat("lower(VAR_DESTINATARIO) LIKE lower('%{0}%')", (from f in filtri where (f.argomento.Equals("filterCodiceIS")) select f.valore).First());
                }
                filterCond.AppendFormat(")");
            }

            q.setParam("filterCond", filterCond.ToString());


            logger.Debug("ricerca notifiche filtrate: " + q.getSQL());
            using (IDataReader reader = ExecuteReader(q.getSQL()))
            {
                while (reader.Read())
                {
                    Notifica notifica = new Notifica();
                    notifica.idNotifica       = reader["SYSTEM_ID"].ToString();
                    notifica.mittente         = reader["VAR_MITTENTE"].ToString();
                    notifica.tipoDestinatario = reader["VAR_TIPO_DESTINATARIO"].ToString();
                    notifica.destinatario     = reader["VAR_DESTINATARIO"].ToString();

                    // Se il mittente è un url, del destinatario viene recuperata la descrizione
                    if (Uri.IsWellFormedUriString(notifica.mittente, UriKind.Absolute))
                    {
                        notifica.destinatario = this.GetDestinatarioPerIs(notifica.destinatario);
                    }

                    notifica.risposte          = reader["VAR_RISPOSTE"].ToString();
                    notifica.oggetto           = reader["VAR_OGGETTO"].ToString();
                    notifica.gestioneEmittente = reader["VAR_GESTIONE_EMITTENTE"].ToString();
                    notifica.zona           = reader["VAR_ZONA"].ToString();
                    notifica.data_ora       = ((DateTime)reader["VAR_GIORNO_ORA"]).ToString("dd/MM/yyyy HH:mm:ss");
                    notifica.identificativo = reader["VAR_IDENTIFICATIVO"].ToString();
                    notifica.msgid          = reader["VAR_MSGID"].ToString();
                    notifica.tipoRicevuta   = reader["VAR_TIPO_RICEVUTA"].ToString();
                    notifica.consegna       = reader["VAR_CONSEGNA"].ToString();
                    notifica.ricezione      = reader["VAR_RICEZIONE"].ToString();
                    notifica.errore_esteso  = reader["VAR_ERRORE_ESTESO"].ToString();
                    notifica.docnumber      = reader["DOCNUMBER"].ToString();
                    notifica.idTipoNotifica = reader["ID_TIPO_NOTIFICA"].ToString();
                    notifica.erroreRicevuta = reader["VAR_ERRORE_RICEVUTA"].ToString();
                    lista.Add(notifica);
                }
            }

            return(lista.ToArray());
        }
예제 #14
0
        public bool inserisciNotifica(Notifica notifica, string idAllegato)
        {
            bool retval = false;

            DocsPaUtils.Query q = DocsPaUtils.InitQuery.getInstance().getQuery("I_DPA_NOTIFICA");


            logger.Debug("Inserimento parametri");
            if (dbType.ToUpper().Equals("ORACLE"))
            {
                q.setParam("var_systemid", DocsPaDbManagement.Functions.Functions.GetSystemIdColName());
                q.setParam("systemid", DocsPaDbManagement.Functions.Functions.GetSystemIdNextVal("DPA_NOTIFICA"));
            }
            else
            {
                q.setParam("var_systemid", string.Empty);
                q.setParam("systemid", String.Empty);
            }

            q.setParam("systemid", notifica.idNotifica);
            q.setParam("idtiponotifica", notifica.idTipoNotifica);
            q.setParam("docnumber", notifica.docnumber);
            q.setParam("mittente", notifica.mittente.Replace("'", "''"));
            q.setParam("tipoDestinatario", notifica.tipoDestinatario);
            q.setParam("destinatario", notifica.destinatario.Replace("'", "''"));
            q.setParam("risposte", notifica.risposte.Replace("'", "''"));
            q.setParam("oggetto", notifica.oggetto.Replace("'", "''"));
            q.setParam("gestioneemittente", notifica.gestioneEmittente);
            q.setParam("zona", notifica.zona);
            q.setParam("giorno", Functions.ToDate(notifica.data_ora));
            logger.Debug("parametro giorno inserito");
            q.setParam("identificativo", notifica.identificativo);
            q.setParam("msgid", notifica.msgid);
            q.setParam("tiporicevuta", notifica.tipoRicevuta);
            q.setParam("consegna", notifica.consegna);
            q.setParam("ricezione", notifica.ricezione);
            if (!string.IsNullOrEmpty(notifica.errore_esteso))
            {
                q.setParam("erroreesteso", notifica.errore_esteso.Replace("'", "''"));
            }
            else
            {
                q.setParam("erroreesteso", "");
            }
            if (!string.IsNullOrEmpty(notifica.erroreRicevuta))
            {
                q.setParam("errorericevuta", notifica.erroreRicevuta.Replace("'", "''"));
            }
            else
            {
                q.setParam("errorericevuta", "");
            }

            if (!string.IsNullOrEmpty(idAllegato))
            {
                q.setParam("idAllegato", idAllegato);
            }
            else
            {
                q.setParam("idAllegato", "null");
            }

            logger.Debug("inserimento in notifica: " + q.getSQL());
            retval = ExecuteNonQuery(q.getSQL());

            return(retval);
        }