/// <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_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); } }