public ActionResult Create(IngresoResidente ingresoResidente)
        {
            if (System.Web.HttpContext.Current.Session["User"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                ingresoResidente = corregirNulos(ingresoResidente);
                string usuario = System.Web.HttpContext.Current.Session["User"].ToString();
                ingresoResidente.FechaOperacion = DateTime.Now;
                ingresoResidente.Usuario        = usuario;
                try
                {
                    db.IngresoResidentes.Add(ingresoResidente);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }catch (Exception ex) { }
                _ComunDAL = (IComunDAL)(new ComunDAL());
                var listPacientes = _ComunDAL.listarPacientesSinIngresar();
                ViewBag.PacienteId = new SelectList(listPacientes.OrderBy(X => X.Nombre), "Id", "Nombre", ingresoResidente.PacienteId);

                ViewBag.SedeId          = new SelectList(db.Sedes, "SedeId", "Nombre", ingresoResidente.SedeId);
                ViewBag.TipoSustanciaId = new SelectList(db.TipoSustancias, "TipoSustanciaId", "Descripcion", ingresoResidente.TipoSustanciaId);
                ViewBag.TipoAdiccionId  = new SelectList(db.TipoAdiccions, "TipoAdiccionId", "Descripcion", ingresoResidente.TipoAdiccionId);
                return(View(ingresoResidente));
            }
        }
        // GET: Locker
        public ActionResult AsignarCama(int IngresoId, int SedeId, int EdificioId, int PisoId)
        {
            ViewBag.IngresoId = IngresoId;
            IngresoResidente ingresoResidente = db.IngresoResidentes.Where(x => x.IngresoResidenteId == IngresoId).FirstOrDefault();

            _ComunDAL = (IComunDAL)(new ComunDAL());
            Paciente paciente = _ComunDAL.obtenerPaciente(ingresoResidente.PacienteId);
            Sede     sede     = db.Sedes.Where(x => x.SedeId == ingresoResidente.SedeId).FirstOrDefault();

            ViewData["Paciente"]       = paciente.Nombre;
            ViewData["Sede"]           = sede.Nombre;
            ViewData["Identificacion"] = paciente.Identificacion;
            ViewData["FechaIngreso"]   = ingresoResidente.FechaIngreso.ToString().Substring(0, 10);
            ViewData["TipoAdiccion"]   = ingresoResidente.TipoAdiccion.Descripcion;
            ViewBag.SedeId             = new SelectList(db.Sedes, "SedeId", "Nombre");
            var camas = db.Camas.Include(l => l.Habitacion);

            if (PisoId > 0)
            {
                camas = camas.Where(x => x.Habitacion.PisoId == PisoId);
            }
            else if (EdificioId > 0)
            {
                camas = camas.Where(x => x.Habitacion.Piso.EdificioId == EdificioId);
            }
            else if (SedeId > 0)
            {
                camas = camas.Where(x => x.Habitacion.Piso.Edificio.SedeId == SedeId);
            }

            return(View(camas.ToList()));
        }
        public ActionResult Edit(IngresoResidente ingresoResidente)
        {
            if (System.Web.HttpContext.Current.Session["User"] == null)
            {
                return(RedirectToAction("Login", "Account"));
            }

            ingresoResidente = corregirNulos(ingresoResidente);
            string usuario = System.Web.HttpContext.Current.Session["User"].ToString();

            ingresoResidente.FechaOperacion = DateTime.Now;
            ingresoResidente.Usuario        = usuario;

            db.Entry(ingresoResidente).State = EntityState.Modified;
            db.SaveChanges();
            //var ingresoResidentes = db.IngresoResidentes.Include(i => i.Sede).Include(i => i.TipoSustancia).Include(i => i.TipoAdiccion);
            //    _ControlResidentesDAL = (IControlResidentesDAL)(new ControlResidentesDAL());
            //  var ingresoResidentes = _ControlResidentesDAL.ListarIngresoResidentes();
            return(RedirectToAction("Index"));

            _ComunDAL = (IComunDAL)(new ComunDAL());
            var listPacientes = _ComunDAL.listarPacientesSinIngresar();

            ViewBag.PacienteId = new SelectList(listPacientes.OrderBy(X => X.Nombre), "Id", "Nombre", ingresoResidente.PacienteId);

            ViewBag.SedeId          = new SelectList(db.Sedes, "SedeId", "Nombre", ingresoResidente.SedeId);
            ViewBag.TipoSustanciaId = new SelectList(db.TipoSustancias, "TipoSustanciaId", "Descripcion", ingresoResidente.TipoSustanciaId);
            ViewBag.TipoAdiccionId  = new SelectList(db.TipoAdiccions, "TipoAdiccionId", "Descripcion", ingresoResidente.TipoAdiccionId);
            return(View(ingresoResidente));
        }
        // GET: IngresoResidente/Create
        public ActionResult Create()
        {
            _ComunDAL = (IComunDAL)(new ComunDAL());
            var listPacientes = _ComunDAL.listarPacientesSinIngresar();

            ViewBag.PacienteId      = new SelectList(listPacientes.OrderBy(X => X.Nombre), "Id", "Nombre");
            ViewBag.SedeId          = new SelectList(db.Sedes, "SedeId", "Nombre");
            ViewBag.TipoSustanciaId = new SelectList(db.TipoSustancias, "TipoSustanciaId", "Descripcion");
            ViewBag.TipoAdiccionId  = new SelectList(db.TipoAdiccions, "TipoAdiccionId", "Descripcion");
            return(View());
        }
        // GET: Locker
        public ActionResult AsignarLocker(int IngresoId)
        {
            ViewBag.IngresoId = IngresoId;
            IngresoResidente ingresoResidente = db.IngresoResidentes.Where(x => x.IngresoResidenteId == IngresoId).FirstOrDefault();

            _ComunDAL = (IComunDAL)(new ComunDAL());
            Paciente paciente = _ComunDAL.obtenerPaciente(ingresoResidente.PacienteId);
            Sede     sede     = db.Sedes.Where(x => x.SedeId == ingresoResidente.SedeId).FirstOrDefault();

            ViewData["Paciente"]       = paciente.Nombre;
            ViewData["Sede"]           = sede.Nombre;
            ViewData["Identificacion"] = paciente.Identificacion;
            ViewData["FechaIngreso"]   = ingresoResidente.FechaIngreso.ToString().Substring(0, 10);
            ViewData["TipoAdiccion"]   = ingresoResidente.TipoAdiccion.Descripcion;
            var lockers = db.Lockers.Include(l => l.Sede);

            return(View(lockers.ToList()));
        }
        // GET: IngresoResidente/Edit/5
        public ActionResult Edit(long?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            IngresoResidente ingresoResidente = db.IngresoResidentes.Find(id);

            if (ingresoResidente == null)
            {
                return(HttpNotFound());
            }


            _ComunDAL = (IComunDAL)(new ComunDAL());
            var listPacientes = _ComunDAL.listarPacientesSinIngresar();

            ViewBag.PacienteId = new SelectList(listPacientes.OrderBy(X => X.Nombre), "Id", "Nombre", ingresoResidente.PacienteId);

            ViewBag.SedeId          = new SelectList(db.Sedes, "SedeId", "Nombre", ingresoResidente.SedeId);
            ViewBag.TipoSustanciaId = new SelectList(db.TipoSustancias, "TipoSustanciaId", "Descripcion", ingresoResidente.TipoSustanciaId);
            ViewBag.TipoAdiccionId  = new SelectList(db.TipoAdiccions, "TipoAdiccionId", "Descripcion", ingresoResidente.TipoAdiccionId);
            return(View(ingresoResidente));
        }