public IHttpActionResult PutPointPathLine(Guid id, PointPathLine pointPathLine) { if (!ModelState.IsValid || pointPathLine == null) { return(BadRequest(ModelState)); } if (id != pointPathLine.Id) { return(BadRequest()); } try { unitOfWork.PointPathLines.Update(pointPathLine); unitOfWork.Complete(); } catch (DbUpdateConcurrencyException) { if (!PointPathLineExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult GetPointPathLine(Guid id) { PointPathLine pointPathLine = unitOfWork.PointPathLines.Get(id); if (pointPathLine == null) { return(NotFound()); } return(Ok(pointPathLine)); }
public IHttpActionResult PostPointPathLine(PointPathLine pointPathLine) { if (!ModelState.IsValid || pointPathLine == null) { return(BadRequest(ModelState)); } try { Line line = unitOfWork.Lines.Get(pointPathLine.LineId); if (line != null && line.PointLinePaths.Count > 0) { if (pointPathLine.SequenceNumber <= 0) { pointPathLine.SequenceNumber = 1; } if (line.PointLinePaths.FirstOrDefault(x => x.SequenceNumber == pointPathLine.SequenceNumber) != null) { line.PointLinePaths.Where(x => x.SequenceNumber >= pointPathLine.SequenceNumber).ToList().ForEach(x => ++ x.SequenceNumber); } else { int maxSeqNum = 1; try { maxSeqNum = line.PointLinePaths.Max(x => x.SequenceNumber); maxSeqNum++; } catch { } if (pointPathLine.SequenceNumber > maxSeqNum) { pointPathLine.SequenceNumber = maxSeqNum; } } } unitOfWork.PointPathLines.Add(pointPathLine); unitOfWork.Complete(); } catch (DbUpdateException) { if (PointPathLineExists(pointPathLine.Id)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = pointPathLine.Id }, pointPathLine)); }
public IHttpActionResult DeletePointPathLine(Guid id) { PointPathLine pointPathLine = unitOfWork.PointPathLines.Get(id); if (pointPathLine == null) { return(NotFound()); } Line line = unitOfWork.Lines.Get(pointPathLine.LineId); if (line != null) { line.PointLinePaths.Where(x => x.SequenceNumber > pointPathLine.SequenceNumber).ToList().ForEach(x => -- x.SequenceNumber); } unitOfWork.PointPathLines.Remove(pointPathLine); unitOfWork.Complete(); return(Ok(pointPathLine)); }