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;
         }
     }
 }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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();
        }