private IList<IInputOutputViewModel> GenerateMapping(string savedMappingData, string mappingDefinitions, bool isOutputMapping, IDev2LanguageParser parser)
{
IList<IInputOutputViewModel> result;
if(string.IsNullOrEmpty(savedMappingData))
{
// TODO : Inject fuzzy matching logic here ;)
var fuzzyMatchDefinitions = GenerateMatchFragmentsFromDataList();
result = CreateMappingList(mappingDefinitions, parser, true, isOutputMapping, fuzzyMatchDefinitions);
}
else
{
// generate the master view ;)
var masterView = CreateMappingList(mappingDefinitions, parser, true, isOutputMapping);
// use existing data ;)
var existingView = CreateMappingList(savedMappingData, parser, false, isOutputMapping);
// Now adjust for the difference between the two views ;)
result = ReconcileExistingAndMasterView(masterView, existingView);
}
return result;
}