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