示例#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          = MultiCasellaManager.GetMailPrincipaleRegistro(idRegistro);
         DataSet ds = MultiCasellaManager.GetRightMailRegistro(idRegistro, RoleManager.GetRoleInSession().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);
     }
 }
示例#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(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 (GestManager.getRegistroSel().chaRF == "0")
                {
                    DocsPaWR.Registro[] regs = UserManager.getListaRegistriWithRF(idRuolo, "1", registro.systemId);
                    if (regs != null && regs.Length > 0)
                    {
                        for (int i = 0; i < regs.Length; i++)
                        {
                            if (MultiCasellaManager.RoleIsAuthorizedConsult(regs[i], idRuolo))
                            {
                                return(!isEnable);
                            }
                        }
                    }
                }

                DataSet ds = MultiCasellaManager.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);
            }
        }
示例#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(Page page)
        {
            try
            {
                List <DocsPaWR.Registro> listRegistriRF = new List <DocsPaWR.Registro>();
                //prendo gli rf associati al ruolo
                DocsPaWR.Registro[] rf = UserManager.getListaRegistriWithRF(RoleManager.GetRoleInSession().systemId, "1", UserManager.getRegistroSelezionato(page).systemId);
                foreach (DocsPaWR.Registro registro in rf)
                {
                    DataSet ds = MultiCasellaManager.GetRightMailRegistro(registro.systemId, RoleManager.GetRoleInSession().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 = MultiCasellaManager.GetRightMailRegistro(UserManager.getRegistroSelezionato(page).systemId, RoleManager.GetRoleInSession().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(UserManager.getRegistroSelezionato(page));
                            break;
                        }
                    }
                }

                /*
                 * //prendo i registri associati al ruolo
                 * DocsPaWR.Registro[] registri = UserManager.getListaRegistriWithRF(page, "0", UserManager.getRegistroSelezionato(page).systemId);
                 * foreach (DocsPaWR.Registro registro in registri)
                 * {
                 *  DataSet ds = MultiCasellaManager.GetRightMailRegistro(registro.systemId, RoleManager.GetRoleInSession().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;
                 *          }
                 *      }
                 *  }
                 * }*/
                return(listRegistriRF);
            }
            catch (System.Exception ex)
            {
                UIManager.AdministrationManager.DiagnosticError(ex);
                return(null);
            }
        }
示例#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(Page page, string verifyDest)
        {
            try
            {
                DocsPaWebService ws  = new DocsPaWebService();
                bool             res = false;
                //prendo gli rf associati al ruolo
                DocsPaWR.Registro[] rf       = UserManager.getListaRegistriWithRF(page, "1", UserManager.getRegistroSelezionato(page).systemId);
                DocsPaWR.Registro[] registri = UserManager.getListaRegistriWithRF(page, "0", UserManager.getRegistroSelezionato(page).systemId);
                foreach (DocsPaWR.Registro registro in rf)
                {
                    DataSet ds = MultiCasellaManager.GetRightMailRegistro(registro.systemId, RoleManager.GetRoleInSession().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 (DocsPaWR.Registro registro in registri)
                {
                    DataSet ds = MultiCasellaManager.GetRightMailRegistro(registro.systemId, RoleManager.GetRoleInSession().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);
            }
        }