private static void MatchAndSetKnownAcrValueFromAcrIdentifier(KnownAcrValues acrValues, string acrValueIdentifier, string acrValue) { switch (acrValueIdentifier) { case RecaptchaAnswer: acrValues.RecaptchaResponse = acrValue; break; case Language: acrValues.Language = acrValue; break; case Sdk: // Backwards compatibility if (string.IsNullOrEmpty(acrValues.OsVersion)) { acrValues.OsVersion = acrValue; } break; case Device: acrValues.Device = ParseDevice(acrValue); break; case Tenant: acrValues.Tenant = acrValue; break; case OsVersion: acrValues.OsVersion = acrValue; break; } }
public static KnownAcrValues ToKnownAcrValues(this IEnumerable <string> valPairs) { var acrValues = new KnownAcrValues(); foreach (var split in valPairs.Select(pair => pair.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries)) .Where(split => split.Length == 2)) { MatchAndSetKnownAcrValueFromAcrIdentifier(acrValues, split[0], split[1]); } return(acrValues); }