public Atendimento SalvarAtualizarAtendimento(string chaveAcessoRemetente, Usuario usuarioDestinatario, string textoMensagem, Atendimento atendimentoEmAndamento) { var usuarioRemetente = _servicoUsuario.ObterPorChave(chaveAcessoRemetente); if (usuarioRemetente != null) { var atendimento = atendimentoEmAndamento != null?_repositorioConversa.Obter(atendimentoEmAndamento.Id) : null; var mensagem = new Mensagem(textoMensagem, usuarioRemetente, usuarioDestinatario); if (atendimento != null) { atendimento.Mensagens.Add(mensagem); _repositorioConversa.Atualizar(atendimento); } else { var atendente = _servicoAtendente.ObterPorChaveAcesso(chaveAcessoRemetente); atendimento = SalvarNovoAtendimento(usuarioDestinatario, atendimento, mensagem, atendente); usuarioRemetente.Atendimentos.Add(atendimento); usuarioDestinatario.Atendimentos.Add(atendimento); _servicoUsuario.Atualizar(usuarioDestinatario.Id, usuarioDestinatario.Nome, usuarioDestinatario.Email, usuarioDestinatario.Telefone); _servicoUsuario.Atualizar(usuarioRemetente.Id, usuarioRemetente.Nome, usuarioRemetente.Email, usuarioRemetente.Telefone); } return(atendimento); } else { throw new ValidacaoException("Remetente não encontrado"); } }
public UsuarioModel Atualizar([FromBody] AtualizarUsuarioRequest request) => _servicoUsuario.Atualizar(request, IdUsuarioAutenticado);