private void btnUpdateTransformationPreview_Click(object sender, RoutedEventArgs e) { try { int columnIndex = datastore.Metadata.Columns[this.configuration.InputXmlColumn].ColumnIndex; string originalDataStore = (string)datastore[0][columnIndex]; int originalRowCount = datastore.Count; tbTransformedXml.Text = XmlTransformation.TransformXml(tbInputData.Text, this.configuration.TransformationXslt); var transformationLog = XmlTransformation.TransformToDatastore(datastore, this.configuration.TransformationXslt, this.configuration.InputXmlColumn, true); this.DataPreviewGrid.DataContext = DatastoreHelper.ConvertDatastoreToTable(this.datastore, 10000, new string[] { this.configuration.InputXmlColumn }, transformationLog.RowNumbersToHide.ToArray()); foreach (var newColumn in transformationLog.NewColumns) { datastore.RemoveColumn(newColumn); } for (int rowIndex = datastore.Count - 1; rowIndex != originalRowCount - 1; rowIndex--) { datastore.RemoveDataAt(rowIndex); } datastore[0][columnIndex] = originalDataStore; } catch (Exception ex) { string errorMessage = "An error occured while transforming:\n\n" + ex.Message; if (ex.InnerException != null) { errorMessage += ex.InnerException.Message; } MessageBox.Show(errorMessage); } }
public void ExecuteItem(DesignerItemBase item, RunLog runLog) { var incomingConnections = FlowGraph.GetIncomingConnections(item); var outgoingConnections = FlowGraph.GetOutgoingConnections(item); List <IDatastore> dataStores = new List <IDatastore>(); if (item.ModuleDescription.Attributes.ModuleType == ModuleType.Source) { var dataStore = InitializeDatastore(); dataStores.Add(dataStore); } else { foreach (var incomingConnection in incomingConnections.OrderBy(t => t.SinkConnectorName)) { dataStores.Add(DataStreams[incomingConnection]); DataStreams.Remove(incomingConnection); } } var returnedDataStore = moduleExecution.ExecuteDesignerItem(item, dataStores, ReportProgressMethod); for (int i = 0; i < outgoingConnections.Count; i++) { if (i == 0) { DataStreams.Add(outgoingConnections[i], returnedDataStore); } else { var targetDatastore = InitializeDatastore(); DatastoreHelper.CopyDatastore(returnedDataStore, targetDatastore); DataStreams.Add(outgoingConnections[i], targetDatastore); } } }
public DataPreviewWindow(IDatastore datastore) { InitializeComponent(); this.DataPreviewGrid.DataContext = DatastoreHelper.ConvertDatastoreToTable(datastore, 10000); }