public void UpdateExistingItem()
    {
        var request = new UpdateCalendarItemRequest();
        request.CalendarItemID                      = CalendarItemID;
        request.CalendarID                          = CalendarID;
        request.CalendarItemStatusID                = CalendarItemStatuses.Active;
        request.CalendarItemTypeID                  = CalendarItemTypeID;
        request.CalendarItemRepeatTypeID            = CalendarItemRepeatTypeID;
        request.AllDay                              = AllDay;
        request.CalendarPrivacyTypeID               = CalendarPrivacyTypeID;

        request.Title                               = EventTitle;
        request.Description                         = Description;
        request.Location                            = Location;
        request.StartDate                           = FormattedStartDate;
        request.EndDate                             = FormattedEndDate;
        request.TimeZoneOffset                      = TimeZoneOffset;
        request.IsCorporate                         = false;

        var service = new CalendarService();
        service.UpdateCalendarItem(request);

        NewCalendarItemID = CalendarItemID;
    }
        public bool UpdateCalendarItem(UpdateCalendarItemRequest request)
        {
            try
            {
                var context = ExigoApiContext.CreateCustomODataContext();
                var calendaritem = context.CalendarItems
                    .Where(c => c.CalendarItemID == request.CalendarItemID)
                    .FirstOrDefault();
                if(calendaritem == null)
                    return false;

                calendaritem.CalendarID = request.CalendarID;
                calendaritem.CalendarItemTypeID = request.CalendarItemTypeID;
                calendaritem.CalendarItemStatusID = request.CalendarItemStatusID;
                calendaritem.CalendarPrivacyTypeID = request.CalendarPrivacyTypeID;
                calendaritem.CalendarItemRepeatTypeID = request.CalendarItemRepeatTypeID;

                calendaritem.Title = request.Title;
                calendaritem.Description = request.Description;
                calendaritem.Location = request.Location;
                calendaritem.StartDate = request.StartDate;
                calendaritem.EndDate = request.EndDate;
                calendaritem.TimeZoneOffset = request.TimeZoneOffset;
                calendaritem.AllDay = request.AllDay;
                calendaritem.IsCorporate = request.IsCorporate;

                context.UpdateObject(calendaritem);
                context.SaveChanges();

                return true;
            }
            catch
            {
                return false;
            }
        }