public async Task <ResponseContract <UsuarioViewModel> > RegisterUpdateAsync(UsuarioViewModel viewModel) { var response = new ResponseContract <UsuarioViewModel>(); try { viewModel.RemoveFormatacao(); var model = await _usuarioRepository.FindAsync(_user.GetUserId()); model.SetRegisterUpdate(_mapper.Map <Usuario>(viewModel)); var valid = await _usuarioRepository.UpdateAsync(model); if (!valid) { response.AddError(Resources.ErrorOnRegisterUpdate); return(response); } var exist = await _enderecoAlteracaoRepository.ExistAsync(model.CampanhaId, model.UsuarioId); if (!exist) { var enderecoAlteracao = new CampanhaUsuarioAtualizacaoCadastro { UsuarioId = model.UsuarioId, CampanhaId = model.CampanhaId }; await _enderecoAlteracaoRepository.InsertAsync(enderecoAlteracao); _logger.LogWarning($"[UsuarioId: {_user.GetUserDocument()}] [CPF: {_user.GetUserDocument()}] incluido na alteração de endereço pela primeira vez."); } _logger.LogWarning($"[UsuarioId: {_user.GetUserDocument()}] [CPF: {_user.GetUserDocument()}] realizou alteração no cadastro."); response.SetContent(_mapper.Map <UsuarioViewModel>(model)); response.SetValid(); } catch (Exception ex) { _logger.LogError(ex.Message, ex); response.AddError(Resources.ErrorOnRegisterUpdate); } return(response); }