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")); } }
// 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)); }
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")); }
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)); } } }