Exemple #1
0
        public void AddPost(Post post)
        {
            Posts.Add(post);

            // Adding a new post changes the possible totals that may have been
            // computed before.
            if (XData != null)
            {
                XData.SelfDetails.Gathered     = false;
                XData.SelfDetails.Calculated   = false;
                XData.FamilyDetails.Gathered   = false;
                XData.FamilyDetails.Calculated = false;

                if (!Value.IsNullOrEmpty(XData.FamilyDetails.Total))
                {
                    XData.FamilyDetails.Total = null; // [DM] - decided to replace 'new Value();' with 'null' for performance reasons
                }
                Account ancestor = this;

                while (ancestor.Parent != null)
                {
                    ancestor = ancestor.Parent;
                    if (ancestor.HasXData)
                    {
                        AccountXData xdata = ancestor.XData;
                        xdata.FamilyDetails.Gathered   = false;
                        xdata.FamilyDetails.Calculated = false;
                        xdata.FamilyDetails.Total      = null; // [DM] - decided to replace 'new Value();' with 'null' for performance reasons
                    }
                }
            }
        }
Exemple #2
0
 public void SetFlags(AccountXData accountXData)
 {
     SortCalc       = accountXData.SortCalc;
     HasNonVirtuals = accountXData.HasNonVirtuals;
     HasUnbVirtuals = accountXData.HasUnbVirtuals;
     AutoVirtualize = accountXData.AutoVirtualize;
     Visited        = accountXData.Visited;
     Matching       = accountXData.Matching;
     ToDisplay      = accountXData.ToDisplay;
     Displayed      = accountXData.Displayed;
 }
Exemple #3
0
        private static bool HasXFlags(AccountXData xdata, bool toDisplay, bool visited)
        {
            if (toDisplay && !xdata.ToDisplay)
            {
                return(false);
            }

            if (visited && !xdata.Visited)
            {
                return(false);
            }

            return(toDisplay || visited);
        }