Windows Phone- Dodanie wielu zadań do kalendarza

0

Cześć, mam problem z pewna kwestią.
Mam stronę gdzie użytkownik wybiera sobie dni tygodnia, godzinę treningu oraz przez ile tygodni ma byc cykl powtarzany.
Na podstawie tych danych tworze listę dat, które wykorzystuje przy tworzeniu zadań wysyłanych do kalendarza.

Wiem, że mało profesjonalnie wygląda to ale tworzenie tablicy dat wygląda tak:

 
List<DateTime> listaDat = new List<DateTime>();
            StworzListe();
            ListPickerItem selectedItem = (ListPickerItem)listaIloscTygodni.SelectedItem;
            string content = (string)selectedItem.Content;  
            int iloscTygodni = Convert.ToInt16(content);
           
            double godzina = Convert.ToDouble(textBoxGodzina.Text) + Convert.ToDouble(textBoxMinuta.Text) / 60;
            for (int i = 0; i < iloscTygodni; i++)
            {
                for (int j = 0; j < listaDnitygodnia.Count; j++)
                {
                    if(i==0)
                        listaDat.Add(DateTime.Now.Date.AddHours(((listaDnitygodnia[j] * 24) + godzina)));
                    else
                        listaDat.Add(DateTime.Now.Date.AddHours((((listaDnitygodnia[j]+(i*7)) * 24 + godzina))));
                }
            }

Następnie chce w pętli stworzyć zadania

for(int i = 0 ; i< listaDat.Count; i++)
            {
                SaveAppointmentTask saveAppointmentTask = new SaveAppointmentTask();
                saveAppointmentTask.StartTime = listaDat[i];
                saveAppointmentTask.EndTime = listaDat[i].AddMinutes(15);
                saveAppointmentTask.Subject = "FitnessApp - cwiczenie";
                saveAppointmentTask.Details = "cwiczenie na niewiadomo co";
                saveAppointmentTask.IsAllDayEvent = false;
                saveAppointmentTask.Reminder = Reminder.FifteenMinutes;
                saveAppointmentTask.AppointmentStatus = Microsoft.Phone.UserData.AppointmentStatus.Busy;
                saveAppointmentTask.Show();
                saveAppointmentTask = null;
            } 

Po wyskoczeniu okienka, podczas szukania co moze byc nie tak, po powrocie z okienka windowsowskiego zapisu do ostatniej aktywnosci aplikacji, lista jest pusta i wychodzi z petli po pierwszym przejsciu. Probowałem równiez przekazac cala liste typu SaveAppointmentTask, ale nie doszedłem do tego w jaki sposób można to zrobić.

Moje pytania:

  1. Czy da się zrobić tak zeby zapisać zadanie bez wyskakiwania okienka z kalendarza na które musimy klikać zapisz.
  2. Czy mozliwe jest, i w jaki sposób przekazanie wielu zadań z róznymi datami za pomocą jednego wywołania metody.
1

Nie, używając SaveAppointmentTask użytkownik musi wyrazić zgodę na dodanie do kalendarza i musi to być zrobione pojedynczo.

Aczkolwiek, jeżeli piszesz aplikację WinRT (bo nie wiem czy to działa dla Silverlight) możesz skorzystać z czegoś takiego, co nazywa się app calendars i stworzyć w swojej aplikacji własny kalendarz, który użytkownik może sobie pokazać w aplikacji kalendarza. Nie jest to dodawanie do jego własnego kalendarza, ale masz większą władzę nad "swoim" kalendarzem - znaczy możesz dodawać i zmieniać bez ograniczeń. W taki sposób działa np. Facebook i jego oddzielny kalendarz z wydarzeniami.

Więcej informacji: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn631243.aspx

Alternatywnie, możesz dostać się bezpośrednio do czyjegoś kalendarza na Outlook.com i po nim "pisać" - przejrzyj http://blogs.u2u.be/diederik/post/2014/07/30/Universal-Windows-Apps-a-Tale-of-Two-Calendars.aspx, tam jest opis o Live SDK.

1 użytkowników online, w tym zalogowanych: 0, gości: 1