public ActionResult Registrar(RegistrarCliente r) { using (var db = new ServiciosClaroEntities()) { if (ModelState.IsValid) { db.Cuentas.Add(new Cuentas() { Usuario = r.Usuario, Clave = r.Clave }); db.SaveChanges(); var idcuenta = from c in db.Cuentas where c.Usuario == r.Usuario && c.Clave == r.Clave select c.Id; int id = int.MinValue; foreach (var item in idcuenta) { id = item; } db.Clientes.Add(new Clientes() { Nombre = r.Nombre, Direccion = r.Direccion, Telefono = r.Telefono, Email = r.Email, Cuenta = id }); db.RolCuentas.Add(new RolCuentas() { Cuenta = id, Rol = 3 }); db.SaveChanges(); FormsAuthentication.SetAuthCookie(r.Usuario, false); return(RedirectToAction("Index", "Home")); } } ModelState.AddModelError("", "Complete los campos correctamente"); return(View(r)); }
public ActionResult Login(Cuenta c, string returnUrl) { using (var db = new ServiciosClaroEntities()) { bool valido = db.Cuentas.Any(e => e.Usuario == c.Usuario && e.Clave == c.Clave); if (valido) { FormsAuthentication.SetAuthCookie(c.Usuario, false); var res = (from r in db.Roles join rc in db.RolCuentas on r.Id equals rc.Rol join cl in db.Cuentas on rc.Cuenta equals cl.Id where cl.Usuario == c.Usuario select r.RolName).ToArray(); switch (res[0]) { case "Admin": var ida = (from a in db.Empleados join u in db.Cuentas on a.Id equals u.Id where u.Usuario == c.Usuario select a); foreach (var item in ida) { Session["ID"] = item.Id; } if (string.IsNullOrEmpty(returnUrl)) { return(RedirectToAction("Index", "Empleados")); } else { return(Redirect(returnUrl)); } break; case "Empleado": var ide = (from e in db.Empleados join u in db.Cuentas on e.Cuenta equals u.Id where u.Usuario == c.Usuario select e); foreach (var item in ide) { Session["ID"] = item.Id; } return(RedirectToAction("Index", "Home")); break; case "Cliente": var idc = (from cl in db.Clientes join u in db.Cuentas on cl.Cuenta equals u.Id where u.Usuario == c.Usuario select cl); foreach (var item in idc) { Session["ID"] = item.Id; } if (string.IsNullOrEmpty(returnUrl)) { return(RedirectToAction("Index", "Home")); } else { return(Redirect(returnUrl)); } break; } } ModelState.AddModelError("", "Usuario o contraseña incorrecta!"); } return(View()); }