示例#1
0
        public async Task PopularVeiculosMarcaObtidosApiFipeAsync()
        {
            try
            {
                var marcas = await _marcaRepository.BuscarMarcasPorMesAnoReferenciaAsync(marca => marca.AnoReferencia == DateTime.Now.Year.ToString() &&
                                                                                         marca.MesReferencia == DateTime.Now.Month.ToString());

                var urlBaseApiFipe = await _parametroRepository.ObterValorParametroPorDescricaoAsync("BaseEndPointFipe");

                foreach (var marca in marcas)
                {
                    var descricaoTipoVeiculoMarca = await _marcaRepository.ObterDescricaoTipoVeiculoAsync(marca.IdTipoVeiculo);

                    string tipoVeiculo = ObterTipoVeiculo(descricaoTipoVeiculoMarca);
                    var    veiculos    = await _veiculoMarcaRequest.ObterVeiculosMarcaFipeApiAsync(urlBaseApiFipe, $"{tipoVeiculo}/veiculos/{marca.IdMarcaFipe}.json");

                    veiculos.ToList().ForEach(veiculo =>
                    {
                        veiculo.IdMarca = marca.IdMarca;
                    });

                    await _veiculoMarcaRepository.GravarVeiculosMarcaAsync(_mapper.Map <IEnumerable <VeiculoMarca> >(veiculos));
                }
            }
            catch (Exception)
            {
                throw;
            }
        }