Beispiel #1
0
 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);
     }
 }
Beispiel #2
0
        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);
                }
            }
        }
Beispiel #3
0
        public DataPreviewWindow(IDatastore datastore)
        {
            InitializeComponent();

            this.DataPreviewGrid.DataContext = DatastoreHelper.ConvertDatastoreToTable(datastore, 10000);
        }