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
        public void AddMessageInfo(MessageInfoResponse info)
        {
            if (!Chats.Any(x => x.Id == info.IdChat))
            {
                return;
            }
            var model = GetMessage(info);

            model.Text = info.Text;
            if (!_profiles.Any(x => x.Id == info.Id))
            {
                var request = new ProfileInfoRequest {
                    Id = info.IdProfile
                };
                _manager.ConnectionInspector.Send(request);
            }
            var profile = GetProfile(info.IdProfile);

            model.Profile = profile;
        }
        public override void Call(MyProfileInfoResponseLuck packet, IClientManager manager)
        {
            var myProfile = manager.MyProfile;

            if (myProfile == null)
            {
                return;
            }
            myProfile.MyProfile.Id = packet.Id;
            {
                var request = new ProfileInfoRequest {
                    Id = packet.Id
                };
                manager.ConnectionInspector.Send(request);
            }
            foreach (var id in packet.IdChats)
            {
                var request = new ChatInfoRequest {
                    Id = id
                };
                manager.ConnectionInspector.Send(request);
            }
        }