public IActionResult ReplaceLine(Guid id, Guid lineId, [FromBody] DocumentLine documentLine) { logger.LogInformation($"Looking for timesheet {id}"); Timecard timecard = repository.Find(id); if (timecard != null) { logger.LogInformation($"Looking for line {lineId}"); if (timecard.HasLine(lineId)) { timecard.DeleteLine(lineId); var annotatedLine = timecard.AddLine(documentLine); repository.Update(timecard); return(Ok(annotatedLine)); } else { return(NotFound()); } } else { return(NotFound()); } }
public IActionResult ReplaceLine(Guid id, Guid lineID, [FromBody] DocumentLine replacement) { logger.LogInformation($"Looking for timesheet ID {id}"); Timecard tc = repository.Find(id); if (tc == null) { return(NotFound()); } if (tc.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } logger.LogInformation($"Looking for timecard line ID {lineID}"); if (tc.HasLine(lineID)) { tc.DeleteLine(lineID); repository.Update(tc); return(AddLine(id, replacement)); } else { return(NotFound()); } }
public IActionResult DeleteLine(Guid id, Guid lineId, [FromQuery] int reqid) { logger.LogInformation($"Looking for timesheet {id}"); Timecard timecard = repository.Find(id); if (timecard != null) { if (reqid != timecard.Employee) { return(StatusCode(403, new TimecardPersonError() { })); } if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } timecard.DeleteLine(lineId); repository.Update(timecard); return(Ok()); } else { return(NotFound()); } }