SasQueryParametersExtensions
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
namespace Azure.Storage.Sas
{
    internal static class SasQueryParametersExtensions
    {
        internal static void ParseKeyProperties(this BlobSasQueryParameters parameters, IDictionary<string, string> values)
        {
            KeyValuePair<string, string>[] array = values.ToArray();
            parameters.KeyProperties = new UserDelegationKeyProperties();
            foreach (KeyValuePair<string, string> item in (IEnumerable<KeyValuePair<string, string>>)array) {
                bool flag = true;
                switch (item.Key.ToUpperInvariant()) {
                case "SKOID":
                    parameters.KeyProperties.ObjectId = item.Value;
                    break;
                case "SKTID":
                    parameters.KeyProperties.TenantId = item.Value;
                    break;
                case "SKT":
                    parameters.KeyProperties.StartsOn = DateTimeOffset.ParseExact(item.Value, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);
                    break;
                case "SKE":
                    parameters.KeyProperties.ExpiresOn = DateTimeOffset.ParseExact(item.Value, "yyyy-MM-ddTHH:mm:ssZ", CultureInfo.InvariantCulture);
                    break;
                case "SKS":
                    parameters.KeyProperties.Service = item.Value;
                    break;
                case "SKV":
                    parameters.KeyProperties.Version = item.Value;
                    break;
                default:
                    flag = false;
                    break;
                }
                if (flag)
                    values.Remove(item.Key);
            }
        }
    }
}