示例#1
0
 public ActionResult Create([Bind(Include = "id,nombre,correo,usuario,contrasenia")] manboss_usuarios usuario_form)
 {
     if (Session["nombre_usuario"] == null)
     {
         return(RedirectToAction("Index", "Login"));
     }
     if (db.manboss_usuarios.Any(x => x.usuario == usuario_form.usuario))
     {
         ViewBag.Message     = "El usuario ya existe";
         ViewBag.nombre      = usuario_form.nombre;
         ViewBag.correo      = usuario_form.correo;
         ViewBag.contrasenia = usuario_form.contrasenia;
         MenuEntities db_menu = new MenuEntities();
         ViewBag.menus = db_menu.manboss_permisos_menu.ToList();
         return(View());
     }
     else
     {
         string contrasenia_form = usuario_form.contrasenia;
         string hash             = random_string(12);
         usuario_form.contrasenia = encrypt_pass(contrasenia_form + hash).ToLower();
         usuario_form.hash        = hash;
         usuario_form.rol         = 1;
         db.manboss_usuarios.Add(usuario_form);
         db.SaveChanges();
         //Agregar permisos
         NameValueCollection permisos_form = Request.Form;
         string           permisos_str     = permisos_form.AllKeys.ToDictionary(x => x, x => permisos_form[x]).Values.ToList().Last();
         string[]         arr         = permisos_str.Split(',');
         int[]            permisos    = Array.ConvertAll(arr, int.Parse);
         PermisosEntities db_permisos = new PermisosEntities();
         for (int i = 1; i <= 9; i++)
         {
             manboss_permisos permiso = new manboss_permisos();
             if (permisos.Contains(i))
             {
                 permiso.usuario = usuario_form.id;
                 permiso.menu    = i;
                 permiso.estado  = 1;
                 db_permisos.manboss_permisos.Add(permiso);
                 db_permisos.SaveChanges();
             }
             else
             {
                 permiso.usuario = usuario_form.id;
                 permiso.menu    = i;
                 permiso.estado  = 0;
                 db_permisos.manboss_permisos.Add(permiso);
                 db_permisos.SaveChanges();
             }
         }
         return(RedirectToAction("Index"));
     }
 }
示例#2
0
        // GET: Administradores/Details/5
        public ActionResult Details(int?id)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            manboss_usuarios manboss_model = db.manboss_usuarios.Find(id);
            MenuEntities     db_menu       = new MenuEntities();

            ViewBag.menus = db_menu.manboss_permisos_menu.ToList();
            PermisosEntities db_permisos = new PermisosEntities();
            int usuario = (int)id;

            ViewBag.permisos = db_permisos.manboss_permisos.Where(x => x.usuario == usuario && x.estado == 1).Select(x => x.menu).ToList();
            return(View(manboss_model));
        }
示例#3
0
        public ActionResult Edit([Bind(Include = "id,nombre,correo,usuario,contrasenia")] manboss_usuarios usuario_form)
        {
            if (Session["nombre_usuario"] == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            var usuario_actual = db.manboss_usuarios.FirstOrDefault(x => x.id == usuario_form.id);

            usuario_actual.nombre  = usuario_form.nombre;
            usuario_actual.correo  = usuario_form.correo;
            usuario_actual.usuario = usuario_form.usuario;
            if (!string.IsNullOrEmpty(usuario_form.contrasenia))
            {
                string contrasenia_form = usuario_form.contrasenia;
                string hash             = random_string(12);
                usuario_actual.contrasenia = encrypt_pass(contrasenia_form + hash).ToLower();
                usuario_actual.hash        = hash;
            }
            db.SaveChanges();
            //Agregar permisos
            NameValueCollection permisos_form = Request.Form;
            string permisos_str = permisos_form.AllKeys.ToDictionary(x => x, x => permisos_form[x]).Values.ToList().Last();

            string[]         arr         = permisos_str.Split(',');
            int[]            permisos    = Array.ConvertAll(arr, int.Parse);
            PermisosEntities db_permisos = new PermisosEntities();

            for (int i = 1; i <= 9; i++)
            {
                var permiso_actual = db_permisos.manboss_permisos.FirstOrDefault(x => x.usuario == usuario_form.id && x.menu == i);
                if (permisos.Contains(i))
                {
                    permiso_actual.estado = 1;
                    db_permisos.SaveChanges();
                }
                else
                {
                    permiso_actual.estado = 0;
                    db_permisos.SaveChanges();
                }
            }
            return(RedirectToAction("Index"));
        }
示例#4
0
        public ActionResult Iniciar_Sesion(manboss_usuarios Login)
        {
            UsuariosEntities db_usuarios = new UsuariosEntities();
            var usuario_info             = db_usuarios.manboss_usuarios.Where(x => x.usuario == Login.usuario).FirstOrDefault();

            if (usuario_info == null)
            {
                ViewBag.Message = "El usuario no existe.";
                return(View("Index", Login));
            }
            else
            {
                string contrasenia_final = usuario_info.contrasenia;
                string contrasenia_form  = Login.contrasenia;
                string hash            = usuario_info.hash;
                string contrasenia_res = encrypt_pass(contrasenia_form + hash).ToLower();
                if (contrasenia_res.Equals(contrasenia_final))
                {
                    RolUsuarioEntities db_roles = new RolUsuarioEntities();
                    var rol_info = db_roles.manboss_rol_usuario.Where(x => x.id == usuario_info.rol).FirstOrDefault();
                    PermisosEntities db_permisos = new PermisosEntities();
                    Session["permisos"]          = db_permisos.manboss_permisos.Where(x => x.usuario == usuario_info.id && x.estado == 1).Select(x => x.menu).ToList();
                    Session["id_usuario"]        = usuario_info.id;
                    Session["nombre_usuario"]    = usuario_info.nombre;
                    Session["rol_usuario"]       = usuario_info.rol;
                    Session["rolnombre_usuario"] = rol_info.nombre;
                    List <Ruta> rutas = new List <Ruta>();
                    Session["rutas_mandados"] = rutas;
                    return(RedirectToAction("Index", "Panel"));
                }
                else
                {
                    ViewBag.Message = "La contraseña es incorrecta.";
                    return(View("Index", Login));
                }
            }
        }