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