/// <inheritdoc /> public void UnExecute() { ElementToMove.Remove(); if (IndexBeforeMove == ParentElementBeforeMove.Elements().Count()) { ParentElementBeforeMove.Add(ElementToMove); } else { ParentElementBeforeMove.Elements().ToList()[IndexBeforeMove].AddBeforeSelf(ElementToMove); } }
/// <inheritdoc /> public void Execute() { ElementToMove.Remove(); ParentElementBeforeMove.AddAfterSelf(ElementToMove); }
/// <summary> /// Constructor setting the <see cref="ElementToMove"/> /// </summary> /// <param name="elementToMove">The <see cref="ElementToMove"/></param> public MoveElementOutAction(XElement elementToMove) { ElementToMove = elementToMove; ParentElementBeforeMove = ElementToMove.Parent; IndexBeforeMove = ParentElementBeforeMove?.Elements().ToList().IndexOf(ElementToMove) ?? 0; }