I hereby promise to never again mentally make fun of people who can't
get a post done right in a forum.

On Dec 9, 5:08 pm, Travis <[EMAIL PROTECTED]> wrote:
> Sorry, cut and paste error killed my post, then I decided to go look
> for someone else to confirm the problem.
>
> With a standard calendar event, the code below works as expected -- it
> prints the reminder information in a textbox. However, with a
> recurring event, we get a random number for event.Reminders.Count on
> every loop traversal as if a pointer is falling off the end of a list
> somewhere -- infinite loop until memory is exhausted in foreach
> reminder loop. Using VS 2008 sp1, latest patches, .net 3.5, latest
> download of .Net google api.
>
>         private void doit()
>         {
>             CalendarService myService = new CalendarService
> ("testapp");
>             string feedUrl;
>
>             foreach (Keyword keyword in Keyword.GetAll())
>             {
>                 EventFeed myResultsFeed = null;
>
>                 if (keyword.GoogleCalendar != null &&
> keyword.GoogleCalendar != "")
>                 {
>                     feedUrl = keyword.GoogleCalendar.Replace("/basic",
> "/full"); // valid, external
>
>                     EventQuery myQuery = new EventQuery(feedUrl);
>                     myQuery.StartTime = new DateTime
> (DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
>                     myQuery.EndTime = myQuery.StartTime.AddMonths
> (1).AddSeconds(-1);
>
>                     try
>                     {
>                         myResultsFeed = myService.Query(myQuery);
>                     }
>                     catch
>                     {
>                         // Probably a permission error
>                         Response.Write(keyword.FullKeyword + "Failed
> to read calendar " + feedUrl);
>                     }
>
>                     foreach (Google.GData.Calendar.EventEntry entry in
> myResultsFeed.Entries)
>                     {
>                         string content = entry.Content.Content == "" ?
> entry.Title.Text : entry.Content.Content;
>
>                         foreach (When time in entry.Times)
>                         {
>                             DateTime start = time.StartTime;
>
>                             foreach (Reminder reminder in
> entry.Reminders)
>                             {
>
>                                 if (reminder.Method ==
> Reminder.ReminderMethod.alert)
>                                 {
>                                     DateTime remindertime =
> start.AddDays(-1 * reminder.Days).AddHours(-1 *
> reminder.Hours).AddMinutes(-1 * reminder.Minutes);
>
>                                     // Only add reminders that occur
> today
>                                     if (remindertime.ToShortDateString
> () == DateTime.Now.ToShortDateString())
>                                     {
>
>                                         Response.Write
> (keyword.FullKeyword + "\t" + remindertime.ToString() + "\t" +
> content);
>                                     } // if reminder is today
>                                 } // if reminder method is alert
>                             } // foreach reminder
>                         } // foreach time
>                     } // foreach entry
>                 } // if keyword.GoogleCalendar exists
>             } // foreach keyword
>
>             return;
>         }
>
> On Dec 9, 4:20 pm, "Ray Baxter" <[EMAIL PROTECTED]> wrote:
>
>
>
> > Could you elaborate?
>
> > It is unclear what you code returns and what you expect it to return.
> > Plus your code seems to have cut off prematurely. There are unclosed
> > loops and the last loop appears to be empty.
>
> > Thanks,
>
> > Ray
>
> > On Tue, Dec 9, 2008 at 10:43 AM, Travis <[EMAIL PROTECTED]> wrote:
>
> > > 1. Create calendar
> > > 2. Create a daily recurring event "Test"
> > > 3. Use the following code:
>
> > > EventQuery myQuery = new EventQuery(feedUrl);
> > > myQuery.StartTime = new DateTime(DateTime.Now.Year,
> > > DateTime.Now.Month, DateTime.Now.Day);
>
> > > EventFeed myResultsFeed = myService.Query(myQuery);
>
> > > foreach (Google.GData.Calendar.EventEntry entry in
> > > myResultsFeed.Entries)
> > > {
> > > foreach (When time in entry.Times)
> > >                {
> > >                    DateTime start = time.StartTime;
>
> > >                    foreach (Reminder reminder in entry.Reminders)- Hide 
> > > quoted text -
>
> > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Calendar Data API" group.
To post to this group, send email to 
[email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-calendar-help-dataapi?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to