Exemplo n.º 1
0
        public int EliminarHotel(int id)
        {
            if (!_listahoteles.Any(o => o.Id == id))
            {
                throw new ReservasException("No existe el hotel");
            }
            List <Habitacion> listaHabitaciones = _listaHabitaciones.Where(x => x.Id == id).ToList();

            foreach (Habitacion a in listaHabitaciones)
            {
                if (_listaReservas.Any(o => o.IdHabitacion == a.Id))
                {
                    throw new ReservasException("Hotel con reservas. Debe eliminarlas.");
                }
            }
            if (listaHabitaciones.Count > 0)
            {
                throw new ReservasException("Hotel con habitaciones. Debe eliminarlas.");
            }
            TransactionResult resultado = HotelMapper.Delete(id);

            if (resultado.IsOk)
            {
                HotelesCache();
                return(resultado.Id);
            }
            else
            {
                throw new ReservasException(resultado.Error);
            }
        }