public async Task <IActionResult> Editar(int id, FaixaViewModel faixaViewModel) { if (id != faixaViewModel.FaixaId) { return(NotFound()); } if (!ModelState.IsValid) { return(View(faixaViewModel)); } faixaViewModel.Album = await _albumApiClient.GetAlbumAsync(faixaViewModel.AlbumId); faixaViewModel.TipoMidia = await _tipoMidiaApiClient.GetTipoMidiaAsync(faixaViewModel.TipoMidiaId); faixaViewModel.Genero = await _generoApiClient.GetGeneroAsync(faixaViewModel.GeneroId); var resposta = await _faixaApiClient.PutFaixaAsync(id, faixaViewModel); if (resposta.Errors != null) { ModelState.AddModelError("Erro", resposta.Errors.FirstOrDefault()); return(View(faixaViewModel)); } return(RedirectToAction(nameof(Index))); }
public async Task <ActionResult <FaixaViewModel> > Update(int id, FaixaViewModel faixaViewModel) { if (id != faixaViewModel.FaixaId) { NotifyError("O id informado não é o mesmo que foi informado na query"); return(CustomResponse(faixaViewModel)); } if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } var faixa = _mapper.Map <Faixa>(faixaViewModel); if (faixaViewModel.Album?.AlbumId > 0) { faixa.Album = await _albumRepository.ObterPorId(faixaViewModel.Album.AlbumId); } if (faixaViewModel.TipoMidia?.TipoMidiaId > 0) { faixa.TipoMidia = await _tipoMidiaRepository.ObterPorId(faixaViewModel.TipoMidia.TipoMidiaId); } if (faixaViewModel.Genero?.GeneroId > 0) { faixa.Genero = await _generoRepository.ObterPorId(faixaViewModel.Genero.GeneroId); } await _faixaService.Atualizar(faixa); return(CustomResponse(faixaViewModel)); }
public async Task <ActionResult <FaixaViewModel> > Add(FaixaViewModel faixaViewModel) { if (!ModelState.IsValid) { return(CustomResponse(ModelState)); } var faixa = _mapper.Map <Faixa>(faixaViewModel); if (faixaViewModel.Album?.AlbumId > 0) { faixa.Album = await _albumRepository.ObterPorId(faixaViewModel.Album.AlbumId); } if (faixaViewModel.TipoMidia?.TipoMidiaId > 0) { faixa.TipoMidia = await _tipoMidiaRepository.ObterPorId(faixaViewModel.TipoMidia.TipoMidiaId); } if (faixaViewModel.Genero?.GeneroId > 0) { faixa.Genero = await _generoRepository.ObterPorId(faixaViewModel.Genero.GeneroId); } await _faixaService.Adicionar(faixa); return(CustomResponse(faixaViewModel)); }
private async Task <FaixaViewModel> PopularCombos(FaixaViewModel faixaViewModel) { faixaViewModel.Albuns = await _albumApiClient.GetAlbunsAsync(); faixaViewModel.TiposDeMidia = await _tipoMidiaApiClient.GetTiposDeMidiaAsync(); faixaViewModel.Generos = await _generoApiClient.GetGenerosAsync(); return(faixaViewModel); }
public async Task <CustomResponse <FaixaViewModel> > PutFaixaAsync(int id, FaixaViewModel faixaViewModel) { var faixa = JsonSerializer.Serialize(faixaViewModel, JsonSerializerOptions); var conteudo = new StringContent(faixa, Encoding.UTF8, "application/json"); var resposta = await _httpClient.PutAsync($"{id}", conteudo); var json = await resposta.Content.ReadAsStringAsync(); return(JsonSerializer.Deserialize <CustomResponse <FaixaViewModel> >(json, JsonSerializerOptions)); }