public static DetalheDoVeiculo Novo(string placa, int kilometragem, TipoDoCambio cambio, TipoDaCarroceria carroceria, Cor cor, TipoDeCombustivel combustivel, int portas, decimal preco) { return(new DetalheDoVeiculo(placa, kilometragem, cambio, carroceria, cor, combustivel, portas, preco)); }
private DetalheDoVeiculo(string placa, int kilometragem, TipoDoCambio cambio, TipoDaCarroceria carroceria, Cor cor, TipoDeCombustivel combustivel, int portas, decimal preco) { if (string.IsNullOrWhiteSpace(placa)) { throw new InvalidOperationException("O Final da Placa não pode ser menor que '0'"); } if (kilometragem < 0) { throw new InvalidOperationException("A Kilometragem não pode ser menor que '0'"); } if (portas < 2 || portas > 4) { throw new InvalidOperationException("A quantidade de portas está inválida"); } if (preco <= 0) { throw new InvalidOperationException("O preço deve ser maior que '0'"); } Placa = placa; Kilometragem = kilometragem; Cambio = cambio; Carroceria = carroceria; Cor = cor; Combustivel = combustivel; Preco = preco; Portas = portas; }