예제 #1
0
        /// <summary>
        /// Отправка сообщения
        /// </summary>
        async void OnSendTapped(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(EditorMsg.Text))
            {
                return;
            }

            string SendText = EditorMsg.Text;

            EditorMsg.Text = null;

            // Временное сообщение
            MessageThread msg = new MessageThread()
            {
                post_time    = DateTime.Now,
                message_html = "Отправляем...",
                from         = new From()
                {
                    fname = "Bot Messenger", sname = "", login = "", profile_id = PlatformInvoke.profile_id
                }
            };

            // Показываемм сообщение
            MessageDB.Add(msg);
            navigationDrawerList.ScrollTo(MessageDB[MessageDB.Count - 1], ScrollToPosition.MakeVisible, false);

            // Находим индекс сообщения
            int indexMSG = MessageDB.IndexOf(msg);

            // Запрос в API
            var sdk         = new SDK.Threads();
            var msgResponse = await sdk.Send(ThreadID, SendText);

            // Обновляем сообщение
            if (msgResponse != null)
            {
                MessageDB[indexMSG] = msgResponse;
            }
            else
            {
                MessageDB[indexMSG] = new MessageThread()
                {
                    post_time    = DateTime.Now,
                    message_html = "Не удалось отправить сообщение :(<br />" + SendText,
                    from         = new From()
                    {
                        fname = "Bot Messenger => Ошибка запроса", sname = "", login = "******", profile_id = PlatformInvoke.profile_id
                    }
                };
            }
        }