BudgetAnalyser.Engine.Services.DashboardService.UpdateAllWidgets C# (CSharp) Method

UpdateAllWidgets() private method

private UpdateAllWidgets ( ) : void
return void
        private void UpdateAllWidgets(params Type[] filterDependencyTypes)
        {
            if (WidgetGroups == null || WidgetGroups.None())
            {
                // Widget Groups have not yet been initialised and persistent state has not yet been loaded.
                return;
            }

            if (filterDependencyTypes != null && filterDependencyTypes.Length > 0)
            {
                // targeted update
                List<Widget> affectedWidgets = WidgetGroups.SelectMany(group => group.Widgets)
                    .Where(w => w.Dependencies.Any(filterDependencyTypes.Contains))
                    .ToList();
                affectedWidgets.ForEach(UpdateWidget);
            }
            else
            {
                // update all
                WidgetGroups.SelectMany(group => group.Widgets).ToList().ForEach(UpdateWidget);
            }
        }