private void ViewMessage(MessageListItem selectedMessage) { Task.Factory .StartNew(() => { var items = _messageRepo.GetAllForEvent (selectedMessage.SmsGroup.Id, selectedMessage.DateSent, selectedMessage.Text); var recipients = new List<string>(); items.ForEach (message => recipients.Add(message.ContactName)); return recipients; }) .ContinueWith(task => Activity.RunOnUiThread(() => DisplayDetail(task.Result, selectedMessage))); }
private void DeleteMessage(MessageListItem selectedMessage) { _progressDialog = new ProgressDialog(Activity); _progressDialog.SetTitle ("Delete Message"); _progressDialog.SetMessage (string.Format ("Deleting Message with {0} recipients. Please wait...", selectedMessage.RecipientCount)); _progressDialog.Show (); Task.Factory .StartNew(() => { var messages = _messageRepo.GetAllForEvent (selectedMessage.SmsGroup.Id, selectedMessage.DateSent, selectedMessage.Text); messages.ForEach (message => _messageRepo.Delete (message)); }) .ContinueWith(task => Activity.RunOnUiThread(() => { _sortedItems = GetGroupedMessages (20); ListAdapter = new MessageListAdapter(Activity, _sortedItems); ((BaseAdapter)ListAdapter).NotifyDataSetChanged (); _progressDialog.Dismiss (); })); }
private void DisplayDetail(List<string> recipients, MessageListItem selectedMessage) { var contactNames = string.Join (", ", recipients.ToArray()); new AlertDialog.Builder(Activity) .SetTitle ("Message Details") .SetMessage (string.Format ("Sent To: {0} at {1} on {2}", contactNames, selectedMessage.DateSent.ToShortTimeString(), selectedMessage.DateSent.ToShortDateString())) .Show (); }
private void CopyMessage(MessageListItem selectedMessage) { var clipboard = (ClipboardManager)Activity.GetSystemService (Context.ClipboardService); clipboard.PrimaryClip = ClipData.NewPlainText ("message", selectedMessage.Text); Toast.MakeText (Activity, "Message text copied to clipboard", ToastLength.Short).Show (); }