public ActionResult Index(int?hospitalId, bool fromDashboard = false, string param = null) { if (param != null) { if (param.CompareTo("Success") == 0) { ViewBag.success = true; } else { ViewBag.success = false; ViewBag.problem = param; }; } if (hospitalId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } using (SIAH.Context.SIAHContext db = new Context.SIAHContext()) { ViewBag.fromDashboard = fromDashboard; ViewBag.hospital = db.Hospitales.Find(hospitalId).nombre; return(View(db.StockFarmacias.Where(s => s.hospitalId == hospitalId).Include(u => u.hospital).Include(p => p.insumo).ToList())); } }
public ActionResult Login(UserAccount user) { using (Context.SIAHContext db = new Context.SIAHContext()) { //var usr = db.UserAccounts.Where(u => u.email == user.email && u.password == user.password).Include(p => p.rol).Include(h => h.hospital).FirstOrDefault(); var usr = db.UserAccounts.Where(u => u.email == user.email && u.active).Include(p => p.rol).Include(h => h.hospital).FirstOrDefault(); if (usr != null) { String hash = usr.password; if (Hashing.ValidatePassword(user.password, hash)) { Session["userid"] = usr.id.ToString(); Session["email"] = usr.email.ToString(); Session["nombre"] = usr.nombre.ToString(); Session["apellido"] = usr.apellido.ToString(); Session["rol"] = usr.rol.nombre.ToString(); if (usr.hospitalID != null) { Session["hospitalId"] = usr.hospitalID.ToString(); Session["hospital"] = usr.hospital.nombre.ToString(); } //Intento de redirigir el login pero no funciona switch (usr.rol.nombre.ToString()) { case "RespFarmacia": return(RedirectToAction("../Home/RespFarmaciaDashboard")); case "RespAutorizacion": return(RedirectToAction("../Home/RespAutorizacion")); case "DirectorArea": return(RedirectToAction("../Home/DirectorArea")); case "Compras": return(RedirectToAction("../Compras")); default: return(RedirectToAction("LoggedIn")); } } else { TempData["PassMessage"] = "Contraseña incorrecta"; return(RedirectToAction("Index", "Home")); } } else { //ModelState.AddModelError("", "Usuario y/o contraseña incorrecto"); TempData["UserMessage"] = "Usuario incorrecto"; return(RedirectToAction("Index", "Home")); } } }
public ActionResult Register([Bind(Include = "nombre, apellido, email, rolID, password, confirmPassword, hospitalID")] UserAccount account) { ViewBag.HospitalRequired = ""; if (ModelState.IsValid) { if (string.Compare(db.Roles.Find(account.rolID.Value).nombre, "RespFarmacia") == 0 && account.hospitalID == null) { ViewBag.HospitalRequired = "El hospital es obligatorio para los responsables de farmacia"; } else { var usr = db.UserAccounts.Where(u => u.email == account.email && u.active).FirstOrDefault(); if (usr != null) { return(RedirectToAction("Index", new { param = "Existe un usuario activo con esa dirección de correo" })); } String hash = Hashing.HashPassword(account.password); account.password = hash; account.confirmPassword = hash; account.active = true; using (SIAH.Context.SIAHContext db = new Context.SIAHContext()) { db.UserAccounts.Add(account); try { if (db.SaveChanges() > 0) { return(RedirectToAction("Index", new { param = "Success" })); } } catch (Exception e) { return(RedirectToAction("Index", new { param = e.Message })); } } ModelState.Clear(); } } ViewBag.rolID = new SelectList(db.Roles, "id", "nombre"); ViewBag.hospitalID = new SelectList(db.Hospitales, "id", "nombre"); return(View()); }
public ActionResult Profile([Bind(Include = "nombre, apellido, email, rolID, password, confirmPassword, hospitalID")] UserAccount account) { string emailAPisar = account.email; string emailABuscar = Session["email"].ToString(); account = db.UserAccounts.Where(user => user.email == emailABuscar).First(); account.email = emailAPisar; ViewBag.HospitalRequired = ""; if (string.Compare(db.Roles.Find(account.rolID.Value).nombre, "RespFarmacia") == 0 && account.hospitalID == null) { ViewBag.HospitalRequired = "El hospital es obligatorio para los responsables de farmacia"; } else { using (SIAH.Context.SIAHContext db = new Context.SIAHContext()) { try { db.Entry(account).State = EntityState.Modified; if (db.SaveChanges() > 0) { Session.Clear(); return(RedirectToAction("Index", "Home", new { param = "Success" })); } } catch (Exception e) { return(RedirectToAction("Index", new { param = e.Message })); } } ModelState.Clear(); } UserAccount userProfile = db.UserAccounts.Where(user => user.email == emailABuscar).First(); ViewBag.rolID = new SelectList(db.Roles.OrderBy(x => x.nombre), "id", "nombre"); ViewBag.hospitalID = new SelectList(db.Hospitales.OrderBy(x => x.nombre), "id", "nombre"); return(View(userProfile)); }