public async Task <IActionResult> Post(PalestranteDto model) { try { var result = _mapper.Map <Palestrante>(model); _repo.Add(result); if (await _repo.SaveChangesAsync()) { return(Ok(_mapper.Map <Palestrante>(result))); } } catch (System.Exception e) { return(this.BadRequest(e.Message)); } return(BadRequest()); }
public async Task <IActionResult> Post(PalestranteDto model) { try { var palestrante = _mapper.Map <Palestrante>(model); _repository.Add(palestrante); if (await _repository.SaveChanges()) { return(Created($"/api/palestrante/{palestrante.Id}", _mapper.Map <PalestranteDto>(palestrante))); } } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Banco de dados falhou {ex.Message}")); } return(BadRequest()); }
public async Task <IActionResult> Put(int PalestranteId, PalestranteDto model) { try { var palestrante = await _repo.GetPalestranteAsyncById(PalestranteId, false); if (palestrante == null) { return(NotFound()); } _mapper.Map(model, palestrante); _repo.Update(palestrante); if (await _repo.SaveChangesAsync()) { return(Ok(_mapper.Map <PalestranteDto>(palestrante))); } } catch (System.Exception e) { return(this.BadRequest(e.Message)); } return(BadRequest()); }
public async Task <IActionResult> Put(int palestranteId, PalestranteDto model) { try { var palestrante = await _repository.GetByIdAsync(palestranteId); if (palestrante == null) { return(NotFound()); } var idRedesSociais = new List <int>(); model.RedesSociais.ForEach(item => idRedesSociais.Add(item.Id)); var redesSociais = palestrante.RedesSociais.Where( rede => !idRedesSociais.Contains(rede.Id)).ToArray(); if (redesSociais.Length > 0) { _repository.Remove(redesSociais); } _mapper.Map(model, palestrante); _repository.Update(palestrante); if (await _repository.SaveChanges()) { return(Created($"/api/palestrante/{model.Id}", _mapper.Map <PalestranteDto>(model))); } } catch (System.Exception ex) { return(this.StatusCode(StatusCodes.Status500InternalServerError, $"Banco de dados falhou {ex.Message}")); } return(BadRequest()); }