static void Main(string[] args) { var options = new ApplicationArguments(); if (!CommandLine.Parser.Default.ParseArguments(args, options)) { return; } var dir = Directory.CreateDirectory(options.ExportDir); switch (options.Action) { case Action.Export: //setup export writer. ExportTemplatesToFolder(options.Key, dir, options.TemplateName, options.IgnoreDates); break; case Action.Import: ImportFromFolderToMandrill(options.Key, dir, options.TemplateName); break; case Action.Delete: DeleteTemplates(options.Key, CreateBackupDir(dir), options.TemplateName); break; default: throw new ArgumentOutOfRangeException(); } }