/// <summary> /// Metodo per la spedizione di un documento per interoperabilità semplificata /// </summary> /// <param name="schedaDoc">Documento da spedire</param> /// <param name="infoUtente">Informazioni sull'utente che sta effettuando la spedizione</param> /// <param name="receivers">Destinatari cui indirizzare la spedizione</param> /// <returns>Risultato della spedizione</returns> public static DocsPaVO.Interoperabilita.SendDocumentResponse SpedisciPerInteroperabilitaSemplificata( DocsPaVO.documento.SchedaDocumento schedaDoc, DocsPaVO.utente.InfoUtente infoUtente, IEnumerable <DocsPaVO.Spedizione.DestinatarioEsterno> receivers) { // Oggetto contenente l'esito della spedizione del documento ai destinatari. // Per ognuno di essi, nella tabella "DPA_STATO_INVIO", // deve essere impostata correttamente la data di spedizione; per gli // altri viene impostata a null; DocsPaVO.Interoperabilita.SendDocumentResponse sendDocumentResponse = null; //try //{ // InsertStatoInvioISPreliminare(schedaDoc, receivers); //} //catch (Exception e1) //{ // logger.Error("Errore nell'inserimento preliminare dei destinatari nella DPA_STATO_INVIO", e1); //} try { DocsPaVO.utente.Corrispondente mittente = BusinessLogic.Utenti.UserManager.getCorrispondente(infoUtente.idCorrGlobali, false); DocsPaVO.utente.Ruolo ruoloMitt = (DocsPaVO.utente.Ruolo)mittente; mittente.descrizione = ruoloMitt.descrizione; // Invio del documento a tutti i destinatari sendDocumentResponse = BusinessLogic.Interoperabilità.InteroperabilitaInvioSegnatura.SendDocumentIS(schedaDoc, infoUtente, receivers); } catch (Exception e) { logger.Error("Errore nella richiesta di interoperabilità semplificata", e); throw new Exception("Si è verificato un errore durante l'invio della richiesta di interoperabilità: " + e.Message); } //try //{ // List<DocsPaVO.utente.Corrispondente> c = new List<DocsPaVO.utente.Corrispondente>(); // foreach (DocsPaVO.Spedizione.DestinatarioEsterno de in receivers) // c.AddRange(de.DatiDestinatari); // InsertStatoInvioDestinatari(schedaDoc, new ArrayList(c), sendDocumentResponse); // BusinessLogic.interoperabilita.Semplificata.InteroperabilitaSemplificataManager.IS_statusMaskUpdater(schedaDoc.systemId); //} //catch (Exception e) //{ // logger.Error("Errore nella gestione della spedizione", e); // throw new Exception("Errore nella gestione della spedizione:\\n\\n" + e.Message); //} return(sendDocumentResponse); }
public static void InsertStatoInvioDestinatari(DocsPaVO.documento.SchedaDocumento schedaDocumento, ArrayList listDestinatari, DocsPaVO.Interoperabilita.SendDocumentResponse sendDocumentResponse) { DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); foreach (DocsPaVO.utente.Corrispondente corrispondente in listDestinatari) { if (schedaDocumento.protocollo.GetType() == typeof(DocsPaVO.documento.ProtocolloUscita)) { string idDocArrivoPar = doc.GetIdDocArrivoPar(schedaDocumento.systemId, corrispondente, "'D','C','F'"); string mailCorrispondente = corrispondente.email; if (mailCorrispondente == null) { mailCorrispondente = string.Empty; } // Reperimento esito invio della mail al destinatario corrente DocsPaVO.Interoperabilita.SendDocumentResponse.SendDocumentMailResponse mailResponse = sendDocumentResponse.FindDocumentResponse(corrispondente); //if(corrispondente.tipoCorrispondente!="O") doc.InsertStatoInvio(corrispondente, idDocArrivoPar, schedaDocumento.registro.systemId, schedaDocumento.systemId, (mailResponse == null || (mailResponse != null && !mailResponse.SendSucceded && !string.IsNullOrEmpty(mailResponse.SendErrorMessage))), mailResponse.MailAddress); } } }
/// <summary> /// Invio del documento a tutti i destinatari del documento /// </summary> /// <param name="schedaDoc"></param> /// <param name="infoUtente"></param> /// <param name="confermaRic"></param> public static DocsPaVO.Interoperabilita.SendDocumentResponse spedisci(DocsPaVO.documento.SchedaDocumento schedaDoc, DocsPaVO.utente.InfoUtente infoUtente, bool confermaRic) { // Oggetto contenente l'esito della spedizione del documento ai destinatari. // Per ognuno di essi, nella tabella "DPA_STATO_INVIO", // deve essere impostata correttamente la data di spedizione; per gli // altri viene impostata a null; DocsPaVO.Interoperabilita.SendDocumentResponse sendDocumentResponse = null; try { DocsPaVO.utente.Corrispondente mittente = BusinessLogic.Utenti.UserManager.getCorrispondente(infoUtente.idCorrGlobali, false); DocsPaVO.utente.Ruolo ruoloMitt = (DocsPaVO.utente.Ruolo)mittente; mittente.descrizione = ruoloMitt.descrizione; DocsPaVO.Interoperabilita.DatiInteropAutomatica dia = null; // Invio mail a tutti i destinatari del documento sendDocumentResponse = BusinessLogic.Interoperabilità.InteroperabilitaInvioSegnatura.SendDocument(schedaDoc, schedaDoc.registro, infoUtente, confermaRic, out dia); } catch (Exception e) { logger.Debug("Errore nell'invio mail", e); throw new Exception("Si è verificato un errore nell'invio dell'email:\\n\\n" + e.Message); } try { DocsPaVO.documento.ProtocolloUscita pu = (DocsPaVO.documento.ProtocolloUscita)schedaDoc.protocollo; // destinatari InsertStatoInvioDestinatari(schedaDoc, pu.destinatari, sendDocumentResponse); // destinatari per conoscenza InsertStatoInvioDestinatari(schedaDoc, pu.destinatariConoscenza, sendDocumentResponse); //SOLO nel caso di interoperabilità interna abilitata if (System.Configuration.ConfigurationManager.AppSettings["INTEROP_INT_NO_MAIL"] != null && System.Configuration.ConfigurationManager.AppSettings["INTEROP_INT_NO_MAIL"].ToString() != "0") { foreach (DocsPaVO.Interoperabilita.SendDocumentResponse.SendDocumentMailResponse sdml in sendDocumentResponse.SendDocumentMailResponseList) { if (sdml.datiInteropAutomatica != null) { string erroreMessage = string.Empty; Interoperabilità.InteroperabilitaInvioRicevuta.sendRicevutaRitorno(sdml.datiInteropAutomatica.schedaDoc, sdml.datiInteropAutomatica.registro, sdml.datiInteropAutomatica.ruolo, sdml.datiInteropAutomatica.infoUtente, out erroreMessage); // bool verificaRagioni; string message = ""; // OLD: MAC_INPS 3749 if (schedaDoc.protocollo.daProtocollare != null && schedaDoc.protocollo.daProtocollare.Equals("1") && reg.autoInterop != null && reg.autoInterop != "0") // BusinessLogic.trasmissioni.TrasmProtoIntManager.TrasmissioneProtocolloAutomatico(sdml.datiInteropAutomatica.schedaDoc,sdml.datiInteropAutomatica.registro.systemId, schedaDoc, sdml.datiInteropAutomatica.ruolo, sdml.datiInteropAutomatica.infoUtente, infoUtente.urlWA, false, out verificaRagioni, out message); } } } } catch (Exception e) { logger.Debug("Errore nella gestione della spedizione", e); throw new Exception("Errore nella gestione della spedizione:\\n\\n" + e.Message); } return(sendDocumentResponse); }