예제 #1
0
        public override void Merge(FormField newField)
        {
            base.Merge(newField);
            OptionsField optionsField = (OptionsField)newField;

            List <Option>          options    = new List <Option>(optionsField.Options.Count);
            IReadOnlyList <Option> oldOptions = this.Options;

            foreach (var newOption in optionsField.Options)
            {
                Option option = oldOptions.Where(o => o.ScoreOption(newOption) > 0.0f).OrderByDescending(o => o.ScoreOption(newOption)).FirstOrDefault();

                if (option == null)
                {
                    options.Add(newOption);
                }
                else
                {
                    option.Value = newOption.Value;
                    options.Add(option);
                }
            }

            ReplaceOptions(options);
        }
예제 #2
0
        public override void UpdateValues(CFXmlModel src)
        {
            OptionsField optionsField = src as OptionsField;

            this.Options = optionsField.Options;
        }