private void BindDataSource(Dashboard dashboard, DashboardSqlDataSource dashboardSqlDataSource) { dashboard.DataSources.Add(dashboardSqlDataSource); foreach (var item in dashboard.Items) { DataDashboardItem dataItem = item as DataDashboardItem; if (dataItem != null) { dataItem.DataSource = dashboardSqlDataSource; dataItem.DataMember = dashboardSqlDataSource.Queries[0].Name; } } }
static void AddItemCopy(DashboardItem originalItem, DashboardMerger dashboardMerger, Action <DashboardItem> addItemDelegate) { DashboardItemCollection toItems = dashboardMerger.OriginalDashboard.Items; IDictionary <string, string> dataSourceNamesMap = dashboardMerger.DataSourceNamesMap; DataSourceCollection existingDataSources = dashboardMerger.OriginalDashboard.DataSources; DashboardItem dashboardItemCopy = originalItem.CreateCopy(); bool shouldAddItem = false; if (toItems.Any(item => item.ComponentName == originalItem.ComponentName)) { if (ResolveDashboardItemNameConflict(dashboardItemCopy, originalItem.ComponentName, toItems, dashboardMerger.DashboardItemNamesMap)) { shouldAddItem = true; } } else { dashboardItemCopy.ComponentName = originalItem.ComponentName; shouldAddItem = true; } if (shouldAddItem) { DataDashboardItem dataDashboardItem = dashboardItemCopy as DataDashboardItem; if (dataDashboardItem != null && dataDashboardItem.DataSource != null) { string newDataSourceName = String.Empty; if (!dataSourceNamesMap.TryGetValue(dataDashboardItem.DataSource.ComponentName, out newDataSourceName)) { newDataSourceName = dataDashboardItem.DataSource.ComponentName; } dataDashboardItem.DataSource = existingDataSources[newDataSourceName]; } addItemDelegate(dashboardItemCopy); } }
private void FilterDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (filterDialog.DialogResult == true) { var filtersProps = filterDialog.Filters.Select(p => new FilterProperties() { PropertyName = p.name, UserInput = p.value, ParameterType = p.parameterType }); filterValues = filterDialog.PropValuePair; PropSort = filterDialog.PropSort; if (lstOfFilters.ContainsKey(selectedDataSourceName)) { if (filterValues == null || filterValues.Count() == 0) { lstOfFilters.Remove(selectedDataSourceName); } else { lstOfFilters[selectedDataSourceName] = filterValues; } } else { if (filterValues != null && filterValues.Count() > 0) { lstOfFilters.Add(selectedDataSourceName, filterValues); } } if (lstOfNewFilters.ContainsKey(selectedDataSourceName)) { if (filtersProps == null || filtersProps.Count() == 0) { lstOfNewFilters.Remove(selectedDataSourceName); } else { lstOfNewFilters[selectedDataSourceName] = filtersProps?.ToList(); } } else { if (filtersProps != null && filtersProps.Count() > 0) { lstOfNewFilters.Add(selectedDataSourceName, filtersProps?.ToList()); } } if (lstOfSorters.ContainsKey(selectedDataSourceName)) { if (PropSort == null || PropSort.sortingProperties.Count() == 0) { lstOfSorters.Remove(selectedDataSourceName); } else { lstOfSorters[selectedDataSourceName] = PropSort; } } else { if (PropSort != null && PropSort.sortingProperties.Count() > 0) { lstOfSorters.Add(selectedDataSourceName, PropSort); } } LoadOnOpen = true; DataDashboardItem dataItem = FocusedItem as DataDashboardItem; if (dataItem == null) { return; } string dsComponentName = dataItem.DataSource.ComponentName; if (!dataSourceLoadingParams.Contains(dsComponentName)) { dataSourceLoadingParams.Add(dsComponentName); } dashboardViewerUniconta.ReloadData(); } e.Cancel = true; filterDialog.Hide(); }