public IActionResult Update(string id, [FromBody] TimecardLine timecardLine, Guid uniqueIdentifier) { Timecard timecard = Database.Find(id); if (timecard != null) { if (timecard.Resource != timecardLine.Resource) { return(StatusCode(408, new InvalidResource() { })); } if (timecard.Status == TimecardStatus.Draft || timecard.Status == TimecardStatus.Cancelled) { var old_line = new AnnotatedTimecardLine(timecard.Lines .FirstOrDefault(t => t.UniqueIdentifier == uniqueIdentifier)); var annotatedLine = timecard.UpdateLine(old_line, timecardLine, uniqueIdentifier); return(Ok(annotatedLine)); } else { return(StatusCode(409, new InvalidStateError() { })); } } else { return(NotFound()); } }
public IActionResult GetLineId(string id, string lineId) { Timecard timecard = Database.Find(id); if (timecard != null) { int index = timecard.searchLine(lineId); if (index >= 0) { AnnotatedTimecardLine line = timecard.Lines[index]; return(Ok(line)); } else { return(NotFound()); } } else { return(NotFound()); } }