public bool ProcessInputArguments(string[] args) { foreach (string argument in args) { if (argument.ToLower() == "-help") { EmitHelpMessage(); break; } else { string[] argVal = argument.Split('='); if (argVal.Length != 2) { Console.WriteLine("ERROR: Invalid argument - " + argument); return(false); } string arg = argVal[0]; string val = argVal[1]; if (arg.ToLower() == "-getp") { string[] packageInfo = val.Split(','); if (packageInfo.Length != 3) { Console.WriteLine("ERROR: Invalid 'getp' argument value - " + val); return(false); } if (!_requestManager.GetPackage(packageInfo[0], packageInfo[1], packageInfo[2])) { Console.WriteLine("ERROR: Specified respository is not local - " + packageInfo[0]); return(false); } } else { Console.WriteLine("ERROR: Unknown argument - " + arg); return(false); } } } return(true); }
public void run() { Console.WriteLine("Type \"help\" for more support."); while (true) { Console.WriteLine(""); Console.WriteLine("Enter a request: "); string req = Console.ReadLine(); if (req.ToUpper() == "EXIT") { return; // exit - send close message } if (req.ToUpper() == "HELP") { Console.WriteLine("ADD - add local repository"); Console.WriteLine("DEL - remove local repository"); Console.WriteLine("STATUS - local repository status"); Console.WriteLine("GET - get repositories"); Console.WriteLine("GETV - get package versions"); Console.WriteLine("GETP - get package"); Console.WriteLine("EXIT - exit client"); } else if (req.ToUpper() == "ADD") { Console.WriteLine("Enter repository name:"); string repositoryName = Console.ReadLine(); Console.WriteLine("Enter repository path:"); string repositoryPath = Console.ReadLine(); if (!_requestManager.AddLocalRepository(repositoryName, repositoryPath)) { Console.WriteLine("ERROR: Cannot add local repository!"); } } else if (req.ToUpper() == "DEL") { Console.WriteLine("Enter repository name:"); string repositoryName = Console.ReadLine(); if (!_requestManager.RemoveLocalRepository(repositoryName)) { Console.WriteLine("ERROR: Cannot remove local repository!"); } } else if (req.ToUpper() == "STATUS") { _requestManager.LocalRepositoryStatus(); } else if (req.ToUpper() == "GET") { _requestManager.GetRepositoriesList(); } else if (req.ToUpper() == "GETV") { Console.WriteLine("Enter repository name:"); string repositoryName = Console.ReadLine(); Console.WriteLine("Enter package name(separator - ,):"); string packageNames = Console.ReadLine(); _requestManager.GetPackageVersions(repositoryName, packageNames); } else if (req.ToUpper() == "GETP") { Console.WriteLine("Enter repository name:"); string repositoryName = Console.ReadLine(); Console.WriteLine("Enter package name:"); string packageName = Console.ReadLine(); Console.WriteLine("Enter version:"); string version = Console.ReadLine(); // TODO - check if it is not in repository if (!_requestManager.GetPackage(repositoryName, packageName, version)) { Console.WriteLine("ERROR: Specified respository is not local - " + repositoryName); } } else { Console.WriteLine("WARNING: Invalid request - " + req); } } }