public async Task <List <Message> > ReceiveMessages() { ReceiveMessagesRequest request = new ReceiveMessagesRequest(AuthToken); ReceiveMessagesResponse response = await communicationService.SendAsync(request) as ReceiveMessagesResponse; return(response.Messages); }
private static ResponseBase ReadResponse(BinaryReader reader) { int responseSize = reader.ReadInt32(); byte[] bytes = reader.ReadBytes(responseSize); ResponseType responseType = (ResponseType)BitConverter.ToInt32(bytes, 0); switch (responseType) { case ResponseType.RegistrationResult: return(RegistrationResponse.Parse(bytes)); case ResponseType.LoginResult: return(LoginResponse.Parse(bytes)); case ResponseType.AddContact: return(AddContactResponse.Parse(bytes)); case ResponseType.GetContacts: return(GetContactsResponse.Parse(bytes)); case ResponseType.SendMessage: return(SendMessageResponse.Parse(bytes)); case ResponseType.ReceiveMessages: return(ReceiveMessagesResponse.Parse(bytes)); case ResponseType.Ok: case ResponseType.InvalidAuthToken: throw new NotImplementedException(); case ResponseType.ServerError: throw new ServerErrorException(ServerErrorResponse.Parse(bytes).ErrorMessage); default: throw new InvalidOperationException("Invalid type of response"); } }