public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext) { if (typeof(TimePoint) != bindingContext.ModelType) { return(false); } var timePoint = (TimePoint)bindingContext.Model ?? new TimePoint(); timePoint.MeetId = bindingContext.GetRequestParameterValue("meet", 0, int.Parse); timePoint.EventIds = bindingContext.RequestParameterValueAsList("events", -1, int.Parse) .Where(id => id != -1) .ToList(); timePoint.Time = bindingContext.GetRequestParameterValue("time", TimeSpan.Zero, TimeSpan.Parse); timePoint.Behavior = bindingContext.GetRequestParameterValue("behavior", SchedulingBehavior.Exact, BehaviorParse); timePoint.Interlaced = bindingContext.GetRequestParameterValue("interlaced", true, bool.Parse); bindingContext.Model = timePoint; return(true); }