Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }