public async Task <ActionResult> Put(int id, [FromBody] AmigoEdit model) { var result = await _amigoService.UpdateAmigoAsync(id, model); if (!result.Succeeded) { return(NotFound(result.Message)); } return(NoContent()); }
public async Task <QueryResult <string> > UpdateAmigoAsync(int id, [FromBody] AmigoEdit model) { try { var amigo = await _amigoRepository.GetAmigoAsync(id); if (amigo != null) { var emailDiferente = (amigo.Login.Email.ToUpper() != model.Email.ToUpper()); var emailCadastrado = await _amigoRepository.ValidateEmialAsync(model.Email); if (emailDiferente && emailCadastrado != null) { return(new QueryResult <string> { Succeeded = false, Message = "E-mail já cadastrado!" }); } amigo.Nome = model.Nome; amigo.Telefone = model.Telefone; amigo.Login.Email = model.Email.ToLower(); amigo.Login.NormalizedEmail = model.Email.ToUpper(); amigo.Login.Status = AccountConstants.GetStatusDbUsuario(model.Status); await _amigoRepository.UpdateAmigoAsync(amigo); return(new QueryResult <string> { Succeeded = true, Message = "Amigo editado com sucesso." }); } else { return(new QueryResult <string> { Succeeded = false, Message = "Erro, amigo não encontrado!" }); } } catch (Exception) { return(new QueryResult <string> { Succeeded = false, Message = "Erro, tente novamente!" }); } }