コード例 #1
0
ファイル: CacheSync.cs プロジェクト: nrag/yapper
        /// <summary>
        /// Send new message
        /// </summary>
        public void SendMessage(MessageModel newMessageToSend)
        {
            Messenger.Default.Send<NewMessageSavedEvent>(new NewMessageSavedEvent() { Message = newMessageToSend });
            BackgroundWorker worker = new BackgroundWorker();
            worker.DoWork += (o, f) =>
            {
                if (!newMessageToSend.IsTaskMessage.Value && !newMessageToSend.IsTaskItemMessage)
                {
                    InsertMessageToDBBeforeSending(newMessageToSend);
                }

                // If poll message has not been sent, don't send the poll response
                if (!newMessageToSend.IsPollResponseMessage || (newMessageToSend.PollMessageId.Value != Guid.Empty))
                {
                    this.serviceProxy.SendNewMessage(newMessageToSend.EncryptMessage(), this.NewMessageCreated);
                }
            };

            worker.RunWorkerAsync();
        }