public ActionResult Create([Bind(Include = "UsuarioId,Nombre,ApellidoPaterno,ApellidoMaterno,SexoId,Edad,Direccion,Telefono,CorreoElectronico,Activo,RolId,Password")] NE_Usuario nE_Usuario) { ViewBag.Message = String.Empty; if (ModelState.IsValid) { using (DbContextTransaction dbTran = db.Database.BeginTransaction()) { NE_Autenticacion userAuth = new NE_Autenticacion(); try { if (!db.NE_Usuario.Any(x => x.CorreoElectronico.ToUpper() == nE_Usuario.CorreoElectronico.ToUpper())) { db.NE_Usuario.Add(nE_Usuario); db.SaveChanges(); userAuth = new NE_Autenticacion() { UsuarioId = nE_Usuario.UsuarioId, Intentos = 0, CuentaBloqueada = false, Contrasena = Security.Security.Encrypt(nE_Usuario.password), UltimoInicioSesion = DateTime.Now, }; db.NE_Autenticacion.Add(userAuth); db.SaveChanges(); dbTran.Commit(); NE_Bitacora bitacora = new NE_Bitacora() { AccionId = ACCION.NUEVO_REGISTRO, Descripcion = "Se ha creado al usuario: " + nE_Usuario.CorreoElectronico, FechaDeRegistro = DateTime.Now, UsuarioId = nE_Usuario.UsuarioId, }; db.NE_Bitacora.Add(bitacora); db.SaveChanges(); ViewBag.Message = "Cuenta creada"; return(RedirectToAction("Index", "Login")); } else { ViewBag.Message = "Ya hay un correo registrado"; } } catch (Exception e) { ViewBag.Message = "La cuenta no se pudo crear"; return(RedirectToAction("Create", "Registro")); } } } ViewBag.RolId = new SelectList(db.NE_Rol, "RolId", "Rol", nE_Usuario.RolId); ViewBag.SexoId = new SelectList(db.NE_Sexo, "SexoId", "Sexo", nE_Usuario.SexoId); return(View(nE_Usuario)); }
public JsonResult ConfirmarCodigoLogin(String email, String codigo) { NE_Autenticacion userAuth = new NE_Autenticacion(); NE_Usuario user = new NE_Usuario(); string pass; String Message = String.Empty; if (db.NE_Usuario.Any(x => x.CorreoElectronico == email && x.Activo)) { user = db.NE_Usuario.Where(x => x.CorreoElectronico == email).First(); if (db.NE_AutenticacionConEmail.Any(x => !x.CodigoConfirmado && x.Email.ToUpper() == email.ToUpper())) { NE_AutenticacionConEmail model = db.NE_AutenticacionConEmail.Where(x => !x.CodigoConfirmado && x.Email.ToUpper() == email.ToUpper()).OrderByDescending(x => x.FechaDeSolicitud).First(); if (DateTime.Now > model.FechaDeVencimiento) { return(Json(new { TipoMensaje = 2, Mensaje = "El codigo caduco , por favor de clic en reenviar para recibir otro.", UrlAredireccionar = "" }, JsonRequestBehavior.DenyGet)); } if (model.CodigoDeVerificacion != codigo) { return(Json(new { TipoMensaje = 2, Mensaje = "El cofigo seleccionado no es valido", UrlAredireccionar = "" }, JsonRequestBehavior.DenyGet)); } userAuth = db.NE_Autenticacion.Where(x => x.UsuarioId == user.UsuarioId).First(); userAuth.Intentos = 0; userAuth.UltimoInicioSesion = DateTime.Now; Settings.LoggedUser = user; db.SaveChanges(); model.CodigoConfirmado = true; db.SaveChanges(); NE_Bitacora bitacora = new NE_Bitacora() { AccionId = ACCION.INICIO_DE_SESION, Descripcion = "el usuario : " + user.CorreoElectronico + " ha iniciado sesion", FechaDeRegistro = DateTime.Now, UsuarioId = user.UsuarioId, }; db.NE_Bitacora.Add(bitacora); db.SaveChanges(); String url = user.RolId == 4 ? Url.Action("Index", "Principal") : Url.Action("Index", "Vehiculo"); return(Json(new { TipoMensaje = 1, Mensaje = String.Empty, UrlAredireccionar = url }, JsonRequestBehavior.DenyGet)); } else { return(Json(new { TipoMensaje = 2, Mensaje = "El codigo seleccionado no es correcto", UrlAredireccionar = "" }, JsonRequestBehavior.DenyGet)); } } else { return(Json(new { TipoMensaje = 2, Mensaje = "La cuenta seleccionada no esta activa", UrlAredireccionar = "" }, JsonRequestBehavior.DenyGet)); } }
public ActionResult DeleteConfirmed(int id) { NE_Usuario nE_Usuario = db.NE_Usuario.Find(id); NE_Autenticacion nE_Autenticacion = new NE_Autenticacion(); nE_Autenticacion = db.NE_Autenticacion.Where(x => x.UsuarioId == id).First(); db.NE_Usuario.Remove(nE_Usuario); db.NE_Autenticacion.Remove(nE_Autenticacion); db.SaveChanges(); return(RedirectToAction("Index")); }
public JsonResult ChangePas(String newPass) { try { NE_Autenticacion auth = db.NE_Autenticacion.Where(x => x.UsuarioId == Settings.LoggedUser.UsuarioId).First(); auth.Contrasena = Security.Security.Encrypt(newPass); db.SaveChanges(); return(Json(new { Success = true }, JsonRequestBehavior.DenyGet)); } catch { return(Json(new { Success = false }, JsonRequestBehavior.DenyGet)); } }
public ActionResult Edit([Bind(Include = "UsuarioId,Nombre,ApellidoPaterno,ApellidoMaterno,SexoId,Edad,Direccion,Telefono,CorreoElectronico,Activo,RolId,Password")] NE_Usuario nE_Usuario) { ViewBag.Message = String.Empty; if (ModelState.IsValid) { using (DbContextTransaction dbTran = db.Database.BeginTransaction()) { NE_Autenticacion userAuth = new NE_Autenticacion(); try { NE_Usuario user = new NE_Usuario(); user = db.NE_Usuario.Where(x => x.UsuarioId == nE_Usuario.UsuarioId).First(); user.Nombre = nE_Usuario.Nombre; user.ApellidoPaterno = nE_Usuario.ApellidoPaterno; user.ApellidoMaterno = nE_Usuario.ApellidoMaterno; user.SexoId = nE_Usuario.SexoId; user.Edad = nE_Usuario.Edad; user.Direccion = nE_Usuario.Direccion; user.Telefono = nE_Usuario.Telefono; user.CorreoElectronico = nE_Usuario.CorreoElectronico; user.Activo = nE_Usuario.Activo; user.RolId = nE_Usuario.RolId; db.SaveChanges(); if (nE_Usuario.password != null) { userAuth = db.NE_Autenticacion.Where(x => x.UsuarioId == nE_Usuario.UsuarioId).First(); userAuth.Contrasena = Security.Security.Encrypt(nE_Usuario.password); db.SaveChanges(); } dbTran.Commit(); ViewBag.Message = "Cuenta editada Correctamente"; return(RedirectToAction("Index", "Usuario")); } catch (Exception e) { ViewBag.Message = "La cuenta no se pudo crear"; return(RedirectToAction("Create", "Usuario")); } } } ViewBag.RolId = new SelectList(db.NE_Rol, "RolId", "Rol", nE_Usuario.RolId); ViewBag.SexoId = new SelectList(db.NE_Sexo, "SexoId", "Sexo", nE_Usuario.SexoId); return(View(nE_Usuario)); }
public JsonResult ChangePass(String newPass, Int32 ID) { try { NE_RecoveryPassword model = db.NE_RecoveryPassword.Find(ID); NE_Usuario user = db.NE_Usuario.Where(x => x.UsuarioId == model.UsuarioId).First(); NE_Autenticacion auth = db.NE_Autenticacion.Where(x => x.UsuarioId == user.UsuarioId).First(); model.IsConfirmed = true; auth.Contrasena = Security.Security.Encrypt(newPass); db.SaveChanges(); return(Json(new { Success = true }, JsonRequestBehavior.DenyGet)); } catch { return(Json(new { Success = false }, JsonRequestBehavior.DenyGet)); } }
// GET: Usuario/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } NE_Usuario nE_Usuario = db.NE_Usuario.Find(id); if (nE_Usuario == null) { return(HttpNotFound()); } ViewBag.RolId = new SelectList(db.NE_Rol, "RolId", "Rol", nE_Usuario.RolId); ViewBag.SexoId = new SelectList(db.NE_Sexo, "SexoId", "Sexo", nE_Usuario.SexoId); NE_Autenticacion nE_auth = db.NE_Autenticacion.Where(x => x.UsuarioId == id).First(); ViewBag.pass = nE_auth.Contrasena; return(View(nE_Usuario)); }
public ActionResult Index(LoginModel model) { NE_Autenticacion userAuth = new NE_Autenticacion(); NE_Usuario user = new NE_Usuario(); string pass; String Message = String.Empty; if (db.NE_Usuario.Any(x => x.CorreoElectronico == model.Email && x.Activo)) { user = db.NE_Usuario.Where(x => x.CorreoElectronico == model.Email).First(); pass = Security.Security.Encrypt(model.Password); if (!db.NE_Autenticacion.Any(x => x.UsuarioId == user.UsuarioId && x.Contrasena == pass)) { userAuth = db.NE_Autenticacion.Where(x => x.UsuarioId == user.UsuarioId).First(); userAuth.Intentos = userAuth.Intentos + 1; if (userAuth.Intentos >= 5) { userAuth.CuentaBloqueada = true; db.SaveChanges(); ViewBag.Message = Recursos.CuentBloq; return(View(model)); } db.SaveChanges(); ViewBag.Message = Recursos.IncorrectPass; return(View(model)); } else { userAuth = db.NE_Autenticacion.Where(x => x.UsuarioId == user.UsuarioId).First(); if (userAuth.CuentaBloqueada) { ViewBag.Message = Recursos.CuentBloq; return(RedirectToAction("Index", "Home")); } else { user = db.NE_Usuario.Where(x => x.CorreoElectronico == model.Email).First(); userAuth = db.NE_Autenticacion.Where(x => x.UsuarioId == user.UsuarioId).First(); userAuth.Intentos = 0; userAuth.UltimoInicioSesion = DateTime.Now; Settings.LoggedUser = user; db.SaveChanges(); ViewBag.Message = "Bienvenido" + Settings.LoggedUser.Nombre; NE_Bitacora bitacora = new NE_Bitacora() { AccionId = ACCION.INICIO_DE_SESION, Descripcion = "el usuario : " + user.CorreoElectronico + " ha iniciado sesion", FechaDeRegistro = DateTime.Now, UsuarioId = user.UsuarioId, }; db.NE_Bitacora.Add(bitacora); db.SaveChanges(); if (user.RolId == 4) { return(RedirectToAction("Index", "Principal")); } if (user.RolId == 1) { return(RedirectToAction("Index", "Vehiculo")); } return(RedirectToAction("Index", "Home")); } } } else { ViewBag.Message = Recursos.ErrorEmail; return(View(model)); } }