public void DoIncrements(Func<VersionFormatter, string, IncrementMethod, string, string> processIncrementMethod, Dictionary<string, List<string>> arguments, VersionFormatter formatter) { var safeArgs = new SafeDictionay<string, List<string>>(arguments); Numbers.Major = processIncrementMethod(formatter, Numbers.Major, Increments.Major, safeArgs[Parameters.Major.TL()]?.First()); Numbers.Minor = processIncrementMethod(formatter, Numbers.Minor, Increments.Minor, safeArgs[Parameters.Minor.TL()]?.First()); Numbers.Patch = processIncrementMethod(formatter, Numbers.Patch, Increments.Patch, safeArgs[Parameters.Patch.TL()]?.First()); Numbers.Build = processIncrementMethod(formatter, Numbers.Build, Increments.Build, safeArgs[Parameters.Build.TL()]?.First()); Numbers.Revision = processIncrementMethod(formatter, Numbers.Revision, Increments.Revision, safeArgs[Parameters.Revision.TL()]?.First()); }
private static void ValidateDoVersioningArguments() { var safeArgs = new SafeDictionay<string, List<string>>(Arguments); bool valid = safeArgs[Parameters.VCPath.TL()]?.Any() ?? false; if (safeArgs.ContainsKey(Parameters.GenerateVC.TL()) && !File.Exists(safeArgs[Parameters.VCPath.TL()].First())) { throw new FileNotFoundException($"File not found:{Arguments[Parameters.VCPath].First()}", Arguments[Parameters.VCPath].First()); } valid = valid && ValidateAction(); if (!valid) { throw new WrongArgumentsException {Command = Commands.DoVersioning}; } }