示例#1
0
        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;
            }
        }
示例#2
0
        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);
        }