예제 #1
0
 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));
 }
예제 #2
0
        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;
        }