I want to create column validator where I can pass custom functions/methods.
Edit: I don't need to dynamically build these functions it is possible to build solution before hand, and I am constrained to .net 3.5. Basically I'm trying to create reusable class for my SSIS Script processes.
I did not know how to do that in C# so I created a fast representation in JavaScript of what I want to achieve here
// Data extracted from file
var data = "2|User2|15\r\n3|User1|13";
// Define columns in file
var columnKeys = ["ID", "Username", "Age"];
// Custome column validation
var columnValidation = {
"ID": function (value) {
if (isNaN(value)) return false;
else return true;
},
"Username": function (value) {
return true;
},
"Age": function (value) {
return true;
}
};
var ValidateColumns = function (data, keys, rules) {
var rowSep = "\r\n";
var colSep = "|";
// Get rows
var rows = data.split(rowSep);
_.each(rows, function (row) {
// Get columns
var columns = row.split(colSep);
// Validate columns
_.each(columns, function (column) {
if (rules[keys[columns.indexOf(column)]](column)) {
console.log("Column " + keys[columns.indexOf(column)] + ": Passed");
}
else {
console.log("Column " + keys[columns.indexOf(column)] + ": Failed");
}
});
});
};
ValidateColumns(data, columnKeys, columnValidation);
Questions:
- How to create functions/methods that will go in?
- How to pass these functions inside class/method that will validate columns?