Exemplo n.º 1
0
        private void InstanceOnNewMessage(LongPullMessageModel message)
        {
            var messageTest = message.response.messages.items[0];

            for (int i = 0; i < DialogItemsViewModel.Count; i++)
            {
                var item = DialogItemsViewModel[i];
                //если чат
                if (item.ChatId == null)
                {
                    if (item.UserId == messageTest.user_id)
                    {
                        DialogItemsViewModel.RemoveAt(i);
                        item.Body = messageTest.body;
                        item.Date = messageTest.date;
                        DialogItemsViewModel.Insert(0, item);
                    }
                }
                else
                {
                    if (item.ChatId == messageTest.chat_id)
                    {
                        DialogItemsViewModel.RemoveAt(i);
                        item.Body = messageTest.body;
                        item.Date = messageTest.date;
                        DialogItemsViewModel.Insert(0, item);
                    }
                }
            }
        }
Exemplo n.º 2
0
 public Task <LongPullMessageModel> GetLongPollHistoryAsynk(int ts, int pts, int max_msg_id = 0, int preview_length = 0, int onlines = 0)
 {
     return(Task.Run(() =>
     {
         LongPullMessageModel messageModel = GetLongPollHistory(ts, pts, max_msg_id, preview_length, onlines);
         return messageModel;
     }));
 }
Exemplo n.º 3
0
        public LongPullMessageModel GetLongPollHistory(int ts, int pts, int max_msg_id = 0, int preview_length = 0, int onlines = 0)
        {
            var parameters = new Dictionary <string, object>
            {
                { "ts=", ts },
                { "pts=", pts },
                { "max_msg_id=", max_msg_id },
                { "preview_length=", preview_length },
                { "onlines=", onlines }
            };

            string str = VkRequest.GetData("messages.getLongPollHistory", parameters);
            //заменить на нужную модель данных
            LongPullMessageModel longPullModel = JsonConvert.DeserializeObject <LongPullMessageModel>(str);

            return(longPullModel);
        }
        public NewMessageWindow(LongPullMessageModel longPullMessageModel)
        {
            _longPullMessageModel = longPullMessageModel;

            Message message = new Message();

            message.message = _longPullMessageModel.response.messages.items[0].body;
            message.Author  = _longPullMessageModel.response.profiles[0].first_name + " " + _longPullMessageModel.response.profiles[0].last_name;
            message.Photo   = _longPullMessageModel.response.profiles[0].photo_medium_rec;

            DataContext = message;

            InitializeComponent();
            TrayPos tpos = new TrayPos();

            tpos.getXY((int)this.Width, (int)this.Height, out top, out left, out prop, out end);
            this.Top  = top;
            this.Left = left;
            anim      = new DoubleAnimation(end, TimeSpan.FromSeconds(1));
        }
Exemplo n.º 5
0
        private async void DetectTypeEvent(Updates updates)
        {
            foreach (var update in updates.updates)
            {
                int codeTypeEvent = Convert.ToInt32(update[0]);

                if (codeTypeEvent == 61)
                {
                    //MessageBox.Show("Петрович набирает сообщение");
                }

                //4,$message_id,$flags,$from_id,$timestamp,$subject,$text,$attachments
                if (codeTypeEvent == 4)
                {
                    //получаем новые сообщения
                    LongPullMessageModel longPullMessageModel = await _vkApi.Messages.GetLongPollHistoryAsynk(ts, pts);

                    var message = new MessageNew
                    {
                        TypeEvent = Convert.ToInt32(update[0]),
                        MessageId = Convert.ToInt32(update[1]),
                        Flags     = Convert.ToInt32(update[2]),
                        FromId    = Convert.ToInt32(update[3]),
                        Timestamp = Convert.ToInt32(update[4]),
                        Subject   = Convert.ToString(update[5]),
                        Text      = Convert.ToString(update[6])
                    };

                    NewMessageWindow newMessage = new NewMessageWindow(longPullMessageModel);
                    newMessage.Show();

                    if (NewMessage != null)
                    {
                        NewMessage(longPullMessageModel);
                    }
                }
            }
        }