public async Task Execute(AtualizarAnuncioInput incluirAnuncioInput) { if (incluirAnuncioInput.Id == 0) { _outputHandler.NotFound($"Codigo do anuncio inválido."); return; } var anuncio = await _anuncioRepository.Get(incluirAnuncioInput.Id); if (anuncio == null) { _outputHandler.NotFound($"Anuncio não encontrado."); return; } List <MarcaVeiculo> marcas = await _marcaVeiculoService.Buscar(); var marcaSelecionada = marcas.FirstOrDefault(marca => marca.ID == incluirAnuncioInput.IdMarca); if (marcaSelecionada == null) { _outputHandler.NotFound($"Marca selecionada inválida."); return; } List <ModeloVeiculo> modelos = await _modeloVeiculoService.Buscar(marcaSelecionada.ID); var modeloSelecionado = modelos.FirstOrDefault(modelo => modelo.ID == incluirAnuncioInput.IdModelo && modelo.MakeID == incluirAnuncioInput.IdMarca); if (modeloSelecionado == null) { _outputHandler.NotFound($"Modelo selecionado inválido."); return; } List <VersaoVeiculo> versoes = await _versaoVeiculoService.Buscar(modeloSelecionado.ID); var versaoSelecionada = versoes.FirstOrDefault(versao => versao.ID == incluirAnuncioInput.IdVersao && versao.ModelID == incluirAnuncioInput.IdModelo); if (versaoSelecionada == null) { _outputHandler.NotFound($"Versão selecionada inválida."); return; } anuncio.AtualizarAnuncio( marcaSelecionada.Name, modeloSelecionado.Name, versaoSelecionada.Name, incluirAnuncioInput.Ano, incluirAnuncioInput.Quilometragem, incluirAnuncioInput.Observacao); await _anuncioRepository.Update(anuncio); AtualizarAnuncioOutput atualizarAnuncioOutput = new AtualizarAnuncioOutput(anuncio); _outputHandler.Default(atualizarAnuncioOutput); }
public async Task Execute(ConsultarAnuncioInput consultarAnuncioInput) { if (consultarAnuncioInput.Id == 0) { _outputHandler.NotFound($"Codigo do anuncio inválido."); return; } IAnuncio anuncio = null; string anuncioJson = _cache.GetString($"Anuncio:{consultarAnuncioInput.Id}"); if (anuncioJson == null) { anuncio = await _anuncioRepository.Get(consultarAnuncioInput.Id); } if (anuncio == null) { _outputHandler.NotFound($"Anuncio não encontrado."); return; } if (anuncioJson == null) { anuncioJson = JsonConvert.SerializeObject(anuncio); DistributedCacheEntryOptions opcoesCache = new DistributedCacheEntryOptions(); opcoesCache.SetAbsoluteExpiration(TimeSpan.FromMinutes(5)); _cache.SetString($"Anuncio:{anuncio.ID}", anuncioJson, opcoesCache); } ConsultarAnuncioOutput consultarAnuncioOutput = new ConsultarAnuncioOutput(anuncio); _outputHandler.Default(consultarAnuncioOutput); }
public async Task Execute(RemoverAnuncioInput removerAnuncioInput) { if (removerAnuncioInput.Id == 0) { _outputHandler.NotFound($"Codigo do anuncio inválido."); return; } var anuncio = await _anuncioRepository.Get(removerAnuncioInput.Id); if (anuncio == null) { _outputHandler.NotFound($"Anuncio não encontrado."); return; } await _anuncioRepository.Delete(anuncio); _outputHandler.Default(); }
public ResponseBase <AnuncioDTO> Read(int id) { var response = new ResponseBase <AnuncioDTO>(); try { var keys = new Dictionary <string, object>(); keys.Add("ID", id); var anuncio = _anuncioRepository.Get(keys); response.Data = _mapper.Map(anuncio, new AnuncioDTO()); } catch (Exception ex) { response.Success = false; response.Message = $"{ex.Message}"; response.Exception = ex; } return(response); }
public Anuncio Get(int id) { return(anuncioRepository.Get(id)); }
public IEnumerable <Anuncio> Get() { IEnumerable <Anuncio> list = _anuncioRepository.Get(); return(list); }