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); }