Ejemplo n.º 1
0
        void LoadDashboardFromDatabase(WeatherDb db, ref Dashboard dashboard)
        {
            var selectedItems  = new List <SelectedDashboardItem>();
            var user           = _userManager.GetUserAsync(User).Result;
            var dashboardItems = db.DashboardItem.Where(item => item.UserId.Equals(user.Id));

            foreach (var dashboardItem in dashboardItems)
            {
                var widget = dashboard.AvailableWidgets.FirstOrDefault(w => w.Guid.Equals(new Guid(dashboardItem.WidgetId)));

                if (widget != null)
                {
                    if (_widgetProvider.ValidateStationIds(widget, dashboardItem.Filters.Select(f => f.StationId)))
                    {
                        selectedItems.Add(SelectedDashboardItem.Build(dashboardItem, widget));
                    }
                }
            }

            dashboard.Items = selectedItems;
        }