public static void SetFieldMappingPreferences(List<ProjectFieldMapModel> projectFieldMapModel, ProjectFieldMapModel generalPreferences)
{
//set general or activity preferences
foreach (var mapModel in projectFieldMapModel)
{
var activityPreference = new AimsDbIatiDAL().GetFieldMappingPreferenceActivity(mapModel.iatiActivity.IatiIdentifier);
var fields = mapModel.Fields.ToList();
fields.AddRange(mapModel.TransactionFields);
foreach (var field in fields)
{
//get GetFieldMappingPreferenceActivity for this field
var activityFieldSource = activityPreference.Find(f => f.FieldName == field.Field);
if (activityFieldSource != null)
{
field.IsSourceIATI = activityFieldSource.IsSourceIATI;
}
else // apply general preferences
{
var generalFieldSource = generalPreferences.Fields.Find(f => f.Field == field.Field);
if (generalFieldSource != null)
field.IsSourceIATI = generalFieldSource.IsSourceIATI;
}
}
}
}