Classe responsável pela comunicação de sistemas externos com o serviço MoveChat.

Construtores

Declaração
MoveChatClient(IMoveChatService moveChatService)

Métodos

NomeDescrição
GetConsumerCompanyAsyncObtém, as informações da empresa logada de forma assíncrona. Uma empresa é representada pela entidade ConsumerCompany.
CreateConsumerCompanyUserAsyncCria e retorna um novo usuário de forma assíncrona.
BatchCreateConsumerCompanyUserAsyncCria usuários em lote de forma assíncrona.
GetConsumerCompanyUserByIdAsyncBusca usuário através do seu Id no MoveChat de forma assíncrona.
GetConsumerCompanyUserByProvidedIdAndRoleAsyncBusca usuário pelo Id interno do usuário e cargo de forma assíncrona.
GetConsumerCompanyUsersAsyncLista os usuários da empresa atual de forma paginada e assíncrona.
CreateRoomAsyncCria uma nova sala de forma assíncrona.
UpdateRoomAsyncAtualiza informações de uma sala de forma assíncrona.
DeleteRoomAsyncExclui uma sala de forma assíncrona.
GetRoomByIdAsyncBusca uma sala pelo Id de forma assíncrona.
GetRoomsAsyncLista salas da ConsumerCompany de forma paginada e assíncrona.
GetRoomMessagesAsyncLista, de forma paginada e assíncrona, RoomMessage de uma sala.
GetAllRoomMessagesAsyncLista todas RoomMessage de um tipo em uma Room de forma assíncrona. O tempo de execução do método cresce em função do número mensagens em uma sala. Utilize o evento GetAllRoomMessagesProgressChangedEvent para verificar a progressão do método.

Eventos

GetAllRoomMessagesProgressChangedEvent

Evento enviado sempre que há atualização no progresso do método GetAllRoomMessagesAsync.

Sintaxe:

public delegate void OnGetAllRoomMessagesProgressChangedEventHandler(double changedProgress);
public event OnGetAllRoomMessagesProgressChangedEventHandler GetAllRoomMessagesProgressChangedEvent;

Exemplo de utilização:

public class ExampleClass
{
  private IMoveChatClient _moveChatClient;
  
  public ExampleClass(IMoveChatClient moveChatClient)
  {
    _moveChatClient = moveChatClient;
  }
  
  public async Task<Room> GetAllRoomMessagesAsync(Guid roomId, ERoomMessageType messageType)
  {
    // verificar o progresso da execução do método
    moveChatClient.GetAllRoomMessagesProgressChangedEvent += WriteProgress;
    return await _moveChatClient.GetAllRoomMessagesAsync(roomId, messageType);
  }
  
  public void WriteProgress(double progress) 
  {
  	Console.WriteLine($"Progresso: {progress}%");
  }
}