/// <summary>
        /// Se crea una lista de tipo SelectListItem
        /// se buscan los usuario que considan con el rol 2 (instructor)
        /// para mostrar solo los usuarios que pertenecen a los intructores
        /// </summary>
        /// <returns>se regresa la lista con los usuarios ya filtrados</returns>
        static List <SelectListItem> List_Instructores(string usuario_instructor)
        {
            practicas3Entities db = new practicas3Entities();

            //Necesio retornar los nombres de usuario que tienen el rol instructor
            var lst = (from l in db.Tbl_Usuarios
                       where l.Id_Rol == 2
                       select new { Nombre_Usuario = l.NombreUsuario }).ToList();

            if (usuario_instructor != null)
            {
                var usuario = (from u in lst
                               where u.Nombre_Usuario == usuario_instructor
                               select new { Nombre_Usuario = u.Nombre_Usuario }).First();

                lst.Remove(usuario);
                lst.Insert(0, usuario);
            }

            //Convierto la consulta a SelectListItem que es el tipo con el que trabaja el DropDownList
            List <SelectListItem> Id_Usuario = lst.ConvertAll(l =>
            {
                return(new SelectListItem()
                {
                    Text = l.Nombre_Usuario,
                    Value = l.Nombre_Usuario
                });
            });

            return(Id_Usuario);
        }
Beispiel #2
0
        public ActionResult Index(String NombreUsuario, String Contrasena)
        {
            try
            {
                if (NombreUsuario != "" && Contrasena != "")
                {
                    using (var db = new practicas3Entities())
                    {
                        /*Encriptacion de la contraseña*/
                        string resultado = string.Empty;
                        byte[] encriptar = System.Text.Encoding.Unicode.GetBytes(Contrasena);
                        resultado = Convert.ToBase64String(encriptar);

                        /*Se valida el usuario y  la contraseña en la DB*/
                        var login = (from l in db.Tbl_Usuarios
                                     where l.NombreUsuario == NombreUsuario &&
                                     l.Contrasena == resultado
                                     select l).First();

                        /*Se le asigna el rol a la variable de Session["Rol"], para comprobar el
                         * acceso a los diferentes controladores*/
                        Session["Rol"] = login.Id_Rol.ToString();

                        /*Se le asigna el nombre de usuario a la variable de Session["Id_Usuario"],
                         * para eventualmente ser usada en el controller visitas*/
                        Session["Id_Usuario"] = login.NombreUsuario.ToString();

                        /*Se crea la cookie que almacena el inicio de sesion*/
                        FormsAuthentication.SetAuthCookie(login.NombreUsuario, false);

                        if (login.Id_Rol == 1 || login.Id_Rol == 2)
                        {
                            return(RedirectToAction("Index", "Home"));
                        }
                        else
                        {
                            return(RedirectToAction("Create", "Tbl_Aprendices"));
                        }
                    }
                }
                else
                {
                    ViewBag.Validar = "Llene todos los campos";
                    return(View());
                }
            }
            catch (Exception)
            {
                ViewBag.Validar = "Usuario y/o contraseña equivocado";
                return(View());
            }

            //Session["Rol"] = "1";
            //return RedirectToAction("Index", "Home");
        }