Beispiel #1
0
        public bool DeleteEvent(CalendarEvent ev, ActionType type)
        {
            try
            {
                switch (type)
                {
                case ActionType.single:
                {
                    service.Events.Delete(DEFAULT_CALENDAR, ev.Id).Execute();
                    break;
                }

                case ActionType.all:
                {
                    ev.Id = GetMainEventId(ev.Id);
                    service.Events.Delete(DEFAULT_CALENDAR, ev.Id).Execute();
                    break;
                }

                case ActionType.following:
                {
                    UpdateEvent(GetAllPreviousEvents(ev), ActionType.all);
                    break;
                }
                }
                return(true);
            }
            catch (Exception ex)
            {
                log.Error("Event deleting failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return(false);
            }
        }
Beispiel #2
0
        public bool UpdateEvent(CalendarEvent ev, ActionType type)
        {
            log.Debug("Try to update event title=\"" + ev.Title + "\"");
            try
            {
                switch (type)
                {
                case ActionType.single:
                {
                    ev.RRule = String.Empty;
                    break;
                }

                case ActionType.all:
                {
                    ev = GetMainEventData(ev);         //.Id = GetMainEventId(ev.Id);
                    break;
                }

                case ActionType.following:
                {
                    // Create recurrence event with new settings
                    CreateEvent(ev);
                    ev = GetAllPreviousEvents(ev);
                    break;
                }
                }

                Event newEvent = ConvertCalendarEventToGoogleEvent(ev, true);

                // Increate sequence number... I hate you Google API for your crazy things >_<
                newEvent = UpdateSequenceNumber(newEvent);

                service.Events.Update(newEvent, DEFAULT_CALENDAR, newEvent.Id).Execute();

                log.Debug("New event was successfully updated");

                return(true);
            }
            catch (Exception ex)
            {
                log.Error("Event update failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return(false);
            }
        }
Beispiel #3
0
        public bool CreateEvent(CalendarEvent ev)
        {
            log.Debug("Try to create new event title=\"" + ev.Title + "\"");

            try
            {
                // New event
                Event newEvent = ConvertCalendarEventToGoogleEvent(ev, false);

                service.Events.Insert(newEvent, DEFAULT_CALENDAR).Execute();

                log.Debug("New event was successfully created");

                return true;
            }
            catch (Exception ex)
            {
                log.Error("Event creation failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return false;
            }
        }
Beispiel #4
0
        public bool CreateEvent(CalendarEvent ev)
        {
            log.Debug("Try to create new event title=\"" + ev.Title + "\"");

            try
            {
                // New event
                Event newEvent = ConvertCalendarEventToGoogleEvent(ev, false);

                service.Events.Insert(newEvent, DEFAULT_CALENDAR).Execute();

                log.Debug("New event was successfully created");

                return(true);
            }
            catch (Exception ex)
            {
                log.Error("Event creation failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return(false);
            }
        }
Beispiel #5
0
        private static Event ConvertCalendarEventToGoogleEvent(CalendarEvent ev, bool rememberId)
        {
            try
            {
                Event googleEvent = new Event();

                if (!string.IsNullOrEmpty(ev.Id) && rememberId)
                {
                    googleEvent.Id = ev.Id;
                }

                googleEvent.Summary     = ev.Title;
                googleEvent.Location    = ev.Location;
                googleEvent.Description = ev.Content;

                googleEvent.Start = ConvertToEventDateTime(ev.Start, ev.IsFullDateEvent);
                googleEvent.End   = ev.IsFullDateEvent ? ConvertToEventDateTime(ev.Start, true) : ConvertToEventDateTime(ev.End, false);

                // Recurrence
                if (!String.IsNullOrEmpty(ev.RRule))
                {
                    googleEvent.Recurrence = new String[] { ev.RRule };
                }

                // Reminder
                googleEvent.Reminders = ConvertMinutesToGoogleEventReminder(ev.Reminder);

                // Status
                googleEvent.Status = ev.Confirmed ? CONFIRMED : TENTATIVE;

                return(googleEvent);
            }
            catch (Exception ex)
            {
                log.Error("CalendarEvent convertation to GoogleEvent failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return(null);
            }
        }
Beispiel #6
0
        private static Event ConvertCalendarEventToGoogleEvent(CalendarEvent ev, bool rememberId)
        {
            try
            {
                Event googleEvent = new Event();

                if (!string.IsNullOrEmpty(ev.Id) && rememberId)
                {
                    googleEvent.Id = ev.Id;
                }

                googleEvent.Summary = ev.Title;
                googleEvent.Location = ev.Location;
                googleEvent.Description = ev.Content;

                googleEvent.Start = ConvertToEventDateTime(ev.Start, ev.IsFullDateEvent);
                googleEvent.End = ev.IsFullDateEvent ? ConvertToEventDateTime(ev.Start, true) : ConvertToEventDateTime(ev.End, false);

                // Recurrence
                if (!String.IsNullOrEmpty(ev.RRule))
                {
                    googleEvent.Recurrence = new String[] { ev.RRule };
                }

                // Reminder
                googleEvent.Reminders = ConvertMinutesToGoogleEventReminder(ev.Reminder);

                // Status
                googleEvent.Status = ev.Confirmed ? CONFIRMED : TENTATIVE;

                return googleEvent;
            }
            catch (Exception ex)
            {
                log.Error("CalendarEvent convertation to GoogleEvent failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return null;
            }
        }
Beispiel #7
0
 public bool DeleteEvent(CalendarEvent ev, ActionType type)
 {
     try
     {
         switch (type)
         {
             case ActionType.single:
                 {
                     service.Events.Delete(DEFAULT_CALENDAR, ev.Id).Execute();
                     break;
                 }
             case ActionType.all:
                 {
                     ev.Id = GetMainEventId(ev.Id);
                     service.Events.Delete(DEFAULT_CALENDAR, ev.Id).Execute();
                     break;
                 }
             case ActionType.following:
                 {
                     UpdateEvent(GetAllPreviousEvents(ev), ActionType.all);
                     break;
                 }
         }
         return true;
     }
     catch (Exception ex)
     {
         log.Error("Event deleting failed with error:", ex);
         log.Info("Event Details: " + ev.ToString());
         return false;
     }
 }
Beispiel #8
0
        public bool UpdateEvent(CalendarEvent ev, ActionType type)
        {
            log.Debug("Try to update event title=\"" + ev.Title + "\"");
            try
            {
                switch (type)
                {
                    case ActionType.single:
                        {
                            ev.RRule = String.Empty;
                            break;
                        }
                    case ActionType.all:
                        {
                            ev = GetMainEventData(ev); //.Id = GetMainEventId(ev.Id);
                            break;
                        }
                    case ActionType.following:
                        {
                            // Create recurrence event with new settings
                            CreateEvent(ev);
                            ev = GetAllPreviousEvents(ev);
                            break;
                        }
                }

                Event newEvent = ConvertCalendarEventToGoogleEvent(ev, true);

                // Increate sequence number... I hate you Google API for your crazy things >_<
                newEvent = UpdateSequenceNumber(newEvent);

                service.Events.Update(newEvent, DEFAULT_CALENDAR, newEvent.Id).Execute();

                log.Debug("New event was successfully updated");

                return true;
            }
            catch (Exception ex)
            {
                log.Error("Event update failed with error:", ex);
                log.Info("Event Details: " + ev.ToString());
                return false;
            }
        }