private void DisplayWidgets(IEnumerable<Widget> widgets, WidgetSettings settings) { List<int> column1 = settings.Column1 .Split(new []{'|'}, StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse).ToList(); List<int> column2 = settings.Column2 .Split(new []{'|'}, StringSplitOptions.RemoveEmptyEntries) .Select(int.Parse).ToList(); foreach(int id in column1) { var widget = (from w in widgets where w.Id == id select w).Single(); pnlColumn1.Controls.Add(WrapWidget(LoadControl(widget.Location), "widget_"+widget.Id)); } foreach(int id in column2) { var widget = (from w in widgets where w.Id == id select w).Single(); pnlColumn2.Controls.Add(WrapWidget(LoadControl(widget.Location), "widget_"+widget.Id)); } }
private void InitializeWidgetSettings(List<Widget> widgets, ref WidgetSettings settings) { settings = new WidgetSettings() { UserId = Manager.GetUser().ID ?? 0, Column1 = String.Empty, Column2 = String.Empty }; for(int i = 0; i < widgets.Count(); i++) { Widget widget = widgets[i]; if((i+1)%2 != 0) settings.Column1 += widget.Id+"|"; else settings.Column2 += widget.Id+"|"; } }