/// <summary> /// Called when command line is parsing. /// </summary> /// <param name="name">The name.</param> /// <param name="value">The value.</param> /// <param name="type">The type.</param> /// <returns><c>true</c> if arguments was handled, <c>false</c> otherwise.</returns> protected bool OnCommandLineParsing(string name, string value, CommandLineArgumentType type) { CommandLineParseEventArgs args = new CommandLineParseEventArgs(name, value, type); this.TryInvoke(new Action(() => { this.model.OnCommandLineParsing(args); })); return(args.Handled); }
private void Model_CommandLineParsing(object sender, CommandLineParseEventArgs e) { if (e.Type == CommandLineArgumentType.Parameter) { if (e.Name.Equals("InstallFolder", StringComparison.InvariantCultureIgnoreCase) && !string.IsNullOrWhiteSpace(e.Value)) { // Allow relative directory paths. Also validates. this.InstallDirectory = Path.Combine(Environment.CurrentDirectory, e.Value); e.Handled = true; } else if (e.Name.Equals("LayoutFolder", StringComparison.InvariantCultureIgnoreCase) && !string.IsNullOrWhiteSpace(e.Value)) { // Allow relative directory paths. Also validates. this.LayoutDirectory = Path.Combine(Environment.CurrentDirectory, e.Value); e.Handled = true; } } }