public IActionResult UpdateLine(string id, string lineId, Nullable <int> week = null, Nullable <int> year = null, Nullable <DayOfWeek> day = null, Nullable <float> hours = null, string project = null) { Timecard timecard = Database.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } var annotatedLine = timecard.FindLine(new Guid(lineId)); if (annotatedLine != null) { annotatedLine.UpdateLine(week, year, day, hours, project); return(Ok(annotatedLine)); } else { return(NotFound()); } } else { return(NotFound()); } }
public IActionResult ReplaceLines(string id, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } var annotatedLine = timecard.FindLine(new Guid(lineId)); if (annotatedLine != null) { annotatedLine.ReplaceLine(timecardLine); return(Ok(annotatedLine)); } else { return(NotFound()); } } else { return(NotFound()); } }
public IActionResult UpdateLine(Guid id, Guid lineId, [FromQuery] int reqid, [FromBody] JsonPatchDocument <TimecardLine> patchDocumnetLine) { 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() { })); } var annotatedLine = timecard.FindLine(lineId); patchDocumnetLine.ApplyTo(annotatedLine, ModelState); repository.Update(timecard); return(Ok(annotatedLine)); } else { return(NotFound()); } }
public IActionResult update(string timesheetId, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timesheetId); if (timecard != null) { if (timecard.Status == TimecardStatus.Draft) { var line = timecard.FindLine(new Guid(lineId)); if (line != null) { line.updateLine(timecardLine.Week, timecardLine.Year, timecardLine.Day, timecardLine.Hours, timecardLine.Project); return(Ok(line)); } else { return(NotFound("line not found")); } } else { return(StatusCode(409, new InvalidStateError() { })); } } else { return(NotFound()); } }
public IActionResult GetLine(Guid id, Guid lineId) { logger.LogInformation($"Looking for timesheet {id}"); Timecard timecard = repository.Find(id); if (timecard != null) { TimecardLine line = timecard.FindLine(lineId); if (line != null) { return(Ok(line)); } } return(NotFound()); }