/// <summary> /// Constrói uma nova Habitação. /// </summary> /// <param name="quartos">Lista de quartos</param> /// <param name="numeroDeAssoalhadas">Número de assoalhadas</param> /// <param name="numeroDeWcs">Número de wc's</param> /// <param name="metrosQuadrados">Metros quadrados</param> /// <param name="anoDeConstrucao">Ano de construção</param> /// <param name="morada">Morada</param> /// <param name="comodidades">Comodidades (Televisão, Internet, Serviço de Limpeza)</param> public Habitacao(IEnumerable <IQuarto> quartos, int numeroDeAssoalhadas, int numeroDeWcs, float metrosQuadrados, int anoDeConstrucao, Morada morada, Comodidades comodidades = default(Comodidades)) { /*if (numeroDeAssoalhadas < quartos.Count()) * { * throw new ArgumentException(); * }*/ Quartos = quartos; NumeroDeAssoalhadas = numeroDeAssoalhadas; NumeroDeWcs = numeroDeWcs; MetrosQuadrados = metrosQuadrados; AnoDeConstrucao = anoDeConstrucao; Morada = morada; Comodidades = comodidades; }
/// <summary> /// Constrói uma nova Habitação. /// </summary> /// <param name="numeroDeQuartos">Número de quartos.</param> /// <param name="numeroDeAssoalhadas">Número de assoalhadas</param> /// <param name="numeroDeWcs">Número de wc's</param> /// <param name="metrosQuadrados">Metros quadrados</param> /// <param name="anoDeConstrucao">Ano de construção</param> /// <param name="morada">Morada</param> /// <param name="comodidades">Comodidades (Televisão, Internet, Serviço de Limpeza)</param> public Habitacao(string descricao, int numeroDeQuartos, int numeroDeAssoalhadas, int numeroDeWcs, float metrosQuadrados, int anoDeConstrucao, Morada morada, decimal custoMensal, bool incluiDespesas, Comodidades comodidades = default(Comodidades)) { /*if (numeroDeAssoalhadas < quartos.Count()) * { * throw new ArgumentException(); * }*/ var quartos = new List <IQuarto>(numeroDeQuartos); for (var _ = 0; _ < numeroDeQuartos; _++) { quartos.Add(new Quarto()); } Descricao = descricao; Quartos = quartos; NumeroDeAssoalhadas = numeroDeAssoalhadas; NumeroDeWcs = numeroDeWcs; MetrosQuadrados = metrosQuadrados; AnoDeConstrucao = anoDeConstrucao; Morada = morada; Comodidades = comodidades; IncluiDespesas = incluiDespesas; CustoMensal = custoMensal; }