public AmendmentSurrogate Visit(MoveComponentAmendment amendment) { return(new MoveComponentAmendmentSurrogate { SourcePath = amendment.SourcePath.ToComponentPathString(), TargetPath = amendment.TargetPath.ToComponentPathString() }); }
public void SetUp() { this.Template.Insert(0, new Atom("first", null)); this.Template.Insert(1, new Atom("second", null)); var amendment = new MoveComponentAmendment(new[] { 0 }, new[] { 1 }); this.Visitor.Visit(amendment); }
public AmendmentResource Visit(MoveComponentAmendment amendment, int index) { return(new MoveComponentAmendmentResource { Id = index, SourcePath = amendment.SourcePath.ToComponentPathString(), TargetPath = amendment.TargetPath.ToComponentPathString(), Links = this.BuildLinks(amendment, index) }); }
public void Visit(MoveComponentAmendment amendment) { var component = this.componentCollection.FindComponent(amendment.SourcePath); var sourceParent = this.componentCollection.FindCollection(amendment.SourcePath.TakeAllButLast()); var targetParent = this.componentCollection.FindCollection(amendment.TargetPath.TakeAllButLast()); var targetIndex = amendment.TargetPath.Last(); sourceParent.RemoveAt(amendment.SourcePath.Last()); targetParent.Insert(targetIndex, component); }