public void AddingFact(FactAboutElement factAboutElementNew) { stringBuilder.AppendLine(Indent() + string.Format("Dodawanie faktu {0} do elementu", factAboutElementNew.Name)); }
/// <summary> /// SearchForAnswer /// </summary> /// <param name="element"></param> /// <param name="question"></param> /// <param name="value"></param> /// <returns></returns> private bool SearchForAnswer(Element element, Question question, bool value) { foreach (RuleArgument ruleArgument in question.Rule.Arguments) { Fact fact = Facts.Find(f => ruleArgument.Id == f.Id); logger.CheckingForArgument(fact); FactAboutElement factAboutElement = FindFactAboutElementWhichIsRuleArgument(element, ruleArgument); if (factAboutElement == null) { Question answeringQuestion = FindQuestionForGivenFact(ruleArgument.Id); if (answeringQuestion == null) { return false; } logger.SearchingForAnswer(element, answeringQuestion); if (SearchForAnswer(element, answeringQuestion, ruleArgument.RequiredValue)) { factAboutElement = FindFactAboutElementWhichIsRuleArgument(element, ruleArgument); } } if (factAboutElement.Value != ruleArgument.RequiredValue) { logger.ArgumentDoesNotMatch(ruleArgument); return false; } logger.ArgumentMatch(ruleArgument); } FactAboutElement factAboutElementNew = new FactAboutElement { Id = question.Rule.Target.Id, Name = question.Rule.Target.Name, Value = value }; logger.AddingFact(factAboutElementNew); element.Facts.Add(factAboutElementNew); logger.EnfOfCheckingIfFactCanBeAdded(); return true; }
public void AddingFact(FactAboutElement factAboutElementNew) { }