public IActionResult UpdateLine(Guid id, Guid lid, [FromBody] DocumentLine documentLine) { logger.LogInformation($"Updating the items in line of timesheet {id}"); Timecard timecard = repository.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } if (timecard.HasLine(lid) == false) { return(NotFound()); } var annotatedLine = timecard.UpdateLineItem(lid, documentLine); repository.Update(timecard); return(Ok(annotatedLine)); } else { return(NotFound()); } }