예제 #1
0
        protected List <FactBase> GetFullFacts()
        {
            var newfacts = new List <FactBase>();

            if (this.Dimensions.Count == 0 && this.Concept == null)
            {
                LoadObjects();
            }
            foreach (var fact in _Facts)
            {
                if (fact.Dimensions.Count == 0 && fact.Concept == null)
                {
                    fact.LoadObjects();
                }
                var newfact = new FactBase();
                newfacts.Add(newfact);
                newfact.Dimensions.AddRange(fact.Dimensions);
                newfact.Concept = fact.Concept;

                Dimension.MergeDimensions(newfact.Dimensions, Dimensions);
                if (newfact.Concept == null)
                {
                    newfact.Concept = Concept;
                }
                newfact.Dimensions = newfact.Dimensions.OrderBy(i => i.DomainMemberFullName, StringComparer.Ordinal).ToList();
            }
            return(newfacts);
        }
예제 #2
0
        public static FactBase GetFactFrom(string factstring)
        {
            var fact = new FactBase();

            fact.FactString = factstring;
            return(fact);
        }
예제 #3
0
 public static void MergeFact(FactBase target, FactBase source)
 {
     if (target.Concept == null)
     {
         target.Concept = source.Concept;
     }
     Dimension.MergeDimensions(target.Dimensions, source.Dimensions);
 }
예제 #4
0
 public void AddFact(FactBase fact)
 {
     _Facts.Add(fact);
 }