Beispiel #1
0
 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()));
     }
 }
Beispiel #2
0
        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"));
                }
            }
        }
Beispiel #3
0
 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());
 }
Beispiel #4
0
        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));
        }