public void AddChatInfo(ChatInfoResponse info) { if (!info.IdProfiles.Any(x => x == MyProfile.Id)) { return; } var model = GetChat(info); model.Name = info.Name; foreach (var id in info.IdProfiles) { if (!_profiles.Any(x => x.Id == id)) { var request = new ProfileInfoRequest { Id = id }; _manager.ConnectionInspector.Send(request); } if (!model.Profiles.Any(x => x.Id == id)) { model.Profiles.AddSorted(GetProfile(id), x => x.Id); } } foreach (var id in info.IdMessages) { if (!model.Messages.Any(x => x.Id == id)) { var request = new MessageInfoRequest { Id = id }; _manager.ConnectionInspector.Send(request); } } }
/// <summary> /// Get the information for a single recently sent message. /// </summary> /// <param name="request">The request.</param> /// <returns>The <see cref="Task" />.</returns> public async Task <MessageInfo> GetInfo(MessageInfoRequest request) { string path = "messages/info.json"; MessageInfo result = await Post <MessageInfo>(path, request).ConfigureAwait(false); return(result); }