コード例 #1
0
        /// <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);
        }
コード例 #2
0
        /// <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);
        }