/// <summary></summary> /// <param name="qco"></param> /// <returns></returns> public static string getMailAddress(DocsPaVO.addressbook.QueryCorrispondente qco, string idProfile) { logger.Debug("getMailAddress"); string mailMitt = ""; System.Collections.ArrayList mittArr = new System.Collections.ArrayList(); if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.ESTERNO) { mittArr = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiEstMethod(qco); } else { mittArr = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco); } if (mittArr[0].GetType() == typeof(DocsPaVO.utente.UnitaOrganizzativa)) { logger.Debug("UO"); mailMitt = ((DocsPaVO.utente.UnitaOrganizzativa)mittArr[0]).email; } if (mittArr[0].GetType() == typeof(DocsPaVO.utente.Ruolo)) { logger.Debug("Ruolo"); mailMitt = ((DocsPaVO.utente.Ruolo)mittArr[0]).uo.email; } if (mittArr[0].GetType() == typeof(DocsPaVO.utente.Utente)) { logger.Debug("Utente"); mailMitt = ((DocsPaVO.utente.Ruolo)((DocsPaVO.utente.Utente)mittArr[0]).ruoli[0]).uo.email; } if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.ESTERNO) { //Invio la ricevuta di protocollazione all'indirizzo Email da cui ho ricevuto il documento. DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); string mailMittProfile = doc.GetEmailAddressDocument(idProfile); if (!string.IsNullOrEmpty(mailMittProfile)) { List <DocsPaVO.utente.MailCorrispondente> emails = BusinessLogic.Utenti.addressBookManager.GetMailCorrispondente((mittArr[0] as DocsPaVO.utente.Corrispondente).systemId); if ((from e in emails where e.Email.Equals(mailMittProfile) select e).FirstOrDefault() != null) { mailMitt = mailMittProfile; } } } logger.Debug(mailMitt); return(mailMitt); }
/// <summary></summary> /// <param name="qco"></param> /// <returns></returns> private static string getMailAddress(DocsPaVO.addressbook.QueryCorrispondente qco, string interop, string idProfile) { logger.Debug("getMailAddress"); string mailMitt = ""; string mailMittProfile = ""; System.Collections.ArrayList mittArr = new System.Collections.ArrayList(); if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.ESTERNO) { //Chiamato altro metodo perchè quello in uso mette in join con una tabella non popolata DPA_RUOE_UTENTI, e quindi in alcuni casi non funziona //mittArr = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiEstMethod(qco); DocsPaDB.Query_DocsPAWS.Utenti utenti = new DocsPaDB.Query_DocsPAWS.Utenti(); mittArr = utenti.ListaCorrispondentiEst2(qco); } else { mittArr = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiIntMethod(qco); } if (mittArr.Count == 0) { mittArr = BusinessLogic.Utenti.addressBookManager.listaCorrispondentiOccMethod(qco); if (mittArr.Count > 0) { return(mittArr[0].ToString()); } } if (mittArr.Count > 0) { DocsPaDB.Query_DocsPAWS.Documenti doc = new DocsPaDB.Query_DocsPAWS.Documenti(); foreach (DocsPaVO.utente.Corrispondente c in mittArr) { if (qco.tipoUtente == DocsPaVO.addressbook.TipoUtente.ESTERNO) { //Invio la ricevuta di protocollazione all'indirizzo Email da cui ho ricevuto il documento. mailMittProfile = doc.GetEmailAddressDocument(idProfile); if (!string.IsNullOrEmpty(mailMittProfile)) { c.Emails = BusinessLogic.Utenti.addressBookManager.GetMailCorrispondente(c.systemId); if ((from e in c.Emails where e.Email.Equals(mailMittProfile) select e).FirstOrDefault() != null) { c.email = mailMittProfile; } } } if (c.GetType() == typeof(DocsPaVO.utente.UnitaOrganizzativa)) { logger.Debug("UO"); if (string.IsNullOrEmpty(interop) || interop.Equals("I")) { mailMitt = ((DocsPaVO.utente.UnitaOrganizzativa)mittArr[0]).email; } else if (interop.Equals("P") && (!string.IsNullOrEmpty(c.email))) { mailMitt = c.email; break; } else if (!string.IsNullOrEmpty(c.codiceAmm) && (!string.IsNullOrEmpty(c.codiceAOO)) && (!string.IsNullOrEmpty(c.email))) { mailMitt = c.email; break; } } if (c.GetType() == typeof(DocsPaVO.utente.Ruolo)) { logger.Debug("Ruolo"); if (string.IsNullOrEmpty(interop) || interop.Equals("I")) { mailMitt = ((DocsPaVO.utente.Ruolo)mittArr[0]).uo.email; } else if (interop.Equals("P") && (!string.IsNullOrEmpty(c.email))) { mailMitt = c.email; break; } else if (!string.IsNullOrEmpty(c.codiceAmm) && (!string.IsNullOrEmpty(c.codiceAOO)) && (!string.IsNullOrEmpty(c.email))) { mailMitt = c.email; break; } } if (c.GetType() == typeof(DocsPaVO.utente.Utente)) { logger.Debug("Utente"); if (string.IsNullOrEmpty(interop) || interop.Equals("I")) { mailMitt = ((DocsPaVO.utente.Ruolo)((DocsPaVO.utente.Utente)mittArr[0]).ruoli[0]).uo.email; } else if (interop.Equals("P") && (!string.IsNullOrEmpty(c.email))) { mailMitt = c.email; break; } else if (!string.IsNullOrEmpty(c.codiceAmm) && (!string.IsNullOrEmpty(c.codiceAOO)) && (!string.IsNullOrEmpty(c.email))) { mailMitt = c.email; break; } } } } logger.Debug(mailMitt); return(mailMitt); }