Ejemplo n.º 1
0
        void HandleSmscontrollerFinished(object sender, MFMessageComposeResultEventArgs e)
        {
            BatchMFMessageComposeViewController batchController = sender as BatchMFMessageComposeViewController;

            switch (e.Result)
            {
            case MessageComposeResult.Sent:

                if (batchController.HasRecipientsLeft)
                {
                    batchController.DismissModalViewControllerAnimated(false);
                    Thread.Sleep(100);
                    BatchMFMessageComposeViewController c = new BatchMFMessageComposeViewController(
                        batchController.Parent,
                        batchController.LeftRecipients.ToArray(),
                        this.Message.Text,
                        batchController.BatchSize,
                        batchController.MagicExpressionEnabled);
                    c.Finished += HandleSmscontrollerFinished;
                    batchController.Dispose();
                    this.Parent.NavigationController.PresentModalViewController(c, true);
                }
                else
                {
                    batchController.ResignFirstResponder();
                    batchController.MessageComposeDelegate.Dispose();
                    batchController.DismissModalViewControllerAnimated(false);
                    batchController.Dispose();
                    ThreadPool.QueueUserWorkItem((evt) => {
                        Thread.Sleep(500);
                        UIAlertView alert = new UIAlertView(
                            Settings.GetLocalizedString("Sms is being sent", LocalizedKey),
                            Settings.GetLocalizedString("Your message will be sent soon", LocalizedKey),
                            null, "OK");
                        this.InvokeOnMainThread(() => { alert.Show(); });

                        ((AppDelegate)UIApplication.SharedApplication.Delegate).Apprater.UserDidSignificantEvent(true);
                    });
                }
                break;

            case MessageComposeResult.Cancelled:
                batchController.ResignFirstResponder();
                batchController.DismissModalViewControllerAnimated(false);
                batchController.Dispose();
                break;

            default:
                break;
            }
        }
Ejemplo n.º 2
0
        public override void Finished(MFMessageComposeViewController controller, MessageComposeResult result)
        {
            Console.WriteLine("Custom, Finished");
            BatchMFMessageComposeViewController c = controller as BatchMFMessageComposeViewController;

            if (c != null && c.LeftRecipients.Count == 0)
            {
                c.Dispose();
            }
        }