Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        /// <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);
        }