private void Service_MessageMarkReadCompleted(object sender, MessageMarkReadCompletedEventArgs e)
        {
            LOLMessageClient service = (LOLMessageClient)sender;
            service.MessageMarkReadCompleted -= Service_MessageMarkReadCompleted;

            if (null == e.Error) {

                if (e.Result.ErrorNumber == "0" || string.IsNullOrEmpty (e.Result.ErrorNumber)) {
                    Guid messageID = (Guid)e.UserState;
            #if(DEBUG)
                    System.Diagnostics.Debug.WriteLine ("Marked message as read!");
            #endif
                    dbm.MarkMessageRead (messageID.ToString (), AndroidData.CurrentUser.AccountID.ToString ());
                }//end if
            } else {
            #if(DEBUG)
                System.Diagnostics.Debug.WriteLine ("Exception in message mark as read! {0}--{1}", e.Error.Message, e.Error.StackTrace);
            #endif
            }//end if else
        }
 private void Service_MessageMarkReadCompleted(object sender, MessageMarkReadCompletedEventArgs e)
 {
     LOLMessageClient service = (LOLMessageClient)sender;
     if (e.Error == null)
     {
         Queue<MessageDB> msgQ = (Queue<MessageDB>)e.UserState;
         MessageDB messageDB = msgQ.Dequeue();
         if (e.Result.ErrorNumber == "0" || string.IsNullOrEmpty(e.Result.ErrorNumber))
         {
             dbm.MarkMessageRead(messageDB.MessageGuid, AndroidData.CurrentUser.AccountID.ToString());
             if (msgQ.Count > 0)
                 service.MessageMarkReadAsync(msgQ.Peek().MessageID, AndroidData.CurrentUser.AccountID, AndroidData.NewDeviceID, new Guid(AndroidData.ServiceAuthToken), msgQ);
             else
             {
                 service.MessageMarkReadCompleted -= Service_MessageMarkReadCompleted;
                 MessageConversations.clearView = true;
                 getConversations();
             }
         }
     } else
     {
     #if DEBUG
         System.Diagnostics.Debug.WriteLine("Exception when marking messages as read {0} {1}", e.Error.Message, e.Error.StackTrace);
     #endif
     }
 }
        private void Service_MessageMarkReadCompleted(object sender, MessageMarkReadCompletedEventArgs e)
        {
            LOLMessageClient service = (LOLMessageClient)sender;

            if (null == e.Error)
            {

                if (e.Result.ErrorNumber == "0" || string.IsNullOrEmpty(e.Result.ErrorNumber))
                {
                    Guid messageID = (Guid)e.UserState;
            #if(DEBUG)
                    System.Diagnostics.Debug.WriteLine("Marked message as read!");
            #endif
                    dbm.MarkMessageRead(messageID.ToString(), AndroidData.CurrentUser.AccountID.ToString());
                    current++;
                    if (current < markAsRead)
                    {
                        service.MessageMarkReadAsync(message [current].MessageID, AndroidData.CurrentUser.AccountID, AndroidData.NewDeviceID, new Guid(AndroidData.ServiceAuthToken),
                                                      message [current].MessageID);
                    } else
                    {
                        service.MessageMarkReadCompleted -= Service_MessageMarkReadCompleted;
                        if (unknownContacts.Count != 0)
                        {
                            getNewContacts(unknownContacts);
                        } else
                        if (message [0].MessageRecipientDBList != null)
                        {
                            MessageDB mess = new MessageDB();
                            mess = messageItem.Message;
                            generateMessageBarAndAnimate(shortenBubble(mess), message [0], messageItem.MessageUser);
                        }
                    }
                }//end if
            } else
            {
            #if(DEBUG)
                System.Diagnostics.Debug.WriteLine("Exception in message mark as read! {0}--{1}", e.Error.Message, e.Error.StackTrace);
            #endif
            }//end if else
        }