/// <summary> /// Prints program usage message. /// </summary> private static void ShowUsage() { if (helpShown) { return; } else { helpShown = true; } string exeName = Path.GetFileName(Assembly.GetExecutingAssembly().Location); Console.WriteLine("Runs DFP API code examples"); Console.WriteLine("Usage : {0} [flags]\n", exeName); Console.WriteLine("Available flags\n"); Console.WriteLine("--help\t\t : Prints this help message."); Console.WriteLine("--all\t\t : Run all code examples."); Console.WriteLine("examplename1 [examplename1 ...] : " + "Run specific code examples. Example name can be one of the following:\n"); foreach (SamplePair pair in sampleMap) { SampleBase sample = Activator.CreateInstance(pair.Value) as SampleBase; string description = (string)pair.Value.GetProperty("Description").GetValue(sample, null); Console.WriteLine("{0} : {1}", pair.Key, description); } Console.WriteLine("Press [Enter] to continue"); Console.ReadLine(); }
/// <summary> /// Runs a code example. /// </summary> /// <param name="user">The user whose credentials should be used for /// running the code example.</param> /// <param name="example">The code example to run.</param> private static void RunASample(DfpUser user, SampleBase example) { try { Console.WriteLine(example.Description); example.Run(user); } catch (Exception ex) { Console.WriteLine("An exception occurred while running this code sample.\n{0} at\n{1}", ex.Message, ex.StackTrace); } finally { Console.WriteLine("Press [Enter] to continue"); Console.ReadLine(); } }
static void RegisterSample(string key, SampleBase value) { sampleMap.Add(new SamplePair(key, value)); }
/// <summary> /// Runs a code example. /// </summary> /// <param name="user">The user whose credentials should be used for /// running the code example.</param> /// <param name="example">The code example to run.</param> private static void RunASample(DfpUser user, SampleBase example) { try { Console.WriteLine(example.Description); example.Run(user); } catch (Exception e) { Console.WriteLine("An exception occurred while running this code sample.\n{0} at\n{1}", e.Message, e.StackTrace); } finally { Console.WriteLine("Press [Enter] to continue"); Console.ReadLine(); } }