public async Task <IActionResult> Create([Bind("Id,Nombre,Apellido,Dni,NroHabitacion,FechaIngreso,FechaEgreso")] Huespedes huespedes)
        {
            double dif = CalcularDiasHospedado(huespedes.FechaEgreso, huespedes.FechaIngreso);

            if (ModelState.IsValid && HabitacionDisponible(huespedes.NroHabitacion) && StringValidado(huespedes.Nombre) && StringValidado(huespedes.Apellido) && dif >= 0)
            {
                huespedes.DiasHospedado = dif;
                _context.Add(huespedes);
                _context.Registro.Add(CrearRegistro(huespedes.Nombre, huespedes.Apellido, huespedes.Dni, huespedes.NroHabitacion, huespedes.FechaIngreso, huespedes.FechaEgreso, dif));
                MarcarHabitacionOcupada(huespedes.NroHabitacion);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            else if (!HabitacionDisponible(huespedes.NroHabitacion))
            {
                ViewBag.Validacion = "alert('Habitacion inexistente o llena');";
                return(View(huespedes));
            }

            else if (!StringValidado(huespedes.Nombre) || !StringValidado(huespedes.Apellido))
            {
                ViewBag.Validacion = "alert('El nombre o apellido excede 20 caracteres');";
                return(View(huespedes));
            }

            else if (dif < 0)
            {
                ViewBag.Validacion = "alert('La fecha de ingreso no puede ser mayor a la de salida');";
                return(View(huespedes));
            }

            return(View(huespedes));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> Create([Bind("Id,NroHabitacion,PrecioPorDia,CapacidadMax")] Habitaciones habitaciones)
        {
            if (ModelState.IsValid && !HabitacionExists(habitaciones.NroHabitacion) && PrecioValido(habitaciones.PrecioPorDia) && CapacidadValida(habitaciones.CapacidadMax))
            {
                habitaciones.EstaOcupada = false;
                _context.Add(habitaciones);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            else if (HabitacionExists(habitaciones.NroHabitacion))
            {
                ViewBag.habitacionExiste = "alert('No se puede crear: La habitacion ya existe');";
                return(View(habitaciones));
            }
            else if (!PrecioValido(habitaciones.PrecioPorDia))
            {
                ViewBag.habitacionExiste = "alert('Precio por dia invalido');";
                return(View(habitaciones));
            }

            else
            {
                ViewBag.habitacionExiste = "alert('Capacidad max. invalida');";
                return(View(habitaciones));
            }
        }
        public async Task <IActionResult> Create([Bind("Id,Nombre,Apellido,Dni,NroHabitacion,FechaIngreso,FechaEgreso,DiasHospedado,IdActivo")] Registro registro)
        {
            if (ModelState.IsValid)
            {
                _context.Add(registro);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(registro));
        }