Beispiel #1
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);
            }
        }
Beispiel #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);
            }
        }