public async Task <IActionResult> Edit(int id, [Bind("HabitacionId,Numero,Piso,EstadoHabitacionId,TipoHabitacionId")] Habitacion habitacion)
        {
            if (id != habitacion.HabitacionId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(habitacion);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!HabitacionExists(habitacion.HabitacionId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                alert("success", "Habitacion editada con exito", "Operacion exitosa");
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EstadoHabitacion"] = new SelectList(_context.EstadoHabitacion, "EstadoHabitacionId", "EstadoNombre", habitacion.EstadoHabitacionId);
            ViewData["TipoHabitacionId"] = new SelectList(_context.TipoHabitacion, "TipoHabitacionId", "TipoHabitacionId", habitacion.TipoHabitacionId);
            return(View(habitacion));
        }
Example #2
0
        public async Task <IActionResult> Edit(int id, [Bind("EmpleadoId,Nombres,Apellidos,Direccion,Telefono,Correo,Sexo,UsuarioNombre")] Empleado empleado)
        {
            if (id != empleado.EmpleadoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(empleado);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EmpleadoExists(empleado.EmpleadoId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                alert("success", "Empleado editado con exito", "Operacion exitosa");
                return(RedirectToAction(nameof(Index)));
            }
            return(View(empleado));
        }
        public async Task <IActionResult> Edit(int id, [Bind("EmpleadoId,Nombres,Apellidos,Direccion,Telefono,Correo,Sexo,UsuarioNombre")] Empleado empleado, [Bind("UsuarioNombre,Password,RolId")] Usuario usuario)
        {
            if (id != empleado.EmpleadoId)
            {
                return(NotFound());
            }

            if (usuario.UsuarioNombre == null)
            {
                return(NotFound());
            }

            /*if (ModelState.IsValid)
             * {*/
            try
            {
                _context.Update(usuario);
                empleado.UsuarioNombre = usuario.UsuarioNombre;
                _context.Update(empleado);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmpleadoExists(empleado.EmpleadoId))
                {
                    return(NotFound());
                }
                else if (!UsuarioExists(usuario.UsuarioNombre))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            return(RedirectToAction(nameof(Index)));

            /*}
             * ViewData["Rol"] = new SelectList(_context.Rol, "RolId", "Nombre", usuario.RolId);
             * return View(empleado);*/
        }
        public async Task <ActionResult> CheckMantenimientoRealizado([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            HoteleriaContext _context2 = new HoteleriaContext();
            var habitacion             = await _context.Habitacion.FindAsync(id);

            var incidencia = _context.Incidencia.Where(i => i.Habitacion == habitacion.Numero).Last();

            if (habitacion == null)
            {
                return(NotFound());
            }
            if (incidencia == null)
            {
                return(BadRequest(new ErrorResponse()
                {
                    messages = new string[] { "HABITACION.MISSING_ISSUE" }
                }));
            }
            var asignEmpleado = _asignacionesRepository.EmpleadoAsignadoPorRol(habitacion.HabitacionId, (int)RolEnum.AgenteDeLimpieza);

            if (asignEmpleado == null)
            {
                return(BadRequest(new ErrorResponse()
                {
                    messages = new string[] { "HABITACION.MISSING_CLEANER" }
                }));
            }
            if (habitacion.EstadoHabitacionId != (int)HabitacionEstado.Bloqueado)
            {
                return(BadRequest(new ErrorResponse()
                {
                    messages = new string[] { "HABITACION.ERROR_ON_CHECK_UPKEEP" }
                }));
            }
            habitacion.EstadoHabitacionId = (int)HabitacionEstado.Desocupado;
            _habitacionRepository.Edit(habitacion);
            incidencia.Estado       = 1;
            incidencia.FechaCerrado = DateTime.Now;
            _context.Update(incidencia);
            var empleadoid = _context2.Empleado.Where(e => e.UsuarioNombre == _userManager.GetUserName(User)).First().EmpleadoId;
            var asignacion = _context2.AsignacionHabitacion.Where(a => a.EmpleadoId == empleadoid && a.HabitacionId == habitacion.HabitacionId).First();

            _context2.Remove(asignacion);
            _habitacionRepository.SaveChanges();
            _context.SaveChanges();
            _context2.SaveChanges();
            new NotificacionService().Notificar(asignEmpleado.Empleado, habitacion, ActividadTipo.Limpieza);
            return(Ok(habitacion));
        }
        public async Task <IActionResult> Create([Bind("IncidenciaID,EmpleadoId,Habitacion,Prioridad,Descripcion,Encargado,Estado,FechaAbierto,FechaCerrado")] Incidencia incidencia)
        {
            if (ModelState.IsValid)
            {
                var empleado = await _context.Empleado.FirstOrDefaultAsync(e => e.UsuarioNombre == _userManager.GetUserName(User));

                incidencia.EmpleadoId   = empleado.EmpleadoId;
                incidencia.FechaAbierto = DateTime.Now;
                incidencia.Estado       = 0;
                _context.Add(incidencia);
                var habitacion = _context.Habitacion.Where(a => a.Numero == incidencia.Habitacion).FirstOrDefault();
                habitacion.EstadoHabitacionId = 7;
                _context.Update(habitacion);
                await _context.SaveChangesAsync();

                alert("success", "Incidencia creada con éxito", "Operación exitosa");
                if (User.IsInRole("Supervisor"))
                {
                    return(RedirectToAction("index", "supervision"));
                }
                if (User.IsInRole("Administrador"))
                {
                    return(RedirectToAction("index"));
                }
            }
            ViewData["Habitaciones"] = new SelectList(_context.Habitacion.Where(h => h.EstadoHabitacionId != 7), "Numero", "Numero");
            List <string> prioridad = new List <string>
            {
                "Alta",
                "Media",
                "Baja"
            };

            ViewData["Prioridad"] = new SelectList(prioridad);
            return(View(incidencia));
        }
        public async Task <IActionResult> Edit(int id, [Bind("ObjetoPerdidoId,EmpleadoId,Nombre,Descripcion,Habitacion,Fecha,Estado")] ObjetoPerdido objetoPerdido)
        {
            if (id != objetoPerdido.ObjetoPerdidoId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(objetoPerdido);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!ObjetoPerdidoExists(objetoPerdido.ObjetoPerdidoId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                alert("success", "Detalles del objeto perdido editado con exito", "Operacion exitosa");
                return(RedirectToAction(nameof(Index)));
            }
            var estados = new SelectList(
                new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "1", Value = "Devuelto"
                },
                new SelectListItem {
                    Text = "0", Value = "Pendiente"
                }
            }, "Value", "Text");

            ViewData["Estado"] = new SelectList(estados, estados.DataTextField, estados.DataValueField);
            return(View(objetoPerdido));
        }
        public async Task <IActionResult> Edit(int id, [Bind("AsignacionHabitacionId,EmpleadoId,HabitacionId,RolId,Fecha")] AsignacionHabitacion asignacionHabitacion)
        {
            if (id != asignacionHabitacion.AsignacionHabitacionId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(asignacionHabitacion);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!AsignacionHabitacionExists(asignacionHabitacion.AsignacionHabitacionId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                alert("success", "Asignacion editada con exito", "Operacion exitosa");
                return(RedirectToAction(nameof(Index)));
            }
            SqlParameter[] parametros = new SqlParameter[]
            {
                new SqlParameter("@IdRol", (int)RolEnum.AgenteDeLimpieza)
            };
            var result = _context.Empleado.FromSql("EmpleadosPorRol @IdRol", parametros)
                         .Select(x => new { Texto = x.Nombres + " " + x.Apellidos, x.EmpleadoId });

            ViewData["EmpleadoId"]   = new SelectList(result, "EmpleadoId", "Texto", asignacionHabitacion.EmpleadoId);
            ViewData["HabitacionId"] = new SelectList(_context.Habitacion.Where(x => x.HabitacionId == asignacionHabitacion.HabitacionId), "HabitacionId", "Numero", asignacionHabitacion.HabitacionId);
            return(View(asignacionHabitacion));
        }
        public async Task <IActionResult> Edit(int id, [Bind("ActividadId,TipoActividadId,Descripcion,Estado")] Actividad actividad)
        {
            if (id != actividad.ActividadId)
            {
                return(NotFound());
            }

            /*if (ModelState.IsValid)
             * {*/
            try
            {
                _context.Update(actividad);
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ActividadExists(actividad.ActividadId))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            alert("success", "Actividad editada con exito", "Operacion exitosa");
            return(RedirectToAction(nameof(Index)));

            /*}
             * ViewData["TipoActividad"] = new SelectList(_context.TipoActividad, "TipoActividadId", "Nombre", actividad.TipoActividadId);
             * var estados = new SelectList(
             *  new List<SelectListItem>
             *  {
             *      new SelectListItem {Text = "1", Value = "Activo"},
             *      new SelectListItem {Text = "0", Value = "Inactivo"}
             *  }, "Value", "Text");
             * ViewData["Estado"] = new SelectList(estados, estados.DataTextField, estados.DataValueField);
             * return View(actividad);*/
        }
        public async Task <IActionResult> Edit(int id, [Bind("IncidenciaID,EmpleadoId,Habitacion,Prioridad,Descripcion,Encargado,Estado,FechaAbierto,FechaCerrado")] Incidencia incidencia)
        {
            if (id != incidencia.IncidenciaID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    HoteleriaContext _context2 = new HoteleriaContext();
                    HoteleriaContext _context3 = new HoteleriaContext();
                    Incidencia       inc       = _context2.Incidencia.Find(incidencia.IncidenciaID);

                    if (incidencia.Encargado != null && incidencia.Estado == 0)
                    {
                        Empleado             emp = _context2.Empleado.Where(e => e.UsuarioNombre == incidencia.Encargado).First();
                        Habitacion           hab = _context2.Habitacion.Where(h => h.Numero == incidencia.Habitacion).First();
                        AsignacionHabitacion asignacionHabitacion = new AsignacionHabitacion
                        {
                            EmpleadoId   = emp.EmpleadoId,
                            HabitacionId = hab.HabitacionId,
                            RolId        = 4
                        };
                        if (inc.Encargado == null)
                        {
                            _context2.Add(asignacionHabitacion);
                        }
                        else
                        {
                            _context2.Update(asignacionHabitacion);
                        }
                        new NotificacionService().Notificar(emp, hab, ActividadTipo.Mantenimiento);
                    }
                    if (incidencia.Estado == 0)
                    {
                        incidencia.FechaCerrado = null;
                        var habitacion = _context3.Habitacion.Where(a => a.Numero == incidencia.Habitacion).First();
                        if (habitacion.EstadoHabitacionId != 7)
                        {
                            habitacion.EstadoHabitacionId = 7;
                            _context3.Update(habitacion);
                        }
                    }
                    else if (incidencia.Estado == 1)
                    {
                        incidencia.FechaCerrado = DateTime.Now;
                        var habitacion = _context3.Habitacion.Where(a => a.Numero == incidencia.Habitacion).First();
                        var limpiezaid = _context3.AsignacionHabitacion.Where(a => a.HabitacionId == habitacion.HabitacionId && a.RolId == 3).First().EmpleadoId;
                        var emplimp    = _context3.Empleado.Find(limpiezaid);
                        habitacion.EstadoHabitacionId = 3;
                        _context3.Update(habitacion);
                        new NotificacionService().Notificar(emplimp, habitacion, ActividadTipo.Limpieza);
                        var emp = _context2.Empleado.Where(e => e.UsuarioNombre == incidencia.Encargado).First();
                        var asignacionHabitacion = _context2.AsignacionHabitacion.Where(a => a.EmpleadoId == emp.EmpleadoId && a.HabitacionId == habitacion.HabitacionId).First();
                        _context2.Remove(asignacionHabitacion);
                    }
                    _context.Update(incidencia);
                    await _context.SaveChangesAsync();

                    await _context2.SaveChangesAsync();

                    await _context3.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!IncidenciaExists(incidencia.IncidenciaID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                alert("success", "Incidencia editada con exito", "Operacion exitosa");
                return(RedirectToAction(nameof(Index)));
            }
            var estados = new SelectList(
                new List <SelectListItem>
            {
                new SelectListItem {
                    Text = "1", Value = "Resuelto"
                },
                new SelectListItem {
                    Text = "0", Value = "Pendiente"
                }
            }, "Value", "Text");

            ViewData["Estado"] = new SelectList(estados, estados.DataTextField, estados.DataValueField);
            var encargados = _userManager.GetUsersInRoleAsync("Mantenimiento").Result;

            ViewData["Encargado"] = new SelectList(encargados);
            List <string> prioridad = new List <string>
            {
                "Alta",
                "Media",
                "Baja"
            };

            ViewData["Prioridad"] = new SelectList(prioridad);
            return(View(incidencia));
        }