Example #1
0
        /// <summary>
        /// 将原始数据读入到数据集合
        /// </summary>
        /// <param name="sqlStr"> sql语句 </param>
        /// <param name="data"> 数据集合 </param>
        /// <param name="config">配置</param>
        private void GetOriginalValueFromDB(string sqlStr, OriginalConfig config, IList <OriginalData> data)
        {
            OriginalData od;
            DataTable    dt = SqlHelper.ExecuteDataSetText(sqlStr, null).Tables[0];

            foreach (DataRow row in dt.Rows)
            {
                od                 = new OriginalData();
                od.SensorId        = Convert.ToInt32(row[0]);
                od.AcquisitionTime = Convert.ToDateTime(row[1]);
                od.Location        = Convert.ToString(row[2]);

                od.Values = new decimal[row.ItemArray.Length - 3];
                for (int i = 3; i < row.ItemArray.Length; i++)
                {
                    if (row[i] != DBNull.Value)
                    {
                        od.Values[i - 3] =
                            Convert.ToDecimal(Convert.ToDecimal(row[i]).ToString("f" + config.DecimalDigits[i - 3]));
                    }
                }

                od.Columns = config.Display;
                od.Unit    = config.Unit;
                data.Add(od);
            }
        }
    public TestEnvironmoent()
    {
        // Backup config and override on filesystem with new.
        OriginalConfig = IConfig <LoaderConfig> .FromPathOrDefault(Paths.LoaderConfigPath);

        TestConfig = MakeTestConfig();

        if (OriginalConfig.GetApplicationConfigDirectory() != TestConfig.GetApplicationConfigDirectory())
        {
            IConfig <LoaderConfig> .ToPath(OriginalConfig, $"{Paths.LoaderConfigPath}.bak");
        }

        IConfig <LoaderConfig> .ToPath(TestConfig, Paths.LoaderConfigPath);

        try
        {
            // Populate configurations.
            ModConfigurationTuples = ModConfig.GetAllMods().ToArray();
            ModConfigurations      = ModConfigurationTuples.Select(x => x.Config).ToArray();
            AppConfigurations      = ApplicationConfig.GetAllApplications().Select(x => x.Config).ToArray();

            ThisApplication = new ApplicationConfig(IdOfThisApp,
                                                    "Reloaded Mod Loader Tests",
                                                    Environment.CurrentProcessLocation.Value,
                                                    new[] { TestModConfigA.ModId, TestModConfigB.ModId, TestModConfigD.ModId });

            ConfigurationPathOfThisApp = Path.Combine(TestConfig.GetApplicationConfigDirectory(), IdOfThisApp, ApplicationConfig.ConfigFileName);
            IConfig <ApplicationConfig> .ToPath(ThisApplication, ConfigurationPathOfThisApp);

            // Populate nonexisting dependencies.
            NonexistingDependencies.Add(TestModB.Program.NonexistingDependencyName);
            NonexistingDependencies.Add(TestModC.Program.NonexistingDependencyName);

            // Create user configs if necessary.
            ModConfigService  = new ModConfigService(TestConfig);
            UserConfigService = new ModUserConfigService(TestConfig, ModConfigService);
        }
        catch (Exception)
        {
            IConfig <LoaderConfig> .ToPath(OriginalConfig, Paths.LoaderConfigPath);

            throw;
        }
    }