Exemplo n.º 1
0
        /// <inheritdoc/>
        public void Append(LinguisticVariable linguisticVariable)
        {
            AnnotatedItemHelper.CheckAndFillUpHolder(linguisticVariable, _commonNamesStorage);

            lock (_lockObj)
            {
#if DEBUG
                //Log($"linguisticVariable = {linguisticVariable}");

                //if(linguisticVariable.Name.NameValue == "age")
                //{
                //var constraintItem = new LinguisticVariableConstraintItem();
                //constraintItem.Kind = KindOfLinguisticVariableСonstraintItem.Inheritance;

                //Log($"constraintItem.ToDbgString() = {constraintItem.ToDbgString()}");

                //linguisticVariable.Constraint.Items.Add(constraintItem);

                //constraintItem = new LinguisticVariableConstraintItem();
                //constraintItem.Kind = KindOfLinguisticVariableСonstraintItem.Relation;
                //constraintItem.RelationName = NameHelper.CreateName("age");

                //Log($"constraintItem.ToDbgString() = {constraintItem.ToDbgString()}");

                //linguisticVariable.Constraint.Items.Add(constraintItem);

                //Log($"linguisticVariable (2) = {linguisticVariable}");
                //}
#endif

                linguisticVariable.CheckDirty();

#if DEBUG
                //if (linguisticVariable.Name.NameValue == "age")
                //{
                //    Log($"linguisticVariable (3) = {linguisticVariable}");

                //    //throw new NotImplementedException();
                //}
#endif

                var holder = linguisticVariable.Holder;

                foreach (var fuzzyValue in linguisticVariable.Values)
                {
                    AnnotatedItemHelper.CheckAndFillUpHolder(fuzzyValue, _commonNamesStorage);

                    NAppendValue(fuzzyValue, holder);
                }
            }
        }