public IActionResult UpdateLine(string timecardId, string lineId, [FromBody] TimecardLine timecardLine, [ModelBinder] int resource) { Timecard timecard = Database.Find(timecardId); if (timecard == null || !timecard.DoesLineExist(Guid.Parse(lineId))) { return(NotFound()); } if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } if (resource != timecard.Resource) { return(StatusCode(409, new InvalidResourceError() { })); } var updatedLine = timecard.UpdateLine(Guid.Parse(lineId), timecardLine); return(Ok(updatedLine)); }