private bool ParseCommandlineArguments(out CommandlineArgument arguments) { arguments = new CommandlineArgument(); bool success = true; string[] args = Environment.GetCommandLineArgs(); for (int i = 1; i < args.Length; i += 2) { if (String.Equals(args[i], "-server", StringComparison.OrdinalIgnoreCase)) { tfsk.Properties.Settings.Default.TFSUrl = args[i + 1]; } else if (String.Equals(args[i], "-path", StringComparison.OrdinalIgnoreCase)) { arguments.FilePath = args[i + 1]; } else if (String.Equals(args[i], "-numdisplay", StringComparison.OrdinalIgnoreCase)) { int numDisplay; if (Int32.TryParse(args[i + 1], out numDisplay)) { arguments.NumDisplay = numDisplay; } } else if (String.Equals(args[i], "-excludeUser", StringComparison.OrdinalIgnoreCase)) { arguments.ExcludeUsers = args[i + 1]; } else if (String.Equals(args[i], "-version", StringComparison.OrdinalIgnoreCase)) { VersionSpec[] versions = VersionSpec.Parse(args[i + 1], null); if (versions != null && versions.Length == 1) { arguments.VersionMax = versions[0].DisplayString; arguments.GetLatestVersion = false; } else if (versions != null && versions.Length == 2) { arguments.VersionMin = versions[0].DisplayString; arguments.VersionMax = versions[1].DisplayString; arguments.GetLatestVersion = false; arguments.NoMinVersion = false; } } else { success = false; } } if (String.IsNullOrEmpty(tfsk.Properties.Settings.Default.TFSUrl)) { MessageBox.Show("TFS Server URL is empty. Please set it using -server <tfsurl>"); success = false; } if (String.IsNullOrEmpty(arguments.FilePath)) { MessageBox.Show("File path is empty. Please set it using -path <file or directory>"); success = false; } return success; }
public MainWindowViewModel(CommandlineArgument argument) { QueryHistoryCommand = new RelayCommand(QueryHistory); FilterCommand = new RelayCommand(Filter); FilePath = argument.FilePath; NumDisplay = argument.NumDisplay; ExcludeUsers = argument.ExcludeUsers; VersionMin = argument.VersionMin; VersionMax = argument.VersionMax; GetLatestVersion = argument.GetLatestVersion; NoMinVersion = argument.NoMinVersion; Status = "Ready"; queryHistoryWorker = new BackgroundWorker(); queryHistoryWorker.DoWork += QueryHistory_DoWork; queryHistoryWorker.RunWorkerCompleted += QueryHistory_RunWorkerComplete; UpdateVersionControl(); QueryHistory(); }