From 4b934844387b82e89899ec422fd2bf914d69ae1e Mon Sep 17 00:00:00 2001 From: j0rgejuni0r Date: Mon, 30 Sep 2024 16:59:42 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20adi=C3=A7=C3=A3o=20das=20funcionalidade?= =?UTF-8?q?s=20do=20desafio?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Models/Reserva.cs | 17 +++++++---------- Program.cs | 4 ++-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Models/Reserva.cs b/Models/Reserva.cs index d5b17c82..e98f0df8 100644 --- a/Models/Reserva.cs +++ b/Models/Reserva.cs @@ -16,15 +16,14 @@ public Reserva(int diasReservados) public void CadastrarHospedes(List hospedes) { // TODO: Verificar se a capacidade é maior ou igual ao número de hóspedes sendo recebido - // *IMPLEMENTE AQUI* - if (true) + if (Suite.Capacidade >= hospedes.Count()) { Hospedes = hospedes; } else { // TODO: Retornar uma exception caso a capacidade seja menor que o número de hóspedes recebido - // *IMPLEMENTE AQUI* + throw new Exception("Numero de hospedes maior que a capacidade da Suite"); } } @@ -36,22 +35,20 @@ public void CadastrarSuite(Suite suite) public int ObterQuantidadeHospedes() { // TODO: Retorna a quantidade de hóspedes (propriedade Hospedes) - // *IMPLEMENTE AQUI* - return 0; + var quantidadeHospedes = Hospedes.Count(); + return quantidadeHospedes; } public decimal CalcularValorDiaria() { // TODO: Retorna o valor da diária // Cálculo: DiasReservados X Suite.ValorDiaria - // *IMPLEMENTE AQUI* - decimal valor = 0; + decimal valor = DiasReservados * Suite.ValorDiaria; // Regra: Caso os dias reservados forem maior ou igual a 10, conceder um desconto de 10% - // *IMPLEMENTE AQUI* - if (true) + if (DiasReservados >= 10) { - valor = 0; + valor -= valor * 0.1M; } return valor; diff --git a/Program.cs b/Program.cs index c53e89b9..84151d58 100644 --- a/Program.cs +++ b/Program.cs @@ -13,10 +13,10 @@ hospedes.Add(p2); // Cria a suíte -Suite suite = new Suite(tipoSuite: "Premium", capacidade: 2, valorDiaria: 30); +Suite suite = new Suite(tipoSuite: "Premium", capacidade: 1, valorDiaria: 30); // Cria uma nova reserva, passando a suíte e os hóspedes -Reserva reserva = new Reserva(diasReservados: 5); +Reserva reserva = new Reserva(diasReservados: 10); reserva.CadastrarSuite(suite); reserva.CadastrarHospedes(hospedes);