示例#1
0
    public static string AsignarPermisos(List <int> IdPermisoDisponible, int IdPerfil)
    {
        CObjeto Respuesta = new CObjeto();
        string  Error     = "";

        CUnit.Firmado(delegate(CDB conn)
        {
            int IdUsuarioSesion = CUsuario.ObtieneUsuarioSesion(conn);
            CSecurity permiso   = new CSecurity();
            if (permiso.tienePermiso("puedeAgregarCircuito"))
            {
                CObjeto Datos = new CObjeto();
                if (conn.Conectado)
                {
                    foreach (int IdPermiso in IdPermisoDisponible)
                    {
                        if (Error == "")
                        {
                            CPerfilPermiso PerfilPermiso = new CPerfilPermiso();
                            PerfilPermiso.IdPerfil       = IdPerfil;
                            PerfilPermiso.Baja           = false;

                            int IdPerfilPermiso = CPerfilPermiso.ValidaExiste(IdPerfil, IdPermiso, conn);
                            if (IdPerfilPermiso != 0)
                            {
                                PerfilPermiso.IdPerfilPermiso = IdPerfilPermiso;
                                PerfilPermiso.DesactivarEspecial(conn);
                            }
                            else
                            {
                                PerfilPermiso.IdPermiso = IdPermiso;
                                PerfilPermiso.Agregar(conn);
                            }
                        }
                    }
                    Respuesta.Add("Datos", Datos);
                }
                else
                {
                    Error = Error + "<li>" + conn.Mensaje + "</li>";
                }
            }
            else
            {
                Error = Error + "<li>No tienes los permisos necesarios</li>";
            }

            Respuesta.Add("Error", Error);
        });
        return(Respuesta.ToString());
    }
    public static string AgregarPermisosPerfil(string pOpciones, int pIdPerfil)
    {
        string respuesta = "";
        //Abrir Conexion
        CConexion ConexionBaseDatos = new CConexion();

        respuesta = ConexionBaseDatos.ConectarBaseDatosSqlServer();

        //¿La conexion se establecio?
        if (respuesta == "Conexion Establecida")
        {
            CPerfilPermiso PerfilPermiso = new CPerfilPermiso();
            PerfilPermiso.IdPerfil = pIdPerfil;
            PerfilPermiso.DesactivarTodos(ConexionBaseDatos);
            if (pOpciones != "")
            {
                string[]  arrOpciones = pOpciones.Split('|');
                ArrayList opciones    = new ArrayList();
                foreach (string opcion in arrOpciones)
                {
                    opciones.Add(opcion);
                }
                pOpciones = pOpciones.Replace("|", ",");
                foreach (CPerfilPermiso CPP in PerfilPermiso.PermisosExistentes(pOpciones, pIdPerfil, ConexionBaseDatos))
                {
                    for (int i = 0; i <= opciones.Count - 1; i++)
                    {
                        if (CPP.IdOpcion == Convert.ToInt32(opciones[i]))
                        {
                            opciones.RemoveAt(i);
                            break;
                        }
                    }
                    CPP.Activar(ConexionBaseDatos);
                }

                for (int i = 0; i <= opciones.Count - 1; i++)
                {
                    PerfilPermiso.IdOpcion = Convert.ToInt32(opciones[i]);
                    PerfilPermiso.Agregar(ConexionBaseDatos);
                }
                //Cerrar Conexion
                ConexionBaseDatos.CerrarBaseDatosSqlServer();
            }
        }
        return(respuesta);
    }