public void ExecuteService(ITaskAwaiter taskAwaiter) { var config = Config; var version = Assembly.GetExecutingAssembly().GetName().Version; var frameworkVersion = Assembly.GetExecutingAssembly().GetCustomAttribute <TargetFrameworkAttribute>().FrameworkName; var consoleMessageBuilder = new ConsoleMessageBuilder(); consoleMessageBuilder.Write(" * ", ConsoleColor.Green, false) .Write("ABOUT".PadRight(13), false) .Write($"Tuckfirtle Miner/{version} ", ConsoleColor.Cyan, false) .WriteLine(frameworkVersion, false); consoleMessageBuilder.Write(" * ", ConsoleColor.Green, false) .Write("THREADS".PadRight(13), false) .Write($"{config.Threads.Length}", ConsoleColor.Cyan, false) .Write(", ", false) .Write("TuckfirtlePow", false) .Write(", ", false) .WriteLine($"donate={config.DonateLevel}%", config.DonateLevel == 0 ? ConsoleColor.Red : ConsoleColor.White, false); consoleMessageBuilder.Write(" * ", ConsoleColor.Green, false) .Write("COMMANDS".PadRight(13), false) .Write("h", ConsoleColor.Magenta, false) .WriteLine("ashrate", false); ConsoleLogger.LogMessage(consoleMessageBuilder.Build()); }
public static void Main() { DependencyManager.InstallService(new ConsoleStreamQueueLoggerServiceInstaller()); DependencyManager.InstallService(new BootstrapServiceInstaller()); DependencyManager.InstallService(new JsonConfigServiceInstaller(Path.Combine(Environment.CurrentDirectory, "Config.json"))); DependencyManager.InstallService(new ConsoleBootstrapServiceInstaller()); DependencyManager.InstallService(new MiningBootstrapServiceInstaller()); DependencyManager.BuildAndExecute((provider, exception) => { var consoleLogger = provider.GetRequiredService <IConsoleLogger>() ?? new ConsoleStreamLogger(Console.Error); if (exception is AggregateException aggregateException) { var consoleMessages = new ConsoleMessageBuilder(); foreach (var exInnerException in aggregateException.InnerExceptions) { if (exInnerException is OperationCanceledException) { continue; } consoleMessages.WriteLine(exInnerException.ToString(), ConsoleColor.Red); } var message = consoleMessages.WriteLine("Press Enter/Return to exit...").Build(); if (message.Count > 1) { consoleLogger.LogMessage(message); Console.ReadLine(); } ExitWithFault(); } else { consoleLogger.LogMessage(new ConsoleMessageBuilder() .WriteLine(exception.ToString(), ConsoleColor.Red) .WriteLine("Press Enter/Return to exit...") .Build()); Console.ReadLine(); ExitWithFault(); } }); }