public ActionResult Create([FromBody] object cycle) { var cycleJson = JsonConvert.SerializeObject(cycle); dynamic numberOfCycles = JsonConvert.DeserializeObject(cycleJson); var members = _memberService.GetAll() .Where(x => x.IsActive) .OrderBy(x => x.DateJoined) .ToList(); if (!members.Any()) { _response.Message = "No active members found to create a roster!"; return(NotFound(_response)); } var roster = _rosterService.GetAll().ToList(); var lastRosteredDate = (roster.Any() ? roster.Max(x => x.RosteredDate) : new DateTime()); var scheduler = new Scheduler(); var beerRoster = scheduler.CreateRoster(members, lastRosteredDate, int.Parse(numberOfCycles["cycle"].Value.ToString())); _rosterService.Save(beerRoster); return(Ok(_response)); }