public IHttpActionResult CreateSchedulerEvent(WebAPIRecurringEvent webAPIEvent) { var newSchedulerEvent = (SchedulerRecurringEvent)webAPIEvent; db.SchedulerRecurringEvents.Add(newSchedulerEvent); db.SaveChanges(); // delete a single occurrence from a recurring series var resultAction = "inserted"; if (newSchedulerEvent.RecType == "none") { resultAction = "deleted"; } return(Ok(new { tid = newSchedulerEvent.Id, action = resultAction })); }
public IHttpActionResult EditSchedulerEvent(int id, WebAPIRecurringEvent webAPIEvent) { var updatedSchedulerEvent = (SchedulerRecurringEvent)webAPIEvent; updatedSchedulerEvent.Id = id; db.Entry(updatedSchedulerEvent).State = EntityState.Modified; if (!string.IsNullOrEmpty(updatedSchedulerEvent.RecType) && updatedSchedulerEvent.RecType != "none") { //all modified occurrences must be deleted when we update a recurring series //https://docs.dhtmlx.com/scheduler/server_integration.html#savingrecurringevents db.SchedulerRecurringEvents.RemoveRange( db.SchedulerRecurringEvents.Where(e => e.EventPID == id) ); } db.SaveChanges(); return(Ok(new { action = "updated" })); }