예제 #1
0
        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"
            }));
        }
예제 #2
0
        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
            }));
        }