public override bool UpdateDynamicNode(DBNode <DBMovieInfo> node)
        {
            if (node.BasicFilteringField == DBField.GetFieldByDBName(typeof(DBMovieInfo), "year"))
            {
                UpdateYear(node);
                TranslateName(node);
                return(true);
            }

            if (node.BasicFilteringField == DBField.GetFieldByDBName(typeof(DBMovieInfo), "date_added"))
            {
                UpdateDateAdded(node);
                TranslateName(node);
                return(true);
            }

            if (node.BasicFilteringField == DBField.GetFieldByDBName(typeof(DBMovieInfo), "actors"))
            {
                UpdateActors(node);
                TranslateName(node);
                return(true);
            }

            // for all other dynamic nodes, use generic processing but use a translated name
            node.UpdateDynamicNodeGeneric();
            TranslateName(node);
            return(true);
        }
        private void UpdateActors(DBNode <DBMovieInfo> node)
        {
            node.UpdateDynamicNodeGeneric();

            List <DBNode <DBMovieInfo> > toRemove = new List <DBNode <DBMovieInfo> >();

            foreach (DBNode <DBMovieInfo> currNode in node.Children)
            {
                if (currNode.DBManager == null)
                {
                    currNode.DBManager = MovingPicturesCore.DatabaseManager;
                }

                if (currNode.GetFilteredItems().Count < MovingPicturesCore.Settings.ActorLimit)
                {
                    toRemove.Add(currNode);
                }
            }

            foreach (DBNode <DBMovieInfo> currNode in toRemove)
            {
                node.Children.Remove(currNode);
            }
        }