public Command GetAddFilesCommand(AddFilesParameters parameters) { Assert.IsNotNull(parameters); var args = new List<ICommandArgument>((parameters.Paths != null ? parameters.Paths.Count + 1 : 0) + 5); InsertAddFilesParameters(parameters, args); return new AddCommand(args); }
public Command GetQueryFilesToAddCommand(AddFilesParameters parameters) { Assert.IsNotNull(parameters); var args = new List<ICommandArgument>((parameters.Paths != null ? parameters.Paths.Count + 1 : 0) + 6); args.Add(AddCommand.DryRun()); InsertAddFilesParameters(parameters, args); return new AddCommand(args); }
private static void InsertAddFilesParameters(AddFilesParameters parameters, IList<ICommandArgument> args) { if(parameters.Force) { args.Add(AddCommand.Force()); } switch(parameters.Mode) { case AddFilesMode.All: args.Add(AddCommand.All()); break; case AddFilesMode.Update: args.Add(AddCommand.Update()); break; } if(parameters.IntentToAdd) { args.Add(AddCommand.IntentToAdd()); } if(parameters.Refresh) { args.Add(AddCommand.Refresh()); } if(parameters.IgnoreErrors) { args.Add(AddCommand.IgnoreErrors()); } if(parameters.Paths != null && parameters.Paths.Count != 0) { args.Add(AddCommand.NoMoreOptions()); foreach(var path in parameters.Paths) { args.Add(new PathCommandArgument(path)); } } }