private void updateDatabaseObjectInfo() { DatabaseObject.NumberBoxes = ProjectTiles.Count(); DatabaseObject.NumberCards = ProjectCards.Count(); DatabaseObject.NumberTokens = ProjectTokens.Count(); DatabaseObject.NumberBoards = ProjectBoards.Count(); }
private bool postParse() { foreach (var element in projectElements) { if (!(element is IHasElements elementedElement)) { continue; } var elementQueue = elementedElement.PendingElements; while (elementQueue.Count > 0) { int nextElement = elementQueue.Dequeue(); switch (elementedElement.NestedElementType) { case ElementType.Token: if (ProjectTokens.All(b => b.ID != nextElement)) { return(false); } elementedElement.Elements.Add(ProjectTokens.First(b => b.ID == nextElement)); break; case ElementType.Card: if (ProjectCards.All(b => b.ID != nextElement)) { return(false); } elementedElement.Elements.Add(ProjectCards.First(b => b.ID == nextElement)); break; case ElementType.Tile: if (ProjectTiles.All(b => b.ID != nextElement)) { return(false); } elementedElement.Elements.Add(ProjectTiles.First(b => b.ID == nextElement)); break; case ElementType.Board: if (ProjectBoards.All(b => b.ID != nextElement)) { return(false); } elementedElement.Elements.Add(ProjectBoards.First(b => b.ID == nextElement)); break; } } } return(true); }