public IActionResult UpdateLine(Guid timecardId, [FromBody] DocumentLine newLine, Guid lineId) { logger.LogInformation($"Looking for timesheet {timecardId} , line {lineId} "); Timecard timecard = repository.Find(timecardId); if (timecard == null) { return(NotFound()); } if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } var updateLine = timecard.UpdateLine(newLine, lineId); repository.Update(timecard); return(Ok(updateLine)); } else { return(NotFound()); } }
public IActionResult UpdateLine(Guid id, Guid lineID, [FromBody] DocumentLine newline) { 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)) { var updatedLine = tc.UpdateLine(lineID, newline); repository.Update(tc); return(Ok(updatedLine)); } else { return(NotFound()); } }
public IActionResult UpdateLine(Guid id, Guid line_id, [FromBody] DocumentLine documentLine) { logger.LogInformation($"Looking for timesheet {id}"); Timecard timecard = repository.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } if (timecard.HasLine(documentLine) == false) { return(StatusCode(409, new InvalidLineUpdateError() { })); } var annotatedLine = timecard.UpdateLine(documentLine); repository.Update(timecard); return(Ok(annotatedLine)); } else { return(NotFound()); } }
public IActionResult UpdateLine(string timecardId, int lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); // Verify timecard exists if (timecard == null) { return(NotFound()); } // Verify state allows this action if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } // Perform the replacement var updatedLine = timecard.UpdateLine(timecardLine, lineId); // Verify line was found and patch operation occurred if (updatedLine == null) { return(NotFound()); } return(Ok(updatedLine)); }
public IActionResult UpdateLine(string timecardId, string lineId, [FromBody] TimecardLine timecardLine, [ModelBinder] int resource) { Timecard timecard = Database.Find(timecardId); if (timecard == null || !timecard.DoesLineExist(Guid.Parse(lineId))) { return(NotFound()); } if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } if (resource != timecard.Resource) { return(StatusCode(409, new InvalidResourceError() { })); } var updatedLine = timecard.UpdateLine(Guid.Parse(lineId), timecardLine); return(Ok(updatedLine)); }
public IActionResult UpdateLine(string timecardId, string lineId, int resourceID, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard == null) { return(NotFound()); } // checking if resource is authorized if (timecard.Resource != resourceID) { return(StatusCode(409, new InvalidAccessError() { })); } //updating/replacing the line entry in timecard var annotatedLine = timecard.UpdateLine(lineId, timecardLine); if (annotatedLine == null) { return(NotFound()); } else { return(Ok(annotatedLine)); } }
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 UpdateLine(string id, [FromBody] TimecardPatchLine timecardPatchLine) { Timecard timecard = Database.Find(id); // Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TimecardPatchLine> patchDoc = new Microsoft.AspNetCore.JsonPatch.JsonPatchDocument<TimecardPatchLine>(); // patchDoc.ApplyTo(timecardPatchLine); if (timecard != null || timecardPatchLine != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } var annotatedLine = timecard.UpdateLine(timecard, timecardPatchLine); if (annotatedLine == null) { return(NotFound()); } return(Ok(annotatedLine)); } else { return(NotFound()); } }
public IActionResult UpdateLine(Guid id, [FromBody] DocumentLine documentLine, Guid lineId) { logger.LogInformation($"Looking for timesheet {id} and line {lineId}"); Timecard timecard = repository.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } //update line if (timecard.HasLine(lineId)) { var updatedLine = timecard.UpdateLine(documentLine, lineId); repository.Update(timecard); return(Ok(updatedLine)); } } return(NotFound()); }
public IActionResult UpdateLineItems(string timecardId, string lineId, [FromBody] TimecardLineRequest timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard == null) { return(NotFound()); } if (timecard.Lines != null) { return(Ok(timecard.UpdateLine(lineId, timecardLine))); } return(NotFound()); }
public IActionResult UpdateLine(string timecardId, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard == null) { return(NotFound()); } else if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new UpdateError() { })); } else { //find the line that matches lineId var match = timecard.Lines.FirstOrDefault(x => x.LineNumber.ToString() == lineId); if (match != null) { timecard.UpdateLine(timecard.Lines.IndexOf(match), timecardLine); } else { return(StatusCode(409, new MissingLineError() { })); } //FIXME: UpdateLine updates all fields to match those passed into the request, so later versions should // allow for some fields to be left blank. null cases are also not accounted for in this version. // The likely next iteration might include some kind of overloading and/or checking each field // in timecardLine, and flagging (with a -1, perhaps) and checking for that flag upon setting, // where nulls would be flagged as -1 as well, so as not to be updated. Removal of information // is not possible in this scheme. } if (timecard.Lines.Count < 1) { return(StatusCode(409, new EmptyTimecardError() { })); } return(Ok()); }
public IActionResult UpdateLine(string timecardId, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard == null) { return(NotFound()); } var annotatedLine = timecard.UpdateLine(lineId, timecardLine); if (annotatedLine == null) { return(NotFound()); } else { return(Ok(annotatedLine)); } }
// replace (POST) a complete line item public IActionResult Update(string timecardId, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard == null) { return(NotFound()); } if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } var Guid = new Guid(lineId); var oldLine = timecard.FindLineIndex(Guid); var annotatedLine = timecard.UpdateLine(Guid, timecardLine); return(Ok(annotatedLine)); }
public IActionResult UpdateLine(string id, int ArrayIndex, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(id); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(408, new InvalidStateError() { })); } var update = timecard.UpdateLine(ArrayIndex, timecardLine); return(Ok(update)); } else { return(NotFound()); } }
public IActionResult UpdateLine(string timecardId, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard == null) { return(NotFound()); } else { if (timecard.Status == TimecardStatus.Draft) { return(Ok(timecard.UpdateLine(timecardLine, lineId))); } else { return(StatusCode(409, new InvalidStateError() { })); } } }
public IActionResult UpdateLine(string timecardId, string lineId, [FromBody] TimecardLine timecardLine) { Timecard timecard = Database.Find(timecardId); if (timecard != null) { if (timecard.Status != TimecardStatus.Draft) { return(StatusCode(409, new InvalidStateError() { })); } var existingLine = timecard.Lines.Where(t => t.UniqueIdentifier.ToString() == lineId).FirstOrDefault(); var annotatedLine = timecard.UpdateLine(existingLine, timecardLine); return(Ok(annotatedLine)); } else { return(NotFound()); } }