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); }
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()); }
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); }
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); }
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(); } } }
/// <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); }
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); }
/// <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); }
/// <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); }
/// <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); }
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()); }
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); }