/// <summary>
        /// Initialise les calendriers à afficher
        /// </summary>
        public async void initCalendar()
        {
            try
            {

                ObservableCollection<object> list = new ObservableCollection<object>();
                _calendriersSelected = list.ToObservableVector<object>();

                GoogleCalendar.CalendarControler controler = new GoogleCalendar.CalendarControler();

                // on récupère tous les calendriers
                calendars = await controler.GetAllCalendars();

                //on crée les userControls Calendriers avec leurs datacontextes
                foreach (CalendarListEntry calendar in calendars)
                {
                    this.CalendriersIMG.Add(new CalendarGoogle(new CalendarViewModel(calendar)));
                }

                //pour chaque calendrier, on définit ses paramètres et une commande au click
                foreach (CalendarBase cal in _calendriersIMG)
                {
                    cal.PointerPressed += cal_PointerPressed;
                    cal.IsHitTestVisible = true;
                    cal.Opacity = 0.5;
                    cal.Margin = new Thickness(0, 0, 15, 0);
                    monpan.Children.Add(cal);
                }

                //on met à jour le Layout
                monpan.UpdateLayout();
            }
            catch (HttpRequestException)
            {
                //throw new HttpRequestException("Cette fonctionnalité nécessite une connexion à un compte google !");
            }

        }
        /// <summary>
        /// Initialise les calendriers à afficher
        /// </summary>
        public async void initCalendar()
        {
            try
            {
                int nb =monpan.Children.Count();
                if (nb > 0)
                {
                    for (int i = nb-1; i >=0; i--)
                    monpan.Children.RemoveAt(i);
                }

                nb = _calendriersIMG.Count();
                if (nb > 0)
                {
                    for (int i = nb - 1; i >= 0; i--)
                        _calendriersIMG.RemoveAt(i);
                }
                

                   ObservableCollection<object> list = new ObservableCollection<object>();
               

                GoogleCalendar.CalendarControler controler = new GoogleCalendar.CalendarControler();

                // on récupère tous les calendriers
                _calendars = await controler.GetAllCalendars();

                //on crée les userControls Calendriers avec leurs datacontextes
                foreach (CalendarListEntry calendar in _calendars)
                {
                    this.CalendriersIMG.Add(new CalendarGoogle(new CalendarViewModel(calendar)));
                }

                CalendarAdd addCal = new CalendarAdd();
               
               
                this._calendriersIMG.Add(addCal);
                //pour chaque calendrier, on définit ses paramètres et une commande au click

                foreach (CalendarBase cal in _calendriersIMG)
                {
                    
                    cal.PointerPressed += Cal_PointerPressed;
                    cal.IsHitTestVisible = true;
                    cal.Opacity = 0.5;
                    cal.Margin = new Thickness(0, 0, 15, 0);
                    monpan.Children.Add(cal);
                }

                _calendriersSelected = _calendriersIMG.Last();
                SelectedWindow = new CalendarWelcome();

                
                //on met à jour le Layout
                //monpan.UpdateLayout();
            }
            catch (HttpRequestException)
            {
                //throw new HttpRequestException("Cette fonctionnalité nécessite une connexion à un compte google !");
            }

        }
        /// <summary>
        /// Methode à exécuter lors du clic sur la commande Accueil
        /// </summary>
        public async void ExecuteDelete()
        {
            try
            {
                // Create the message dialog and set its content and title
                var messageDialog = new MessageDialog(IConstantes.MSG_CONFIRM_DELETE_CAL);

                // Add commands and set their command ids
                messageDialog.Commands.Add(new UICommand(IConstantes.BUTTON_CONFIRM, null, 0));
                messageDialog.Commands.Add(new UICommand(IConstantes.BUTTON_CANCEL, null, 1));

                // Set the command that will be invoked by default
                messageDialog.DefaultCommandIndex = 0;

                // Show the message dialog and get the event that was invoked via the async operator
                var commandChosen = await messageDialog.ShowAsync();

                if (commandChosen.Label.Equals(IConstantes.BUTTON_CONFIRM))
                {
                    CalendarControler controler = new CalendarControler();
                    controler.DeleteCalendar(cal.Calendar);

                    //on met à jour la liste des calendriers
                    parent.DeleteCalendar(cal.Calendar);
                    parent.SelectedWindow = new CalendarWelcome();
                }
            }
            catch (Exception e)
            {
                var messageDialog = new MessageDialog(IConstantes.EXCEPTION_MSG_DELETE);
                messageDialog.ShowAsync();
            }
        }
        /// <summary>
        /// Methode à exécuter lors du clic sur la commande Accueil
        /// </summary>
        public async void ExecuteModifier()
        {
            try{

             // Create the message dialog and set its content and title
                var messageDialog = new MessageDialog("Êtes-vous certain de vouloir modifier le calendrier selectionné ?", "Demande de confirmation");

                // Add commands and set their command ids
                messageDialog.Commands.Add(new UICommand("Annuler", null, 0));
                messageDialog.Commands.Add(new UICommand("Confirmer", null, 1));

                // Set the command that will be invoked by default
                messageDialog.DefaultCommandIndex = 0;

                // Show the message dialog and get the event that was invoked via the async operator
                var commandChosen = await messageDialog.ShowAsync();

                if (commandChosen.Label.Equals("Confirmer"))
                {
                    CalendarControler controler = new CalendarControler();
                    await controler.UpdateCalendar(cal.Calendar);
                   
                   
                   //on met à jour la liste des calendriers
                    parent.MajCalendar(cal.Calendar);

                }
            }
            catch (HttpRequestException e)
            {
                var messageDialog = new MessageDialog(e.Message+"Impossible de modifier le calendrier. Vous n'êtes plus connecté à votre compte.", "Suppression impossible");
                messageDialog.ShowAsync();
            }
        }
Esempio n. 5
0
        public async Task GetCalendars()
        {
            GoogleCalendar.CalendarControler controler = new GoogleCalendar.CalendarControler();

            List<CalendarListEntry> calendars = await controler.GetAllCalendars();

            CalendarViewModel defaultCal = new CalendarViewModel(calendars.Last());
                this._calendars.Add(defaultCal);

                icalendar = new WeekBorderCalendar(_calendars, ref _dateMain);

              contenuPage.Content = icalendar;
        }