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
-~----------~----~----~----~------~----~------~--~---