Example #1
0
        public JsonResult recuperarInfo(int iidusuario)
        {
            usuarioCLS oUsuarioCLS = new usuarioCLS();

            using (var bd = new BDPasajeEntities())
            {
                Usuario oUsuario = bd.Usuario.Where(p => p.IIDUSUARIO == iidusuario).First();
                oUsuarioCLS.nombreusuario = oUsuario.NOMBREUSUARIO;
                oUsuarioCLS.iidrol        = (int)oUsuario.IIDROL;
            }
            return(Json(oUsuarioCLS, JsonRequestBehavior.AllowGet));
        }
Example #2
0
        public string Login(usuarioCLS oUsuario)
        {
            string mensaje = "";

            //error
            if (!ModelState.IsValid)
            {
                //Vamos a obtener los estados de cada propiedad y los mensajes de error (si es que hay).
                var query = (from state in ModelState.Values
                             from error in state.Errors
                             select error.ErrorMessage).ToList();
                mensaje += "<ul class='list-group'>";
                foreach (var item in query)
                {
                    mensaje += "<li class = 'list-group-item'>" + item + "</li>";
                }
                mensaje += "</ul>";
            }
            //bien
            else
            {
                string nombreUsuario = oUsuario.nombreusuario;
                string password      = oUsuario.contra;
                //Cifrar
                SHA256Managed sha                 = new SHA256Managed();
                byte[]        byteContra          = Encoding.Default.GetBytes(password);
                byte[]        byteContraCifrada   = sha.ComputeHash(byteContra);
                string        cadenaContraCifrada = BitConverter.ToString(byteContraCifrada).Replace("-", "");
                using (var bd = new BDPasajeEntities())
                {
                    int numeroVeces = bd.Usuario.Where(p => p.NOMBREUSUARIO == nombreUsuario &&
                                                       p.CONTRA == cadenaContraCifrada).Count();
                    mensaje = numeroVeces.ToString();
                    if (mensaje == "0")
                    {
                        mensaje = "Usuario o contraseña incorrecta";
                    }
                    else
                    {
                        Usuario ousuario = bd.Usuario.Where(p => p.NOMBREUSUARIO == nombreUsuario &&
                                                            p.CONTRA == cadenaContraCifrada).First();
                        //Todo el objeto usuario
                        Session["Usuario"] = ousuario;

                        if (ousuario.TIPOUSUARIO == "C")
                        {
                            Cliente oCliente = bd.Cliente.Where(p => p.IIDCLIENTE == ousuario.IID).First();
                            Session["nombreCompleto"] = oCliente.NOMBRE + " " + oCliente.APPATERNO + " " + oCliente.APMATERNO;
                        }
                        else
                        {
                            Empleado oEmpleado = bd.Empleado.Where(p => p.IIDEMPLEADO == ousuario.IID).First();
                            Session["nombreCompleto"] = oEmpleado.NOMBRE + " " + oEmpleado.APPATERNO + " " + oEmpleado.APMATERNO;
                        }

                        List <menuCLS> listaMenu = (from usuario in bd.Usuario
                                                    join rol in bd.Rol
                                                    on usuario.IIDROL equals rol.IIDROL
                                                    join rolpag in bd.RolPagina
                                                    on rol.IIDROL equals rolpag.IIDROL
                                                    join Pagina in bd.Pagina
                                                    on rolpag.IIDPAGINA equals Pagina.IIDPAGINA
                                                    where rol.IIDROL == ousuario.IIDROL && rolpag.IIDROL == usuario.IIDROL &&
                                                    usuario.IIDUSUARIO == ousuario.IIDUSUARIO
                                                    select new menuCLS
                        {
                            nombreAccion = Pagina.ACCION,
                            nombreControlador = Pagina.CONTROLADOR,
                            mensaje = Pagina.MENSAJE
                        }).ToList();


                        Session["Rol"] = listaMenu;
                    }
                }
            }
            return(mensaje);
        }
Example #3
0
        public string Guardar(usuarioCLS oUsuarioCLS, int titulo)
        {
            //vacio es error
            string respuesta = "";

            try
            {
                if (!ModelState.IsValid)
                {
                    //Vamos a obtener los estados de cada propiedad y los mensajes de error (si es que hay).
                    var query = (from state in ModelState.Values
                                 from error in state.Errors
                                 select error.ErrorMessage).ToList();
                    respuesta += "<ul class='list-group'>";
                    foreach (var item in query)
                    {
                        respuesta += "<li class = 'list-group-item'>" + item + "</li>";
                    }
                    respuesta += "</ul>";
                }
                else
                {
                    using (var bd = new BDPasajeEntities())
                    {
                        int cantidad = 0;
                        using (var transaccion = new TransactionScope())
                            if (titulo.Equals(-1))
                            {
                                cantidad = bd.Usuario.Where(p => p.NOMBREUSUARIO == oUsuarioCLS.nombreusuario).Count();
                                if (cantidad >= 1)
                                {
                                    respuesta = "-1";
                                }
                                else
                                {
                                    Usuario oUsuario = new Usuario();
                                    oUsuario.NOMBREUSUARIO = oUsuarioCLS.nombreusuario;
                                    SHA256Managed sha                 = new SHA256Managed();
                                    byte[]        byteContra          = Encoding.Default.GetBytes(oUsuarioCLS.contra);
                                    byte[]        byteContraCifrada   = sha.ComputeHash(byteContra);
                                    string        cadenaContraCifrada = BitConverter.ToString(byteContraCifrada).Replace("-", "");
                                    oUsuario.CONTRA = cadenaContraCifrada;
                                    //Obteniendo la penúltima posición del string para identificar si el usuario es empleado o cliente
                                    oUsuario.TIPOUSUARIO = oUsuarioCLS.nombrePersonaEnviar.Substring(oUsuarioCLS.nombrePersonaEnviar.Length - 2, 1);
                                    oUsuario.IID         = oUsuarioCLS.iid;
                                    oUsuario.IIDROL      = oUsuarioCLS.iidrol;
                                    oUsuario.bhabilitado = 1;
                                    bd.Usuario.Add(oUsuario);
                                    if (oUsuario.TIPOUSUARIO.Equals("C"))
                                    {
                                        Cliente oCliente = bd.Cliente.Where(p => p.IIDCLIENTE.Equals(oUsuarioCLS.iid)).First();
                                        oCliente.bTieneUsuario = 1;
                                    }
                                    else
                                    {
                                        Empleado oEmpleado = bd.Empleado.Where(p => p.IIDEMPLEADO.Equals(oUsuarioCLS.iid)).First();
                                        oEmpleado.bTieneUsuario = 1;
                                    }
                                    respuesta = bd.SaveChanges().ToString();
                                    if (respuesta == "0")
                                    {
                                        respuesta = "";
                                    }
                                    transaccion.Complete();
                                }
                            }
                            else
                            {
                                cantidad = bd.Usuario.Where(p => p.NOMBREUSUARIO == oUsuarioCLS.nombreusuario &&
                                                            p.IIDUSUARIO != titulo).Count();
                                if (cantidad >= 1)
                                {
                                    respuesta = "-1";
                                }
                                else
                                {
                                    //Editar
                                    Usuario oUsuario = bd.Usuario.Where(p => p.IIDUSUARIO == titulo).First();
                                    oUsuario.IIDROL        = oUsuarioCLS.iidrol;
                                    oUsuario.NOMBREUSUARIO = oUsuarioCLS.nombreusuario;
                                    respuesta = bd.SaveChanges().ToString();
                                    transaccion.Complete();
                                }
                            }
                    }
                }
            }

            catch (Exception ex)
            {
                respuesta = "";
            }
            return(respuesta);
        }
Example #4
0
        public ActionResult Filtrar(usuarioCLS oUsuarioCLS)
        {
            string nombrePersona = oUsuarioCLS.nombrePersona;

            listaPersonas();
            listaRol();
            List <usuarioCLS> listaUsuario = new List <usuarioCLS>();

            using (var bd = new BDPasajeEntities())
            {
                if (oUsuarioCLS.nombrePersona == null)
                {
                    List <usuarioCLS> listaUsuarioCliente = (from usuario in bd.Usuario
                                                             join cliente in bd.Cliente
                                                             on usuario.IID equals cliente.IIDCLIENTE
                                                             join rol in bd.Rol
                                                             on usuario.IIDROL equals rol.IIDROL
                                                             where usuario.bhabilitado == 1 &&
                                                             usuario.TIPOUSUARIO == "C"
                                                             select new usuarioCLS
                    {
                        iidusuario = usuario.IIDUSUARIO,
                        nombrePersona = cliente.NOMBRE + " " + cliente.APPATERNO + " " + cliente.APMATERNO,
                        nombreusuario = usuario.NOMBREUSUARIO,
                        nombreRol = rol.NOMBRE,
                        nombreTipoEmpleado = "Cliente"
                    }).ToList();
                    List <usuarioCLS> listaUsuarioEmpleados = (from usuario in bd.Usuario
                                                               join empleado in bd.Empleado
                                                               on usuario.IID equals empleado.IIDEMPLEADO
                                                               join rol in bd.Rol
                                                               on usuario.IIDROL equals rol.IIDROL
                                                               where usuario.bhabilitado == 1 &&
                                                               usuario.TIPOUSUARIO == "E"
                                                               select new usuarioCLS
                    {
                        iidusuario = usuario.IIDUSUARIO,
                        nombrePersona = empleado.NOMBRE + " " + empleado.APPATERNO + " " + empleado.APMATERNO,
                        nombreusuario = usuario.NOMBREUSUARIO,
                        nombreRol = rol.NOMBRE,
                        nombreTipoEmpleado = "Empleado"
                    }).ToList();
                    listaUsuario.AddRange(listaUsuarioCliente);
                    listaUsuario.AddRange(listaUsuarioEmpleados);
                    listaUsuario = listaUsuario.OrderBy(p => p.iidusuario).ToList();
                }
                else
                {
                    List <usuarioCLS> listaUsuarioCliente = (from usuario in bd.Usuario
                                                             join cliente in bd.Cliente
                                                             on usuario.IID equals cliente.IIDCLIENTE
                                                             join rol in bd.Rol
                                                             on usuario.IIDROL equals rol.IIDROL
                                                             where usuario.bhabilitado == 1 &&
                                                             (
                                                                 cliente.NOMBRE.Contains(nombrePersona) ||
                                                                 cliente.APPATERNO.Contains(nombrePersona) ||
                                                                 cliente.APMATERNO.Contains(nombrePersona)
                                                             ) &&
                                                             usuario.TIPOUSUARIO == "C"
                                                             select new usuarioCLS
                    {
                        iidusuario = usuario.IIDUSUARIO,
                        nombrePersona = cliente.NOMBRE + " " + cliente.APPATERNO + " " + cliente.APMATERNO,
                        nombreusuario = usuario.NOMBREUSUARIO,
                        nombreRol = rol.NOMBRE,
                        nombreTipoEmpleado = "Cliente"
                    }).ToList();
                    List <usuarioCLS> listaUsuarioEmpleados = (from usuario in bd.Usuario
                                                               join empleado in bd.Empleado
                                                               on usuario.IID equals empleado.IIDEMPLEADO
                                                               join rol in bd.Rol
                                                               on usuario.IIDROL equals rol.IIDROL
                                                               where usuario.bhabilitado == 1 &&
                                                               usuario.TIPOUSUARIO == "E" &&
                                                               (
                                                                   empleado.NOMBRE.Contains(nombrePersona) ||
                                                                   empleado.APPATERNO.Contains(nombrePersona) ||
                                                                   empleado.APMATERNO.Contains(nombrePersona)
                                                               )
                                                               select new usuarioCLS
                    {
                        iidusuario = usuario.IIDUSUARIO,
                        nombrePersona = empleado.NOMBRE + " " + empleado.APPATERNO + " " + empleado.APMATERNO,
                        nombreusuario = usuario.NOMBREUSUARIO,
                        nombreRol = rol.NOMBRE,
                        nombreTipoEmpleado = "Empleado"
                    }).ToList();
                    listaUsuario.AddRange(listaUsuarioCliente);
                    listaUsuario.AddRange(listaUsuarioEmpleados);
                    listaUsuario = listaUsuario.OrderBy(p => p.iidusuario).ToList();
                }
            }
            return(PartialView("_tablaUsuario", listaUsuario));
        }