Implements a class that can take two providers and normalize their column sets. This is used when the names of the columns in two providers are not equal, and will typically be used when we have a contact-selection combined with a project, sale, doc or appointment.
The logic here is that the columns provided to the SetColumns function does not contain person/ prefixes, since they come from a contact selection. All columns in the non-contact selection provider will there need to receive normalized columns, ie. those that ends with the same as the ones in the columnIds array.
In addition, when retrieving rows, we need to rename the column names for the non-contact provider so that the user interface will see it.
public class ColumnNormalizer
public ColumnNormalizer(IArchiveProvider leftProvider, IArchiveProvider rightProvider)
Handle an archive row and it's column names
public void NormalizeColumns(ArchiveRow row)
Sets columns on the two providers, harmonized.
public void SetColumns(string columnIds)