public override bool Load(XmlNode input) { Validator val = new Validator(); var xTargetFinder = input.GetChildNode(SST.TargetFinder, 0); if (!val.ValidateSet(xTargetFinder, () => "No TargetFinder element found!")) { return(false); } var xPatchAction = input.GetChildNode(SST.PatchAction, 1); if (!val.ValidateSet(xPatchAction, () => "No PatchAction element found!")) { return(false); } string[] finderIds = xTargetFinder.Value.Split(' '); foreach (string finderId in finderIds) { var targetFinder = DataStruct.TargetFinderList.FirstOrDefault(tf => tf.Id == finderId); if (!val.ValidateSet(targetFinder, () => $"TargetFinder with the ID \"{finderId}\" was not found")) { continue; } FinderChain.Add(targetFinder); } return(val.Ok); }
public override bool Save(XmlNode output) { var xTargetFinder = output.InsertCompressedElement(SST.TargetFinder); xTargetFinder.Value = string.Join(" ", FinderChain.Select(x => x.Id)); var xPatchAction = output.InsertCompressedElement(SST.PatchAction); xTargetFinder.Value = PatchAction.Id; return(true); }