private bool CommandExists(string[] commandRawData, out CommandValidationStatus validationStatus) { CommandName commandName; Enum.TryParse(commandRawData[0], true, out commandName); validationStatus = commandName != CommandName.Unknown ? CommandValidationStatus.Ok : CommandValidationStatus.CommandNotFound; return validationStatus == CommandValidationStatus.Ok; }
public ConsoleCommand(ConsoleCommandConfig config, CommandValidationStatus validationStatus, params string[] arguments) : base(config.Name, config.Call, config.ArgumentValidators) { Arguments = arguments ?? new string[] { }; ValidationStatus = validationStatus; }
private bool ValidArgumentTypes(string[] commandRawData, out CommandValidationStatus validationStatus) { ConsoleCommandConfig commandConfig = GetCommandConfig(commandRawData); validationStatus = CommandValidationStatus.Ok; for (int i = 0; i < commandConfig.ArgumentValidators.Length; i++) { var re = new Regex(commandConfig.ArgumentValidators[i], RegexOptions.IgnoreCase); if (re.IsMatch(commandRawData[i+1])) continue; validationStatus = CommandValidationStatus.ArgumentHasInvalidValue; break; } return validationStatus == CommandValidationStatus.Ok; }
private bool ValidNumberOfArguments(string[] commandRawData, out CommandValidationStatus validationStatus) { ConsoleCommandConfig commandConfig = GetCommandConfig(commandRawData); validationStatus = commandConfig.ArgumentValidators.Length == commandRawData.Length - 1 ? CommandValidationStatus.Ok : CommandValidationStatus.InvalidNumberOfArguments; return validationStatus == CommandValidationStatus.Ok; }
private bool HasData(string[] commandRawData, out CommandValidationStatus validationStatus) { validationStatus = commandRawData != null && commandRawData.Any() ? CommandValidationStatus.Ok : CommandValidationStatus.Unvalidated; return validationStatus == CommandValidationStatus.Ok; }