예제 #1
0
파일: CSecurity.cs 프로젝트: kmtDramos/Yolk
    public bool tienePermiso(string accion)
    {
        bool permiso = false;

        CUnit.Firmado(delegate(CDB Conn)
        {
            CDB conn = new CDB();

            int IdPerfil    = 0;
            HttpCookie Dato = HttpContext.Current.Request.Cookies[CMD5.Encriptar("KeepUnitUserCookie")];
            if (Dato != null)
            {
                string Cookie = Dato.Value;

                string Query = "SELECT IdUsuario, IdPerfil FROM Usuario WHERE Cookie = @Cookie";
                Conn.DefinirQuery(Query);
                Conn.AgregarParametros("@Cookie", Cookie);
                CObjeto Registro = Conn.ObtenerRegistro();

                CUsuario Usuario  = new CUsuario();
                Usuario.IdUsuario = (Registro.Exist("IdUsuario")) ? (int)Registro.Get("IdUsuario") : 0;
                Usuario.Obtener(Conn);
                IdPerfil = Usuario.IdPerfil;
            }


            //Obtengo los permisos del usuario dependiendo su perfil
            string query = "EXEC sp_PerfilPermiso_Consulta @Opcion, @IdPerfil, @IdPagina";
            conn.DefinirQuery(query);
            conn.AgregarParametros("@Opcion", 1);
            conn.AgregarParametros("@IdPerfil", IdPerfil);
            conn.AgregarParametros("@IdPagina", 0);
            SqlDataReader Datos = conn.Ejecutar();

            if (Datos.HasRows)
            {
                while (Datos.Read())
                {
                    //Valido si existe el permiso seleccionado en su lista de permisos
                    if (accion == Datos["Comando"].ToString())
                    {
                        permiso = true;
                        break;
                    }
                }
            }
            Datos.Close();
        });


        return(permiso);
    }
예제 #2
0
파일: CSecurity.cs 프로젝트: kmtDramos/Yolk
    private static void Acceder(int IdUsuario, CDB Conn)
    {
        CUsuario Usuario = new CUsuario();

        Usuario.IdUsuario = IdUsuario;
        Usuario.Obtener(Conn);
        if (Usuario.IdUsuario != 0)
        {
            Usuario.FechaUltimoAcceso = DateTime.Now;
            Usuario.IP     = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"].ToString();
            Usuario.Cookie = CMD5.Encriptar(Usuario.IP + Usuario.FechaUltimoAcceso.ToShortDateString() + Usuario.IdUsuario.ToString());
            Usuario.Editar(Conn);

            HttpContext.Current.Response.Cookies[CMD5.Encriptar("KeepUnitUserCookie")].Value = Usuario.Cookie;
            //CMail.EnviarCorreo("*****@*****.**", Usuario.Correo, "Inicio de sesión", "Se ha iniciado sesión desde: "+ Usuario.IP);
        }
    }
예제 #3
0
파일: CUsuario.cs 프로젝트: kmtDramos/Yolk
    public static int ObtieneUsuarioSesion(CDB Conn)
    {
        int        IdUsuario = 0;
        HttpCookie Dato      = HttpContext.Current.Request.Cookies[CMD5.Encriptar("KeepUnitUserCookie")];

        if (Dato != null)
        {
            string Cookie = Dato.Value;
            string Query  = "SELECT IdUsuario FROM Usuario WHERE Cookie = @Cookie";
            Conn.DefinirQuery(Query);
            Conn.AgregarParametros("@Cookie", Cookie);
            CObjeto  Registro = Conn.ObtenerRegistro();
            CUsuario Usuario  = new CUsuario();
            Usuario.IdUsuario = (Registro.Exist("IdUsuario")) ? (int)Registro.Get("IdUsuario") : 0;
            Usuario.Obtener(Conn);
            IdUsuario = Usuario.IdUsuario;
        }
        return(IdUsuario);
    }
예제 #4
0
    public static string EditarClientePredeterminado(int IdSucursalPredeterminada)
    {
        CObjeto Respuesta = new CObjeto();

        CUnit.Firmado(delegate(CDB Conn)
        {
            string Error = Conn.Mensaje;
            if (Conn.Conectado)
            {
                int IdUsuario = CUsuario.ObtieneUsuarioSesion(Conn);

                CObjeto Datos = new CObjeto();

                CUsuario cUsuario  = new CUsuario();
                cUsuario.IdUsuario = IdUsuario;
                cUsuario.Obtener(Conn);
                cUsuario.IdSucursalPredeterminada = IdSucursalPredeterminada;

                if (IdSucursalPredeterminada != 0)
                {
                    CObjeto ValidaSucursalPredeterminada = new CObjeto();
                    int puede = CUsuario.ValidaSucursalPredeterminada(IdSucursalPredeterminada, IdUsuario, Conn);
                    if (puede == 0)
                    {
                        Error = Error + "<li>No tiene asignada esta sucursal</li>";
                    }
                    else
                    {
                        cUsuario.EditarSucursalPredeterminada(Conn);
                    }
                }

                Respuesta.Add("Datos", Datos);
            }
            Respuesta.Add("Error", Error);
            Conn.Cerrar();
        });

        return(Respuesta.ToString());
    }
예제 #5
0
    public static string EditarContrasena(int IdUsuario, string Password)
    {
        CObjeto Respuesta = new CObjeto();

        CUnit.Firmado(delegate(CDB Conn)
        {
            string Error      = Conn.Mensaje;
            CSecurity permiso = new CSecurity();
            if (permiso.tienePermiso("puedeEditarContrasena"))
            {
                if (Conn.Conectado)
                {
                    CObjeto Datos = new CObjeto();

                    CUsuario cUsuario  = new CUsuario();
                    cUsuario.IdUsuario = IdUsuario;
                    cUsuario.Obtener(Conn);
                    cUsuario.Password = CMD5.Encriptar(Password);
                    cUsuario.EditarContrasena(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);

            Conn.Cerrar();
        });

        return(Respuesta.ToString());
    }
예제 #6
0
    protected void Page_Load(object sender, EventArgs e)
    {
        CUnit.Firmado(delegate(CDB Conn)
        {
            if (Conn.Conectado)
            {
                IdUsuario          = Convert.ToInt32(Request["IdUsuario"]);
                CUsuario cUsuario  = new CUsuario();
                cUsuario.IdUsuario = IdUsuario;
                cUsuario.Obtener(Conn);
                Nombre          = cUsuario.Nombre;
                ApellidoPaterno = cUsuario.ApellidoPaterno;
                ApellidoMaterno = cUsuario.ApellidoMaterno;
                Usuario         = cUsuario.Usuario;
                Correo          = cUsuario.Correo;
                IdPerfil        = Convert.ToString(cUsuario.IdPerfil);
                //Checked = (cUsuario.Baja == false) ? "checked" : "";

                var query = "EXEC sp_Perfil_Consultar @Opcion";
                Conn.DefinirQuery(query);
                Conn.AgregarParametros("@Opcion", 2);
                Perfiles = Conn.ObtenerRegistros();

                var spUsuario = "EXEC sp_Usuario_Consultar @Opcion";
                Conn.DefinirQuery(spUsuario);
                Conn.AgregarParametros("@Opcion", 2);
                Jefes = Conn.ObtenerRegistros();

                //IdCliente = Convert.ToString(cUsuario.IdClientePredeterminado);
                //if (IdCliente != "0")
                // {
                //IdSucursal = Convert.ToString(cUsuario.IdSucursalPredeterminada);

                //query = "SELECT * FROM Cliente WHERE IdCliente = @IdCliente";
                //Conn.DefinirQuery(query);
                //Conn.AgregarParametros("@IdCliente", IdCliente);
                //Clientes = Conn.ObtenerRegistros();
                //CObjeto oCliente = Conn.ObtenerRegistro();

                //Cliente = IdCliente.ToString();
                //if (oCliente.Exist("Cliente"))
                //{
                //    Id = oCliente.Get("IdCliente").ToString();
                //    Cliente = oCliente.Get("Cliente").ToString();
                //    IdMunicpio = oCliente.Get("IdMunicipio").ToString();

                //    query = "SELECT * FROM Municipio WHERE IdMunicipio = @IdMunicipio";
                //    Conn.DefinirQuery(query);
                //    Conn.AgregarParametros("@IdMunicipio", IdMunicpio);
                //    CObjeto Validar = Conn.ObtenerRegistro();
                //    IdEstado = Validar.Get("IdEstado").ToString();

                //    query = "SELECT * FROM Estado WHERE IdEstado = @IdEstado";
                //    Conn.DefinirQuery(query);
                //    Conn.AgregarParametros("@IdEstado", IdEstado);
                //    Validar = Conn.ObtenerRegistro();
                //    IdPais = Validar.Get("IdPais").ToString();
                //    /**/
                //    query = "SELECT * FROM Municipio WHERE IdEstado=@IdEstado";
                //    Conn.DefinirQuery(query);
                //    Conn.AgregarParametros("@IdEstado", IdEstado);
                //    Municipios = Conn.ObtenerRegistros();

                //    query = "SELECT * FROM Estado WHERE IdPais=@IdPais";
                //    Conn.DefinirQuery(query);
                //    Conn.AgregarParametros("@IdPais", IdPais);
                //    Estados = Conn.ObtenerRegistros();

                //    query = "SELECT * FROM Pais";
                //    Conn.DefinirQuery(query);
                //    Paises = Conn.ObtenerRegistros();

                //    query = "SELECT * FROM Sucursal WHERE IdSucursal = @IdSucursal";
                //    Conn.DefinirQuery(query);
                //    Conn.AgregarParametros("@Idsucursal", IdSucursal);
                //    Sucursales = Conn.ObtenerRegistros();
                //}
            }
        });
    }
예제 #7
0
    public static string EditarUsuario(int IdUsuario, string Nombre, string ApellidoPaterno, string ApellidoMaterno, string Usuario, string Correo, int IdPerfil, bool EsReponsableSucursal, int IdProveedor, int IdUsuarioJefe)
    {
        CObjeto Respuesta = new CObjeto();

        CUnit.Firmado(delegate(CDB Conn)
        {
            string Error      = Conn.Mensaje;
            CSecurity permiso = new CSecurity();
            if (permiso.tienePermiso("puedeEditarUsuario"))
            {
                if (Conn.Conectado)
                {
                    CObjeto Datos = new CObjeto();

                    CUsuario cUsuario  = new CUsuario();
                    cUsuario.IdUsuario = IdUsuario;
                    cUsuario.Obtener(Conn);
                    cUsuario.Nombre          = Nombre;
                    cUsuario.ApellidoPaterno = ApellidoPaterno;
                    cUsuario.ApellidoMaterno = ApellidoMaterno;
                    //cUsuario.Password = (Password == "") ? CMD5.Encriptar(Password) : cUsuario.Password;
                    cUsuario.Correo                = Correo;
                    cUsuario.IdPerfil              = IdPerfil;
                    cUsuario.IdUsuarioJefe         = IdUsuarioJefe;
                    cUsuario.EsResponsableSucursal = EsReponsableSucursal;
                    Error = ValidarUsuarioEditar(cUsuario);
                    if (Error == "")
                    {
                        cUsuario.Editar(Conn);

                        if (IdPerfil == 4)
                        {
                            //Si existe edita, de lo contrario da de alta en UsuarioProveedor
                            CUsuarioProveedor UsuarioProveedor = new CUsuarioProveedor();
                            int IdUsuarioProveedor             = CUsuarioProveedor.ValidaExiste(IdUsuario, Conn);
                            if (IdUsuarioProveedor > 0)
                            {
                                UsuarioProveedor.IdUsuarioProveedor = IdUsuarioProveedor;
                                UsuarioProveedor.Obtener(Conn);
                                UsuarioProveedor.IdUsuario   = IdUsuario;
                                UsuarioProveedor.IdProveedor = IdProveedor;
                                UsuarioProveedor.Editar(Conn);
                            }
                            else
                            {
                                UsuarioProveedor.IdUsuario   = IdUsuario;
                                UsuarioProveedor.IdProveedor = IdProveedor;
                                UsuarioProveedor.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);

            Conn.Cerrar();
        });

        return(Respuesta.ToString());
    }
예제 #8
0
    public static string ObtenerFormaEditarUsuario(int IdUsuario)
    {
        CObjeto Respuesta = new CObjeto();

        CUnit.Firmado(delegate(CDB conn)
        {
            string Error      = "";
            CSecurity permiso = new CSecurity();
            if (permiso.tienePermiso("puedeEditarUsuario"))
            {
                if (conn.Conectado)
                {
                    CObjeto Datos = new CObjeto();

                    CUsuario cUsuario  = new CUsuario();
                    cUsuario.IdUsuario = IdUsuario;
                    cUsuario.Obtener(conn);
                    Datos.Add("IdUsuario", cUsuario.IdUsuario);
                    Datos.Add("Nombre", cUsuario.Nombre);
                    Datos.Add("ApellidoPaterno", cUsuario.ApellidoPaterno);
                    Datos.Add("ApellidoMaterno", cUsuario.ApellidoMaterno);
                    Datos.Add("Usuario", cUsuario.Usuario);
                    Datos.Add("Correo", cUsuario.Correo);
                    Datos.Add("IdPerfil", Convert.ToString(cUsuario.IdPerfil));
                    Datos.Add("IdUsuarioJefe", Convert.ToString(cUsuario.IdUsuarioJefe));
                    Datos.Add("EsResponsableSucursal", Convert.ToString(cUsuario.EsResponsableSucursal));
                    Respuesta.Add("Dato", Datos);

                    int IdProveedor      = 0;
                    string spIdProveedor = "EXEC sp_UsuarioProveedor_Consultar @Opcion, 0, @IdUsuario ";
                    conn.DefinirQuery(spIdProveedor);
                    conn.AgregarParametros("@Opcion", 2);
                    conn.AgregarParametros("@IdUsuario", IdUsuario);
                    CObjeto UsuarioProveedor = conn.ObtenerRegistro();
                    if (UsuarioProveedor.Exist("IdUsuarioProveedor"))
                    {
                        IdProveedor = Convert.ToInt32(UsuarioProveedor.Get("IdProveedor").ToString());
                    }
                    Datos.Add("IdProveedor", IdProveedor);

                    string spPerfil = "EXEC sp_Perfil_Consultar @Opcion ";
                    conn.DefinirQuery(spPerfil);
                    conn.AgregarParametros("@Opcion", 2);
                    CArreglo Perfiles = conn.ObtenerRegistros();
                    Respuesta.Add("Perfiles", Perfiles);

                    string spProveedor = "EXEC sp_Proveedor_Consultar @Opcion ";
                    conn.DefinirQuery(spProveedor);
                    conn.AgregarParametros("@Opcion", 1);
                    CArreglo Proveedores = conn.ObtenerRegistros();
                    Respuesta.Add("Proveedores", Proveedores);

                    string spJefe = "EXEC sp_Usuario_Consultar @Opcion ";
                    conn.DefinirQuery(spJefe);
                    conn.AgregarParametros("@Opcion", 2);
                    CArreglo Jefes = conn.ObtenerRegistros();
                    Respuesta.Add("Jefes", Jefes);
                }
                else
                {
                    Error = Error + "<li>" + conn.Mensaje + "</li>";
                }
            }
            else
            {
                Error = Error + "<li>No tienes los permisos necesarios</li>";
            }

            Respuesta.Add("Error", Error);
        });
        return(Respuesta.ToString());
    }