コード例 #1
0
ファイル: Startup.cs プロジェクト: ssh352/runner
 /// <summary>
 /// Initializes a new instance of the <see cref="Startup"/> class.
 /// Sets configuration.
 /// </summary>
 /// <param name="filepath">Location of the configuration file.</param>
 public Startup(string filepath)
 {
     // Download all currencies from Binance
     TradingPair.Sync();
     using (var file = new StreamReader(filepath))
     {
         var configuration = new DeserializerBuilder()
                             .Build()
                             .Deserialize <Configuration>(file);
         configuration.Bind();
         ConfigurationValidator.ValidateConstraintsRecursively(configuration);
     }
 }
コード例 #2
0
ファイル: Program.cs プロジェクト: ssh352/runner
        private static int Main(string[] args)
        {
            if (args.Length == 0)
            {
                var versionString = Assembly.GetEntryAssembly()
                                    .GetCustomAttribute <AssemblyInformationalVersionAttribute>()
                                    .InformationalVersion;

                Console.WriteLine($"spreadshare verify v{versionString}");
                Console.WriteLine("-------------");
                Console.WriteLine("\nUsage:");
                Console.WriteLine("  dotnet verify <file>");
                return(2);
            }

            var          filename = args[0];
            StreamReader source;

            try
            {
                source = new StreamReader(filename);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                return(1);
            }

            // Ensure trading pairs can be verified.
            TradingPair.Sync();

            var config = new DeserializerBuilder().Build().Deserialize <Configuration>(source);

            config.Bind();
            var failures = ConfigurationValidator.GetConstraintFailuresRecursively(config).ToArray();

            if (!failures.Any())
            {
                return(0);
            }

            foreach (var failure in failures)
            {
                Console.WriteLine(failure);
            }

            return(1);
        }