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 } } } }
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; }
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); }