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); }