Пример #1
0
        private static AuthService ToAuthService(string consumerName, KeyElement consumerKey, KeyElement consumerSecret, KeyElement consumerKeyDefault, KeyElement consumerSecretDefault)
        {
            var authService = new AuthService(consumerName);

            if (consumerKey != null)
            {
                authService.WithKey(consumerKey.Name, KeyStorage.Get(consumerKey.Name));
                if (KeyStorage.CanSet(consumerKey.Name))
                {
                    authService.CanSet = true;
                }
                if (consumerKey.Order.HasValue)
                {
                    authService.Order = consumerKey.Order;
                }
            }
            if (consumerSecret != null)
            {
                authService.WithSecret(consumerSecret.Name, KeyStorage.Get(consumerSecret.Name));
                if (!authService.CanSet && KeyStorage.CanSet(consumerSecret.Name))
                {
                    authService.CanSet = true;
                }
                if (!authService.Order.HasValue && consumerSecret.Order.HasValue)
                {
                    authService.Order = consumerSecret.Order;
                }
            }
            if (consumerKeyDefault != null)
            {
                authService.WithKeyDefault(consumerKeyDefault.Name, KeyStorage.Get(consumerKeyDefault.Name));
                if (!authService.CanSet && KeyStorage.CanSet(consumerKeyDefault.Name))
                {
                    authService.CanSet = true;
                }
                if (!authService.Order.HasValue && consumerKeyDefault.Order.HasValue)
                {
                    authService.Order = consumerKeyDefault.Order;
                }
            }
            if (consumerSecretDefault != null)
            {
                authService.WithSecretDefault(consumerSecretDefault.Name, KeyStorage.Get(consumerSecretDefault.Name));
                if (!authService.CanSet && KeyStorage.CanSet(consumerSecretDefault.Name))
                {
                    authService.CanSet = true;
                }
                if (!authService.Order.HasValue && consumerSecretDefault.Order.HasValue)
                {
                    authService.Order = consumerSecretDefault.Order;
                }
            }

            if (!authService.Order.HasValue)
            {
                authService.Order = int.MaxValue;
            }

            return(authService);
        }