示例#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);
            }
        }
示例#2
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(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);
            }
        }