public CmdApplicationConfigurationViewModel Create(CmdApplicationMeta meta) { if (meta == null) { throw new ArgumentNullException(nameof(meta)); } var properties = new List <ParameterViewModel>(); foreach (var parameterMeta in meta.ParameterMetas) { ParameterViewModel viewModel = null; if (parameterMeta.ParameterType == typeof(NameValueParameter)) { viewModel = new NameValueParameterViewModel(parameterMeta.Name, parameterMeta.DisplayName); } else if (parameterMeta.ParameterType == typeof(NameOnlyParameter)) { viewModel = new NameOnlyParameterViewModel(parameterMeta.Name, parameterMeta.DisplayName); } else { throw new ArgumentException(string.Format("Type {0} not supported for parameter {1}", parameterMeta.ParameterType, parameterMeta.Name)); } properties.Add(viewModel); } return(new CmdApplicationConfigurationViewModel(meta, properties, Channel, StringParsers)); }
public IEnumerable <CmdApplicationConfiguration> Query(CmdApplicationMeta criteria) { if (criteria == null) { throw new ArgumentNullException(nameof(criteria)); } var streams = this.StoreReader.OpenStreamsFor(criteria); foreach (var stream in streams) { using (var jsonReader = new JsonTextReader(new StreamReader(stream))) { CmdApplicationConfiguration applicationConfiguration; try { applicationConfiguration = serializer.Deserialize <CmdApplicationConfiguration>(jsonReader); } catch (Exception) { continue; } yield return(applicationConfiguration); } } }
public static string GetConfigurationDirectoryName(this CmdApplicationMeta applicationMeta) { if (applicationMeta == null) { throw new ArgumentNullException(nameof(applicationMeta)); } return((string)applicationMeta.ApplicationName); }
public static DirectoryInfo GetConfigurationDirectoryInfo(this CmdApplicationMeta applicationMeta, string rootDirectory) { if (applicationMeta == null) { throw new ArgumentNullException(nameof(applicationMeta)); } return(new DirectoryInfo(Path.Combine(rootDirectory, applicationMeta.GetConfigurationDirectoryName())) .CreateIfDoesNotExists()); }
protected override IList <IParameter> GetParameters(string data, CmdApplicationMeta applicationMeta) { var connectionStringBuilder = GetConnectionStringBuilder(data); if (connectionStringBuilder == null) { return(default(IList <IParameter>)); } var returnList = new List <IParameter>(); var serverName = new NameValueParameter((Name)"-S", connectionStringBuilder["Server"] as string); var databaseName = connectionStringBuilder["Initial Catalog"] as string; if (string.IsNullOrEmpty(databaseName)) { databaseName = "<default>"; } var initialCatalog = new NameValueParameter((Name)"-d", databaseName); returnList.Add(serverName); returnList.Add(initialCatalog); var userId = connectionStringBuilder["user id"] as string; var password = connectionStringBuilder["password"] as string; IParameter username = null; if (!string.IsNullOrEmpty(userId)) { username = new NameValueParameter((Name)"-U", userId); returnList.Add(username); } IParameter pass = null; if (!string.IsNullOrEmpty(password)) { pass = new NameValueParameter((Name)"-P", password); returnList.Add(pass); } IParameter integratedSecurity = null; if ((bool)connectionStringBuilder["integrated Security"]) { integratedSecurity = new NameOnlyParameter((Name)"-E"); returnList.Add(integratedSecurity); } return(returnList); }
public CmdApplicationConfigurationViewModel Create( CmdApplicationConfiguration applicationConfiguration, CmdApplicationMeta applicationMeta) { if (applicationConfiguration == null) { throw new ArgumentNullException(nameof(applicationConfiguration)); } if (applicationMeta == null) { throw new ArgumentNullException(nameof(applicationMeta)); } var properties = new List <ParameterViewModel>(); foreach (var parameterMeta in applicationMeta.ParameterMetas) { ParameterViewModel viewModel = null; if (parameterMeta.ParameterType == typeof(NameValueParameter)) { viewModel = new NameValueParameterViewModel(parameterMeta.Name, parameterMeta.DisplayName); viewModel.WithParameter(applicationConfiguration .Parameters .FirstOrDefault(a => a.Name == parameterMeta.Name)); } else if (parameterMeta.ParameterType == typeof(NameOnlyParameter)) { viewModel = new NameOnlyParameterViewModel(parameterMeta.Name, parameterMeta.DisplayName); viewModel.WithParameter(applicationConfiguration.Parameters.FirstOrDefault(a => a.Name == parameterMeta.Name)); } else { throw new ArgumentException(string.Format("Type {0} not supported for parameter {1}", parameterMeta.ParameterType, parameterMeta.Name)); } properties.Add(viewModel); } var returnValue = new CmdApplicationConfigurationViewModel( applicationMeta, properties, Channel, StringParsers); returnValue.FriendlyName = (string)applicationConfiguration.Name; return(returnValue); }
private CmdApplicationConfiguration CreateCmdApplicationConfiguration( string friendlyName, CmdApplicationMeta meta) { var parameterList = new List <IParameter>(); IParameter parameter = new NameOnlyParameter((Name)"-E"); parameterList.Add(parameter); parameter = new NameValueParameter((Name)"-S", "Value"); parameterList.Add(parameter); var configuration = new CmdApplicationConfiguration( (Name)friendlyName, (Name)meta.ApplicationName, new ReadOnlyCollection <IParameter>(parameterList)); return(configuration); }
public void CreateWithInvalidParameterMetaTypeThrowsException( Name name, Name applicationName, Name parameterName, IChannel <SaveCmdApplicationConfigurationCommand> channel, CmdApplicationConfigurationViewModelFactory sut) { var parameter = new Mock <IParameter>(); var meta = new CmdApplicationMeta( name, applicationName, new List <ParameterMeta>() { ParameterMeta.Create <IParameter>(parameterName) }); Assert.Throws <ArgumentException>(() => sut.Create(meta)); }
public CmdApplicationConfigurationViewModel( CmdApplicationMeta applicationMeta, List <ParameterViewModel> properties, IChannel <SaveCmdApplicationConfigurationCommand> channel, IEnumerable <CmdApplicationConfigurationParser <string> > stringParsers) { if (applicationMeta == null) { throw new ArgumentNullException(nameof(applicationMeta)); } if (properties == null) { throw new ArgumentNullException(nameof(properties)); } if (channel == null) { throw new ArgumentNullException(nameof(channel)); } if (stringParsers == null) { throw new ArgumentNullException(nameof(stringParsers)); } this.ApplicationMeta = applicationMeta; this.ApplicationName = applicationMeta.ApplicationName; this.Properties = properties; this.Channel = channel; this.StringParsers = stringParsers; this.Save = new RelayCommand(this.OnSaveExecuted, () => this.IsInEditMode); this.ToggleEdit = new RelayCommand(this.OnToggleEditExecuted); this.Launch = new RelayCommand(this.OnLaunchExecuted); DomainEvents.Subscribe <ConfigurationSavedEvent>(this); DomainEvents.Subscribe <CmdApplicationConfigurationSaveRejected>(this); }
public void GetDirectoryOnNullThrowsException() { CmdApplicationMeta sut = null; Assert.Throws <ArgumentNullException>(() => sut.GetConfigurationDirectoryInfo(string.Empty)); }
protected override IList <IParameter> GetParameters(object data, CmdApplicationMeta applicationMeta) { return(Parameters); }
protected override Name GetFriendlyName(object data, CmdApplicationMeta applicationMeta) { return(FriendlyName); }
public void CreateThrowsExcpetionForNullParameters(CmdApplicationConfigurationViewModelFactory factory) { CmdApplicationMeta NullMeta = null; Assert.Throws <ArgumentNullException>(() => factory.Create(NullMeta)); }
protected override Name GetFriendlyName(string data, CmdApplicationMeta applicationMeta) { return(null); }