Exemplo n.º 1
0
        private Fact GetMergedFact(List <Fact> facts)
        {
            var initialFields = facts.SelectMany(x => x.Fields).ToList();

            var scientistFields = initialFields.Where(x => x.Name.StartsWith("Scientist"));
            var resultFields    = initialFields.Except(scientistFields).ToList();

            if (scientistFields.Any())
            {
                var newFieldsValue = string.Join(" ", scientistFields.Where(x => x.Name != "Scientist_SurnameIsDictionary" && x.Name != "Scientist_SurnameIsLemma")
                                                 .Select(x => x.Value));
                var newScientistField = new FactField
                {
                    Name  = "Scientist",
                    Value = newFieldsValue,
                };
                resultFields.Add(newScientistField);
            }

            var resultFact = new Fact
            {
                Name   = "Fact",
                Fields = resultFields,
            };

            return(resultFact);
        }
Exemplo n.º 2
0
        private Fact GetFactFromRowFactXml(XElement rowFact)
        {
            var factName   = rowFact.Name.LocalName;
            var factFields = new List <FactField>();

            foreach (var subNode in rowFact.Elements())
            {
                var fieldField = new FactField
                {
                    Name  = subNode.Name.LocalName,
                    Value = subNode.Attribute("val").Value,
                };

                factFields.Add(fieldField);
            }

            return(new Fact
            {
                Name = factName,
                Fields = factFields,
            });
        }