/// <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); } }
/// <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(" ")) { 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); } }