public ObjectResult Put(int id, [FromForm] WebAPIRecurring apiEvent) { var updatedEvent = (SchedulerRecurringEvent)apiEvent; var dbEvent = _context.RecurringEvents.Find(id); if (dbEvent == null) { return(null); } dbEvent.Name = updatedEvent.Name; dbEvent.StartDate = updatedEvent.StartDate; dbEvent.EndDate = updatedEvent.EndDate; dbEvent.EventPID = updatedEvent.EventPID; dbEvent.RecType = updatedEvent.RecType; dbEvent.EventLength = updatedEvent.EventLength; if (!string.IsNullOrEmpty(updatedEvent.RecType) && updatedEvent.RecType != "none") { // all modified occurrences must be deleted when we update recurring series // https://docs.dhtmlx.com/scheduler/server_integration.html#savingrecurringevents _context.RecurringEvents.RemoveRange( _context.RecurringEvents.Where(e => e.EventPID == id) ); } _context.SaveChanges(); return(Ok(new { action = "updated" })); }
public ObjectResult Post([FromForm] WebAPIRecurring apiEvent) { var newEvent = (SchedulerRecurringEvent)apiEvent; _context.RecurringEvents.Add(newEvent); _context.SaveChanges(); // delete a single occurrence from recurring series var resultAction = "inserted"; if (newEvent.RecType == "none") { resultAction = "deleted"; } return(Ok(new { tid = newEvent.Id, action = resultAction })); }