public ICalculoPreco CrieMaquinaDeCalculoPreco(Veiculo veiculo, EnumTipoDeCalculo enumTipoCalculo) { switch (enumTipoCalculo) { case EnumTipoDeCalculo.Carro: return(new CalculoPrecoCarro(veiculo)); case EnumTipoDeCalculo.Moto: return(new CalculoPrecoMoto(veiculo)); case EnumTipoDeCalculo.Camionete: return(new CalculoPrecoCamionete(veiculo)); default: throw new ArgumentException("Por favor, prestar atenção no calculo"); } }
public IEnumerable <IGrouping <string, ValorCalculado> > SelecPorPlaca(EnumTipoDeCalculo enumTipoDeCalculo) { var GrupoPorTipoOrdenadoPorPlaca = ValoresCalculados.OrderBy(x => x.veiculo.Placa); return(GrupoPorTipoOrdenadoPorPlaca.GroupBy(x => x.veiculo.GetType().Name)); }