Esempio n. 1
0
 /// <summary>
 /// Resistuisce l'elenco delle caselle associate al registro/rf per le quali il ruolo è abilitato in spedizione
 /// </summary>
 /// <returns>List CasellaRegistro</returns>
 public static List <CasellaRegistro> GetComboRegisterSend(string idRegistro)
 {
     try
     {
         List <CasellaRegistro> listCaselle = new List <CasellaRegistro>();
         string  casellaPrincipale          = MultiBoxManager.GetMailPrincipaleRegistro(idRegistro);
         DataSet ds = MultiBoxManager.GetRightMailRegistro(idRegistro, UserManager.GetSelectedRole().systemId);
         if (ds.Tables.Count > 0)
         {
             if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
             {
                 foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                 {
                     System.Text.StringBuilder formatMail = new System.Text.StringBuilder();
                     if (row["SPEDISCI"].ToString().Equals("1"))
                     {
                         listCaselle.Add(new CasellaRegistro
                         {
                             Principale    = row["EMAIL_REGISTRO"].ToString().Equals(casellaPrincipale) ? "1" : "0",
                             EmailRegistro = row["EMAIL_REGISTRO"].ToString(),
                             Note          = row["VAR_NOTE"].ToString()
                         });
                     }
                 }
             }
         }
         return(listCaselle);
     }
     catch (System.Exception ex)
     {
         UIManager.AdministrationManager.DiagnosticError(ex);
         return(null);
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Return true se il ruolo ha cha_consulta a 1 sul registro/rf selezionato
        /// </summary>
        /// <param name="page"></param>
        /// <param name="idRegistro"></param>
        /// <param name="chaRF"></param>
        /// <param name="idRuolo"></param>
        /// <returns></returns>
        public static bool RoleIsAuthorizedConsult(NttDataWA.DocsPaWR.Registro registro, string idRuolo)
        {
            try
            {
                bool isEnable = true;
                //se ho selezionato un registro, ma ho visibilità di uno degli RF di quel registro, allora non devo poter fare check casella istit.
                if (registro.chaRF == "0")
                {
                    DocsPaWR.Registro[] regs = RegistryManager.GetListRegistriesAndRF(idRuolo, "1", registro.systemId);
                    if (regs != null && regs.Length > 0)
                    {
                        for (int i = 0; i < regs.Length; i++)
                        {
                            if (MultiBoxManager.RoleIsAuthorizedConsult(regs[i], idRuolo))
                            {
                                return(!isEnable);
                            }
                        }
                    }
                }

                DataSet ds = MultiBoxManager.GetRightMailRegistro(registro.systemId, idRuolo);
                if (ds.Tables.Count > 0)
                {
                    if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                    {
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if (row["CONSULTA"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && !row["EMAIL_REGISTRO"].ToString().Equals("&nbsp;"))
                            {
                                return(isEnable);
                            }
                        }
                    }
                }
                // non ci sono caselle associate all'RF/registro o il ruolo non ha diritti di consultazione su alcuna casella di posta
                return(!isEnable);
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return(false);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Return l'elenco dei registri/rf associati al ruolo, per i quali esiste almeno una casella sulla quale il ruolo è abilitato alla spedizione
        /// </summary>
        /// <returns>List</returns>
        public static List <DocsPaWR.Registro> GetRegisterEnabledSend()
        {
            try
            {
                List <DocsPaWR.Registro> listRegistriRF = new List <NttDataWA.DocsPaWR.Registro>();
                //prendo gli rf associati al ruolo
                NttDataWA.DocsPaWR.Registro[] rf = RegistryManager.GetListRegistriesAndRF(UserManager.GetSelectedRole().systemId, "1", RegistryManager.GetRegistryInSession().systemId);
                foreach (NttDataWA.DocsPaWR.Registro registro in rf)
                {
                    DataSet ds = MultiBoxManager.GetRightMailRegistro(registro.systemId, UserManager.GetSelectedRole().systemId);
                    if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                    {
                        foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                        {
                            if (row["SPEDISCI"].ToString().Equals("1"))
                            {
                                listRegistriRF.Add(registro);
                                break;
                            }
                        }
                    }
                }
                //prendo il registro corrente
                DataSet dsReg = MultiBoxManager.GetRightMailRegistro(RegistryManager.GetRegistryInSession().systemId, UserManager.GetSelectedRole().systemId);
                if (dsReg.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                {
                    foreach (DataRow row in dsReg.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                    {
                        if (row["SPEDISCI"].ToString().Equals("1"))
                        {
                            listRegistriRF.Add(RegistryManager.GetRegistryInSession());
                            break;
                        }
                    }
                }

                return(listRegistriRF);
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return(null);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Return true se il ruolo ha cha_spedisci = 1:
        /// per destinatari interoperanti esterni su una o più delle caselle associate a registri/rf sui quali il ruolo ha visibilità.
        /// per destinatari interoperanti interni
        /// </summary>
        /// <param name="page"></param>
        /// /// <param name="verifyDest"> "I" - check solo per destinatari interni, "E" - check solo per destinatariv esterni, "A" - check tutti</param>
        /// <returns></returns>
        public static bool RoleIsAuthorizedSend(string verifyDest, NttDataWA.DocsPaWR.Registro[] rf2, NttDataWA.DocsPaWR.Registro[] registri2)
        {
            try
            {
                DocsPaWebService ws  = new DocsPaWebService();
                bool             res = false;
                //prendo gli rf associati al ruolo

                NttDataWA.DocsPaWR.Registro[] rf = rf2 == null?RegistryManager.getListaRegistriWithRF("1", RegistryManager.GetRegistryInSession().systemId) : rf2;

                NttDataWA.DocsPaWR.Registro[] registri = registri2 == null?RegistryManager.getListaRegistriWithRF("0", RegistryManager.GetRegistryInSession().systemId) : registri2;

                foreach (NttDataWA.DocsPaWR.Registro registro in rf)
                {
                    DataSet ds = MultiBoxManager.GetRightMailRegistro(registro.systemId, UserManager.GetSelectedRole().systemId);
                    if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                    {
                        switch (verifyDest)
                        {
                        case "E":
                            foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                            {
                                if (row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()))
                                {
                                    return(res = true);
                                }
                            }
                            break;

                        case "I":
                            foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                            {
                                if (row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())
                                {
                                    return(res = true);
                                }
                            }
                            break;

                        default:
                            foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                            {
                                if ((row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString())) ||
                                    ((row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())))
                                {
                                    return(res = true);
                                }
                            }
                            break;
                        }
                    }
                }

                //prendo i registri associati al ruolo

                foreach (NttDataWA.DocsPaWR.Registro registro in registri)
                {
                    DataSet ds = MultiBoxManager.GetRightMailRegistro(registro.systemId, UserManager.GetSelectedRole().systemId);
                    if (ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows.Count > 0)
                    {
                        switch (verifyDest)
                        {
                        case "E":
                            foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                            {
                                if (row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()))
                                {
                                    return(res = true);
                                }
                            }
                            break;

                        case "I":
                            foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                            {
                                if (row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())
                                {
                                    return(res = true);
                                }
                            }
                            break;

                        default:
                            foreach (DataRow row in ds.Tables["RIGHT_RUOLO_MAIL_REGISTRI"].Rows)
                            {
                                if ((row["SPEDISCI"].ToString().Equals("1") && !string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString())) ||
                                    ((row["SPEDISCI"].ToString().Equals("1") && string.IsNullOrEmpty(row["EMAIL_REGISTRO"].ToString()) && ws.IsEnabledInteropInterna())))
                                {
                                    return(res = true);
                                }
                            }
                            break;
                        }
                    }
                }
                return(res);
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return(false);
            }
        }