CommaSeparatedQueryStringConvention:
a. Added single SeparatedQueryStringAttribute object to be used while looping through each parameter.
b. Removed second check in if statement to allow for handling of multiple parameters with attribute.
c. Utilized new "AddKey()" method of SeparatedQueryStringAttribute to add keys with attribute.
SeparatedQueryStringAttribute:
a. Added new method, AddKey(string), to add additional strings to the keys to be used in SeparatedQueryStringValueProviderFactory
SeparatedQueryStringValueProviderFactory:
a. Changed string _key to HashSet _keys to hold list of keys to be checked rather than single key.
b. Added new constructor to take IEnumerable to initialize the _keys variable.
c. Refactored current constructor(string, string) to use newly created constructor.
d. Refactored CreateValueProviderAsync(ValueProviderFactorContext) method to use newly created constructor in SeparatedQueryStringValueProvider which handles IEnumerable of keys.
e. Added AddKey(string) method to add new keys to _keys HashSet.
SeparatedQueryStringValueProvider:
a. Changed string _key to HashSet _keys to hold list of keys to be checked rather than single key.
b. Added new constructor to take IEnumerable to initialize the _keys variable.
c. Refactored constructor(string, IQueryCollection, string) to use new constructor to intialize _keys.
d. Refactored GetValue(string) to check if HashSet contains key being checked rather than testing against single _key.