public IActionResult PatchLine(Guid id, string doclineId, [FromBody] DocumentLinePatch documentLine) { Timecard timecard = repository.Find(id); if (timecard != null) { //CHECK ROLES if (timecard.Employee != documentLine.Employee) { return(StatusCode(403, new UnauthorizedAccess() { })); } if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } // PATCH LINE var patchedLine = timecard.PatchLine(doclineId, documentLine); repository.Update(timecard); return(Ok(patchedLine)); } else { return(NotFound()); } }