public override void Input(BsonDataRow inputRow) { var newRow = new BsonDataRow(); foreach (var column in _transformColumnDefinitions) { if (column.TransformFunction != null) { var newVal = column.TransformFunction(inputRow.GetValue(column.SourceColumnName)); newRow.SetValue(column.TargetColumnName, newVal); } else { newRow.SetValue(column.TargetColumnName, inputRow.GetValue(column.SourceColumnName)); } } foreach (var column in _calculationColumnDefinitions) { var calVal = column.CalculateFunction(inputRow); newRow.SetValue(column.TargetColumnName, calVal); } inputRow.CombineWith(newRow); Output(inputRow); }
public void Input(BsonDataRow row) { if (_internalInput != null) { _internalInput(row); } }
public void Input(BsonDataRow row) { if(_internalInput != null) { _internalInput(row); } }
public void CombineWith(BsonDataRow row) { var document = row._internalDocument; foreach(var element in document.Elements) { _internalDocument.SetElement(element); } }
public void CombineWith(BsonDataRow row) { var document = row._internalDocument; foreach (var element in document.Elements) { _internalDocument.SetElement(element); } }
public void Input(BsonDataRow inputRow) { var identity = Builders<BsonDocument>.Filter.Eq("_id", inputRow.GetValue("_id")); UpdateDefinition<BsonDocument> updateDefinition = null; foreach (var columName in _columnNames) { if(updateDefinition == null) { updateDefinition = Builders<BsonDocument>.Update.Set(columName, inputRow.GetValue(columName)); } else { updateDefinition = updateDefinition.Set(columName, inputRow.GetValue(columName)); } } var task = _collection.UpdateOneAsync(identity, updateDefinition, new UpdateOptions { IsUpsert = true }); task.Wait(); }
public void Input(BsonDataRow inputRow) { var identity = Builders <BsonDocument> .Filter.Eq("_id", inputRow.GetValue("_id")); UpdateDefinition <BsonDocument> updateDefinition = null; foreach (var columName in _columnNames) { if (updateDefinition == null) { updateDefinition = Builders <BsonDocument> .Update.Set(columName, inputRow.GetValue(columName)); } else { updateDefinition = updateDefinition.Set(columName, inputRow.GetValue(columName)); } } var task = _collection.UpdateOneAsync(identity, updateDefinition, new UpdateOptions { IsUpsert = true }); task.Wait(); }
public abstract void Input(BsonDataRow row);