private void Service_PollingStepGetResultsListCompleted(object sender, PollingStepGetResultsListCompletedEventArgs e)
        {
            LOLMessageClient service = (LOLMessageClient)sender;
            service.PollingStepGetResultsListCompleted -= Service_PollingStepGetResultsListCompleted;

            if (null == e.Error) {
                LOLMessageSurveyResult[] results = e.Result.ToArray ();
                Dictionary<int, LOLMessageSurveyResult> pollResults = new Dictionary<int, LOLMessageSurveyResult> ();

                foreach (LOLMessageSurveyResult eachPollResult in results)
                    pollResults [eachPollResult.StepNumber] = eachPollResult;

                MessageDB forMessage = (MessageDB)e.UserState;
                List<UserDB> recipients = new List<UserDB> ();
                for (int m = 0; m < forMessage.MessageRecipientDBList.Count; ++m)
                    recipients.Add (dbm.GetUserWithAccountID (forMessage.MessageRecipientDBList [m].AccountGuid));
            #if DEBUG
                System.Diagnostics.Debug.WriteLine ("polling step results obtained - launching playback");
            #endif
                RunOnUiThread (delegate {
                    if (progress != null)
                        RunOnUiThread (() => progress.Dismiss ());
                    MessagePlaybackController playbackController = new MessagePlaybackController (forMessage.MessageStepDBList,
                        this.contentPackItems, this.voiceFiles, this.pollSteps, pollResults, false, recipients, context);
            #if DEBUG
                    System.Diagnostics.Debug.WriteLine ("and we're back in the room");
            #endif
                });
            } else {
            #if(DEBUG)
                System.Diagnostics.Debug.WriteLine ("Exception downloading polling results! {0}--{1}", e.Error.Message, e.Error.StackTrace);
            #endif
            }//end if else
        }
        private void StartPlayMessage(MessageDB message)
        {
            bool hasRespondedPollSteps = this.pollSteps.Count (s => s.Value.HasResponded) > 0;

            if (hasRespondedPollSteps) {
                RunOnUiThread (() => Toast.MakeText (context, Resource.String.pollGettingResults, ToastLength.Short).Show ());
                LOLMessageClient service = new LOLMessageClient (LOLConstants.DefaultHttpBinding, LOLConstants.LOLMessageEndpoint);
                service.PollingStepGetResultsListCompleted += Service_PollingStepGetResultsListCompleted;
                service.PollingStepGetResultsListAsync (message.MessageID, new Guid (AndroidData.ServiceAuthToken), message);
            } else {
            #if DEBUG
                System.Diagnostics.Debug.WriteLine ("about to play the message");
            #endif
                RunOnUiThread (delegate {
                    if (progress != null)
                        RunOnUiThread (() => progress.Dismiss ());
                    List<UserDB> recipients = new List<UserDB> ();
                    UserDB tmpUsr = null;

                    for (int m = 0; m < message.MessageRecipientDBList.Count; ++m) {
                        tmpUsr = dbm.GetUserWithAccountID (message.MessageRecipientDBList [m].AccountGuid);
                        if (tmpUsr != null)
                            recipients.Add (tmpUsr);
                    }

                    tmpUsr = dbm.GetUserWithAccountID (message.FromAccountGuid);
                    if (tmpUsr != null)
                        recipients.Add (tmpUsr);
                    MessagePlaybackController playbackController =
                        new MessagePlaybackController (message.MessageStepDBList,
                                                      this.contentPackItems, this.voiceFiles, this.pollSteps, new Dictionary<int, LOLMessageSurveyResult> (), markAsRead, recipients, context);
            #if DEBUG
                    System.Diagnostics.Debug.WriteLine ("we outa here");
            #endif
                });
            }//end if else
        }
 private void PlayUnsentMessage(ContentInfo contentInfo)
 {
     // TODO : Somesort of activity
     MessagePlaybackController playbackController = new MessagePlaybackController (contentInfo, this.contentPackItems, context);
 }