private void SaveAndClose() { if (iReportDatasourceMetadataBindingSource.Current == null) return; var datasource = GetDataSourceForCurrentMetadata(); var traversedDatasourceResult = _traverser.TraversePath(datasource, pathTextEdit.Text); var toReturn = new ReportDatasourceMetadataWithTraversal(CurrentMetadata, pathTextEdit.Text, traversedDatasourceResult.TraversedDataType); _aggregator.Publish(new DataSourceSelectedForReportMessage(toReturn, _report)); Close(); }
public void SetReportDatasource(XtraReport report, IReportDatasourceMetadata md, string traversalPath) { //Fetch datasource from repository object datasourceObject = _designDataRepository.GetDataSourceByUniqueId(md.UniqueId); //Traverse path var traverseResult = _dataSourceTraverser.TraversePath(datasourceObject, traversalPath); //Set Datasource report.SetReportOnDataSourceAsCollection(traverseResult.TraversedDataSource); //Store association var mdWithTraversal = new ReportDatasourceMetadataWithTraversal(md, traversalPath, traverseResult.TraversedDataType); _reportMetadataAssociationRepository.AssociateWithReportAsCurrent(mdWithTraversal, report); }