public Reserva(decimal valor, int duracaoReservaEmDias, Pacote pacote, Festa festa, Usuario usuario, Cliente cliente, Opcional opcional) { DateTime hoje = DateTime.UtcNow; Id = 0; Valor = valor; DataLocacao = hoje; if (duracaoReservaEmDias > 0) { DataDevolucao_Prevista = hoje.AddDays(duracaoReservaEmDias); } else { DataDevolucao_Prevista = new DateTime(1000, 01, 01); } Pacote = pacote; Festa = festa; Usuario = usuario; Cliente = cliente; if (opcional != null) { bool reservado = opcional.ReservarOpcional(); if (reservado) { Opcional = opcional; } } Mensagens = new List <string>(); }
public bool Devolver() { if (DataDevolucao_Real == null) { DataDevolucao_Real = DateTime.UtcNow; if (DataDevolucao_Real > DataDevolucao_Prevista) { decimal multa = CalcularMulta(); Valor = Valor + multa; } if (Opcional != null) { Opcional.DevolverOpcional(); } return(true); } return(false); }