using System;
using System.Windows;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

namespace GameInviteTaskSample
{
    public partial class MainPage : PhoneApplicationPage
    {
        // Instanzierung des GameInviteTask
        private GameInviteTask myGameInviteTask = new GameInviteTask();

        // Konstructor
        public MainPage()
        {
            InitializeComponent();

            // Completed-Ereignis hinzufuegen
            myGameInviteTask.Completed += new EventHandler<TaskEventArgs>(myGameInviteTask_Completed);
        }

        /// <summary>
        /// Methode des Completed-Ereignis
        /// </summary>
        void myGameInviteTask_Completed(object sender, TaskEventArgs e)
        {
            // Antwort auswerten
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    // Spieleinladung wurde erfolgreich versendet
                    MessageBox.Show("Ihre Spieleinladung wurde erfolgreich versendet!");
                    break;
                case TaskResult.Cancel:
                    // Spieleinladungsdialog wurde durch den Anwender abgebrochen
                    MessageBox.Show("Sie haben den Spieleinladungsdialog abgebrochen!");
                    break;
                case TaskResult.None:
                    // Spieleinladung konnte nicht versendet werden
                    MessageBox.Show("Ihre Spieleinladung konnte nicht versendet werden!");
                    break;
            }
        }

        /// <summary>
        /// Click-Methode der GameInviteTask-Schaltflaeche
        /// </summary>
        private void btn_GameInviteTask_Click(object sender, RoutedEventArgs e)
        {
            // Session ID des Spiels dem Dialog übergeben
            myGameInviteTask.SessionId = textBox1.Text;

            // Dialog für die Spieleinladung anzeigen
            myGameInviteTask.Show();
        }
    }
}