public string GetRecordCountByString(List <EwavRule_Base> rules, string s, string tableName, string dsName) { try { EpiDashboard.GadgetParameters inputs = new EpiDashboard.GadgetParameters(); inputs.TableName = tableName; inputs.DatasourceName = dsName; EpiDashboard.DashboardHelper dashboardHelper = new EpiDashboard.DashboardHelper(inputs, s, rules); dashboardHelper.UseAdvancedUserDataFilter = true; dashboardHelper.AdvancedUserDataFilter = s; //EntityManager em = new EntityManager(); //return em.GetRecordsCount(dsName, tableName, s); dashboardHelper.EwavConstructTableColumnNames(inputs); dashboardHelper.GenerateView(inputs); string totalRecords = dashboardHelper.DataSet.Tables[0].Rows.Count.ToString(); string filteredRecords = dashboardHelper.DataSet.Tables[0].DefaultView.Count.ToString(); string result = totalRecords + "," + filteredRecords; return(result); } catch (Exception ex) { throw new Exception(ex.Message + " -- " + ex.StackTrace); } }
/// <summary> /// Exports the Data in to DatatableBag /// </summary> /// <param name="dsName"></param> /// <param name="tableName"></param> /// <param name="ewavDataFilters"></param> /// <param name="rules"></param> /// <returns></returns> public DatatableBag ExportData(string dsName, string tableName, IEnumerable <EwavDataFilterCondition> ewavDataFilters, List <EwavRule_Base> rules) { DatatableBag dtb = new DatatableBag(); EpiDashboard.GadgetParameters gp = new EpiDashboard.GadgetParameters(); gp.DatasourceName = dsName; gp.TableName = tableName; EpiDashboard.DashboardHelper dbHelper = new EpiDashboard.DashboardHelper(gp, ewavDataFilters, rules); dbHelper.PopulateDataSet(); DataView dv = dbHelper.DataSet.Tables[0].DefaultView; ///Write code here return(dtb); }
public string ReadFilterString(List <EwavDataFilterCondition> filterList, List <EwavRule_Base> rules, string tableName, string dsName) { try { EpiDashboard.GadgetParameters inputs = new EpiDashboard.GadgetParameters(); inputs.TableName = tableName; inputs.DatasourceName = dsName; EpiDashboard.DashboardHelper dashboardHelper = new EpiDashboard.DashboardHelper(inputs, filterList, rules); dashboardHelper.EwavConstructTableColumnNames(inputs); dashboardHelper.CreateDataFilters(filterList); return(dashboardHelper.GenerateDataFilterString()); } catch (Exception ex) { throw new Exception(ex.Message + " -- " + ex.StackTrace); } }
public string GetRecordCount(List <EwavDataFilterCondition> filterList, List <EwavRule_Base> rules, string tableName, string dsName) { Assembly assembly = Assembly.GetExecutingAssembly(); String version = assembly.FullName.Split(',')[1]; String fullversion = version.Split('=')[1]; try { string result; if (filterList.Count == 0 && rules.Count == 0) { EntityManager em = new EntityManager(); int recordCount = em.GetRawDataTableRecordCount(dsName, tableName); result = recordCount.ToString() + "," + recordCount.ToString(); } else { EpiDashboard.GadgetParameters inputs = new EpiDashboard.GadgetParameters(); inputs.TableName = tableName; inputs.DatasourceName = dsName; EpiDashboard.DashboardHelper dashboardHelper = new EpiDashboard.DashboardHelper(inputs, filterList, rules); dashboardHelper.EwavConstructTableColumnNames(inputs); dashboardHelper.CreateDataFilters(filterList); dashboardHelper.GenerateView(inputs); string totalRecords = dashboardHelper.DataSet.Tables[0].Rows.Count.ToString(); string filteredRecords = dashboardHelper.DataSet.Tables[0].DefaultView.Count.ToString(); result = totalRecords + "," + filteredRecords; } return(result); } catch (Exception ex) { throw new Exception(ex.Message + " -- " + ex.StackTrace); } }
public void Render(Epi.View view) { try { if (!view.IsRelatedView) { EpiDashboard.DashboardHelper helper = new EpiDashboard.DashboardHelper(view, DBReadExecute.GetDataDriver(view.Project.FilePath)); dashboard = new EpiDashboard.DashboardControl(helper); this.WindowState = FormWindowState.Maximized; helper.SetDashboardControl(dashboard); dashboard.RecordCountChanged += new EpiDashboard.RecordCountChangedHandler(dashboard_RecordCountChanged); host.Child = dashboard; dashboard.UpdateRecordCount(); dashboard.ReCacheDataSource(); } } catch (Exception ex) { //temporarily catch all } }
EpiDashboard.DashboardHelper dashboard_DashboardHelperRequested() { Epi.Windows.Dialogs.BaseReadDialog dlg = new Dialogs.BaseReadDialog(this); if (dashboardHelper != null && dashboardHelper.Database != null && !dashboardHelper.IsUsingEpiProject) { dlg = new Dialogs.BaseReadDialog(this, dashboardHelper.Database); if (dashboardHelper.CustomQuery != null && !string.IsNullOrEmpty(dashboardHelper.CustomQuery.Trim())) { dlg.SQLQuery = dashboardHelper.CustomQuery; } } else if (dashboardHelper != null && dashboardHelper.Database != null && dashboardHelper.IsUsingEpiProject) { dlg = new Dialogs.BaseReadDialog(this, dashboardHelper.View.Project); } if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (dlg.SelectedDataSource is Project) { Project project = (Project)dlg.SelectedDataSource; if (dlg.IsFormSelected) { View view = project.GetViewByName(dlg.SelectedDataMember); if (!File.Exists(project.FilePath)) { MsgBox.ShowInformation(string.Format(SharedStrings.DASHBOARD_ERROR_PROJECT_NOT_FOUND, project.FilePath)); return(null); } IDbDriver dbDriver = DBReadExecute.GetDataDriver(project.FilePath); if (!dbDriver.TableExists(view.TableName)) { MsgBox.ShowInformation(string.Format(SharedStrings.DATA_TABLE_NOT_FOUND, view.Name)); return(null); } else { dashboardHelper = new EpiDashboard.DashboardHelper(view, dbDriver); } } else { // Note: This pathway breaks when you try and re-set the data source, however, the UI that allows this code to be // hit has been temporarily disabled. IDbDriver dbDriver = project.CollectedData.GetDatabase(); dashboardHelper = new EpiDashboard.DashboardHelper(dlg.SelectedDataMember, dbDriver); } } else { IDbDriver dbDriver = (IDbDriver)dlg.SelectedDataSource; if (string.IsNullOrEmpty(dlg.SQLQuery)) { dashboardHelper = new EpiDashboard.DashboardHelper(dlg.SelectedDataMember, dbDriver); } else { dashboardHelper = new EpiDashboard.DashboardHelper(dlg.SelectedDataMember, dlg.SQLQuery, dbDriver); } } return(dashboardHelper); } return(null); }
EpiDashboard.RelatedConnection dashboard_RelatedDataRequested() { if (this.dashboard.DashboardHelper == null) { Epi.Windows.MsgBox.ShowInformation(SharedStrings.DASHBOARD_CANNOT_RELATE_NO_DATA_SOURCE); return(null); } // May arrive here by opening a canvas file without going through normal request routine. this.dashboardHelper = this.dashboard.DashboardHelper; Epi.Windows.Dialogs.ReadRelatedDialog dlg = new Dialogs.ReadRelatedDialog(this.dashboard.DashboardHelper.TableColumnNames); if (dashboard.DashboardHelper.IsUsingEpiProject) { Dictionary <string, string> tableColumnNamesFiltered = new Dictionary <string, string>(); foreach (KeyValuePair <string, string> kvp in this.dashboardHelper.TableColumnNames) { if (kvp.Value.ToLowerInvariant() != "epi.fields.groupfield") { tableColumnNamesFiltered.Add(kvp.Key, kvp.Value); } } dlg = new Dialogs.ReadRelatedDialog(this.dashboard.DashboardHelper.View.Project, tableColumnNamesFiltered); } EpiDashboard.RelatedConnection relatedConnection = null; if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (dlg.SelectedDataSource is Project && dlg.SelectedItemType == Dialogs.SelectedItemType.Form) { Project project = (Project)dlg.SelectedDataSource; View view = project.GetViewByName(dlg.SelectedDataMember); IDbDriver dbDriver = DBReadExecute.GetDataDriver(project.FilePath); relatedConnection = new EpiDashboard.RelatedConnection(view, dbDriver, dlg.ParentKeyField, dlg.ChildKeyField, dlg.UseUnmatched, false); if (dashboardHelper.IsUsingEpiProject && dashboardHelper.View.Project.FilePath == project.FilePath) { relatedConnection.SameDataSource = true; } } else if (dlg.SelectedDataSource is Project && dlg.SelectedItemType == Dialogs.SelectedItemType.Table) { Project project = (Project)dlg.SelectedDataSource; IDbDriver dbDriver = project.CollectedData.GetDbDriver(); relatedConnection = new EpiDashboard.RelatedConnection(dlg.SelectedDataMember, dbDriver, dlg.ParentKeyField, dlg.ChildKeyField, dlg.UseUnmatched, false); if (dashboardHelper.IsUsingEpiProject && dashboardHelper.View.Project.FilePath == project.FilePath) { relatedConnection.SameDataSource = true; } } else { IDbDriver dbDriver = (IDbDriver)dlg.SelectedDataSource; relatedConnection = new EpiDashboard.RelatedConnection(dlg.SelectedDataMember, dbDriver, dlg.ParentKeyField, dlg.ChildKeyField, dlg.UseUnmatched, false); } dashboard.ReCacheDataSource(false); return(relatedConnection); } return(null); }
EpiDashboard.RelatedConnection dashboard_RelatedDataRequested() { if (this.dashboard.DashboardHelper == null) { Epi.Windows.MsgBox.ShowInformation(SharedStrings.DASHBOARD_CANNOT_RELATE_NO_DATA_SOURCE); return null; } // May arrive here by opening a canvas file without going through normal request routine. this.dashboardHelper = this.dashboard.DashboardHelper; Epi.Windows.Dialogs.ReadRelatedDialog dlg = new Dialogs.ReadRelatedDialog(this.dashboard.DashboardHelper.TableColumnNames); if (dashboard.DashboardHelper.IsUsingEpiProject) { Dictionary<string, string> tableColumnNamesFiltered = new Dictionary<string, string>(); foreach (KeyValuePair<string, string> kvp in this.dashboardHelper.TableColumnNames) { if (kvp.Value.ToLower() != "epi.fields.groupfield") { tableColumnNamesFiltered.Add(kvp.Key, kvp.Value); } } dlg = new Dialogs.ReadRelatedDialog(this.dashboard.DashboardHelper.View.Project, tableColumnNamesFiltered); } EpiDashboard.RelatedConnection relatedConnection = null; if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (dlg.SelectedDataSource is Project && dlg.SelectedItemType == Dialogs.SelectedItemType.Form) { Project project = (Project)dlg.SelectedDataSource; View view = project.GetViewByName(dlg.SelectedDataMember); IDbDriver dbDriver = DBReadExecute.GetDataDriver(project.FilePath); relatedConnection = new EpiDashboard.RelatedConnection(view, dbDriver, dlg.ParentKeyField, dlg.ChildKeyField, dlg.UseUnmatched, false); if (dashboardHelper.IsUsingEpiProject && dashboardHelper.View.Project.FilePath == project.FilePath) { relatedConnection.SameDataSource = true; } } else if (dlg.SelectedDataSource is Project && dlg.SelectedItemType == Dialogs.SelectedItemType.Table) { Project project = (Project)dlg.SelectedDataSource; IDbDriver dbDriver = project.CollectedData.GetDbDriver(); relatedConnection = new EpiDashboard.RelatedConnection(dlg.SelectedDataMember, dbDriver, dlg.ParentKeyField, dlg.ChildKeyField, dlg.UseUnmatched, false); if (dashboardHelper.IsUsingEpiProject && dashboardHelper.View.Project.FilePath == project.FilePath) { relatedConnection.SameDataSource = true; } } else { IDbDriver dbDriver = (IDbDriver)dlg.SelectedDataSource; relatedConnection = new EpiDashboard.RelatedConnection(dlg.SelectedDataMember, dbDriver, dlg.ParentKeyField, dlg.ChildKeyField, dlg.UseUnmatched, false); } dashboard.ReCacheDataSource(false); return relatedConnection; } return null; }
EpiDashboard.DashboardHelper dashboard_DashboardHelperRequested() { Epi.Windows.Dialogs.BaseReadDialog dlg = new Dialogs.BaseReadDialog(); if (dashboardHelper != null && dashboardHelper.Database != null && !dashboardHelper.IsUsingEpiProject) { dlg = new Dialogs.BaseReadDialog(dashboardHelper.Database); if (dashboardHelper.CustomQuery != null && !string.IsNullOrEmpty(dashboardHelper.CustomQuery.Trim())) { dlg.SQLQuery = dashboardHelper.CustomQuery; } } else if (dashboardHelper != null && dashboardHelper.Database != null && dashboardHelper.IsUsingEpiProject) { dlg = new Dialogs.BaseReadDialog(dashboardHelper.View.Project); } if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { if (dlg.SelectedDataSource is Project) { Project project = (Project)dlg.SelectedDataSource; if (dlg.IsFormSelected) { View view = project.GetViewByName(dlg.SelectedDataMember); if (!File.Exists(project.FilePath)) { MsgBox.ShowInformation(string.Format(SharedStrings.DASHBOARD_ERROR_PROJECT_NOT_FOUND, project.FilePath)); return null; } IDbDriver dbDriver = DBReadExecute.GetDataDriver(project.FilePath); if (!dbDriver.TableExists(view.TableName)) { MsgBox.ShowInformation(string.Format(SharedStrings.DATA_TABLE_NOT_FOUND, view.Name)); return null; } else { dashboardHelper = new EpiDashboard.DashboardHelper(view, dbDriver); } } else { // Note: This pathway breaks when you try and re-set the data source, however, the UI that allows this code to be // hit has been temporarily disabled. IDbDriver dbDriver = project.CollectedData.GetDatabase(); dashboardHelper = new EpiDashboard.DashboardHelper(dlg.SelectedDataMember, dbDriver); } } else { IDbDriver dbDriver = (IDbDriver)dlg.SelectedDataSource; if (string.IsNullOrEmpty(dlg.SQLQuery)) { dashboardHelper = new EpiDashboard.DashboardHelper(dlg.SelectedDataMember, dbDriver); } else { dashboardHelper = new EpiDashboard.DashboardHelper(dlg.SelectedDataMember, dlg.SQLQuery, dbDriver); } } return dashboardHelper; } return null; }