Program.cs
using Hotel;
Hospede hospede = new Hospede("Juliana Moura");
Quarto quarto = new Quarto(101);
quarto.ValorDiaria = 250;
Reserva reserva = new Reserva(3, hospede, quarto);
Console.WriteLine($"Reserva para: {reserva.Hospede.Nome}");
Console.WriteLine($"Quarto: {reserva.Quarto.Numero}");
Console.WriteLine($"Valor Total: {reserva.ValorTotal}");
Hospede.cs
namespace Hotel;
internal class Hospede
{
public Hospede(string nome)
{
this.Nome = nome;
}
public string Nome { get; set; }
}
Quarto.cs
namespace Hotel;
internal class Quarto
{
public int Numero { get; }
private double valorDiaria;
public Quarto(int numero)
{
this.Numero = numero;
}
public double ValorDiaria
{
get
{
return valorDiaria;
}
set
{
if (value > 0)
{
valorDiaria = value;
}
else
{
Console.WriteLine("Erro: O valor da diária deve ser maior que zero.");
}
}
}
}
Reserva.cs
namespace Hotel;
internal class Reserva
{
private int diarias;
public Reserva(int diarias, Hospede hospede, Quarto quarto)
{
if (diarias <= 0)
{
throw new ArgumentException("As diárias devem ser maiores que zero.");
}
this.diarias = diarias;
Hospede = hospede;
Quarto = quarto;
}
public Hospede Hospede { get; }
public Quarto Quarto { get; }
public double ValorTotal
{
get
{
return diarias * Quarto.ValorDiaria;
}
}
}