Beispiel #1
0
    //存入相关配置信息
    public static void setConfigItem(ConfigItems itemKey, string item)
    {
        string key        = itemKey.ToString();
        string theIniPath = Application.persistentDataPath + "/GalConfig.txt";

        if (!File.Exists(theIniPath))
        {
            //没有配置文件就新建一个
            createConfigFileIfNull();
        }
        int index = 0;

        for (int i = 0; i < configKey.Count; i++)
        {
            if (configKey [i] == key)
            {
                index = i;
                break;
            }
        }
        configValue [index] = item;

        //不推荐动态flash,IO操作爆炸,尤其是slider
        //flashConfig ();
    }
Beispiel #2
0
        /// <summary>
        ///  Init Config
        ///  AddSwaggerGen
        ///  Add HiddenApiAttribute And HiddenSwaggerFilter
        /// </summary>
        /// <param name="services"></param>
        /// <param name="title"></param>
        /// <param name="configuration"></param>
        /// <param name="swaggerConfig"></param>
        /// <param name="apiVersion"></param>
        /// <param name="swaggerGenOptionsAction"></param>
        /// <remarks>
        ///     add AddSwaggerGen with DocumentFilter
        ///     1、 <see cref="System.Attributes.HiddenApiAttribute" />
        ///     2、 <see cref="System.Attributes.HiddenSwaggerFilter" />
        ///     add all files like *.xmls in AppContext.BaseDirectory
        /// </remarks>
        /// <returns></returns>
        public static IServiceCollection AddSwaggerConfig(this IServiceCollection services, string title, IConfiguration configuration, ISwaggerConfig swaggerConfig = null,
                                                          string apiVersion = "v1", Action <SwaggerGenOptions> swaggerGenOptionsAction = null)
        {
            if (swaggerConfig != null)
            {
                ConfigItems.InitSwaggerConfig(swaggerConfig);
            }

            ConfigItems.InitConfiguration(configuration);

            services.AddSwaggerGen(c =>
            {
                c.DescribeAllParametersInCamelCase();
                c.DocumentFilter <HiddenApiAttribute>();
                c.DocumentFilter <HiddenSwaggerFilter>();
                c.SwaggerDoc(apiVersion, new OpenApiInfo
                {
                    Title   = title,
                    Version = apiVersion,
                });
                var path = AppContext.BaseDirectory;
                foreach (var file in Directory.GetFiles(path))
                {
                    if (".xml".Equals(Path.GetExtension(file)))
                    {
                        c.IncludeXmlComments(Path.GetFullPath(file));
                    }
                }
                swaggerGenOptionsAction?.Invoke(c);
            });
            return(services);
        }
 public void Save()
 {
     ConfigItems.Where(ci => ci is IConfigItemBase).ToList().ForEach(ci => ((IConfigItemBase)ci).Save());
     ConfigAdvancedItems.Where(ci => ci is IConfigItemBase).ToList().ForEach(ci => ((IConfigItemBase)ci).Save());
     Logic.Instance.settings.Save();
     TryClose();
 }
Beispiel #4
0
        static public ConfigItems GetGlobalConfigItems()
        {
            var items = new ConfigItems();

            Func <string, string[]> splitPathItems = text => text.Split(';', ',')
                                                     .Where(x => !string.IsNullOrEmpty(x))
                                                     .Select(x => Environment.ExpandEnvironmentVariables(x.Trim()))
                                                     .ToArray();

            try
            {
                items.dirs.AddRange(splitPathItems(DefaultSearchDirs ?? ""));
                items.asms.AddRange(splitPathItems(DefaultRefAsms ?? ""));
                items.namespaces.AddRange(splitPathItems(DefaultNamespaces ?? ""));

                var configFile = Settings.DefaultConfigFile;
                var settings   = Settings.Load(configFile);
#if !class_lib
                items.dirs.AddRange(splitPathItems(settings.SearchDirs));
#else
                items.dirs.AddRange(settings.SearchDirs);
#endif

                if (configFile != null && File.Exists(configFile))
                {
                    items.dirs.Add(Path.Combine(Path.GetDirectoryName(configFile), "lib"));
                }
                items.asms.AddRange(splitPathItems(settings.DefaultRefAssemblies));
            }
            catch { }

            items.dirs = items.dirs.Distinct().ToList();
            return(items);
        }
Beispiel #5
0
        /// <summary>
        ///
        /// </summary>
        public DbSrc(IQuery <DataSet> q, ConfigItems <KeyValuePair <string, string> > config) : base(null, null, null)
        {
            //Q = new FoxproDataQuery();
            Q      = q;
            Config = config;

            //Ds = Q.GetData("");
        }
Beispiel #6
0
        ///// <summary>
        ///// Retrieves source code of the check specified by check name.
        ///// This source code can be later compiled into binary assembly by OSLEBot.
        ///// </summary>
        ///// <param name="checkName">Name of the check whose source code needs to be retrieved.</param>
        ///// <returns>Source code string. This should be written into a temporary *.cs file if you want to have OSLEBot compile it.</returns>
        ///// <exception cref="ArgumentOutOfRangeException">Thrown when a check with the specified name is not found.</exception>
        ///// <exception cref="ArgumentException">Thrown when more than 1 check matches the specified name. This indicates data inconsistency.</exception>
        //public string GetCheckSourceCode(string checkName)
        //{
        //    var matches = from check in Checks
        //                  where check.Name == checkName
        //                  select check;
        //    if (matches.Count() == 0)
        //        throw new ArgumentOutOfRangeException("checkName", "The specified check not found");
        //    if (matches.Count() > 1)
        //        throw new ArgumentException("Data inconsistency. Found more than 1 check with the same name.",
        //                                    "checkName");
        //    return matches.Single().SourceCode;
        //}

        /// <summary>
        /// Fills this data set with test (sample) data.
        /// </summary>
        public void FillWithTestData()
        {
            Clear();
            var check1 = Checks.AddChecksRow("FedericaTest.cs", "Test for Federica", "");
            var check2 = Checks.AddChecksRow("Branding.cs", "This is check 2", "");
            var check3 = Checks.AddChecksRow("PseudoLoc.cs", "This is check 3", "");
            var check4 = Checks.AddChecksRow("InvalidLocVer.cs", "This is global check for testing globality detection", "");
            var check5 = Checks.AddChecksRow("EACheck.cs", "This is a check that is global for all languages", "");
            var check6 = Checks.AddChecksRow("WordTemplatesMailMerge.cs", "This is a second check that is global for all languages", "");

            var enUS   = Languages.AddLanguagesRow("en-us");
            var frFR   = Languages.AddLanguagesRow("fr-fr");
            var deDE   = Languages.AddLanguagesRow("de-de");
            var pseudo = Languages.AddLanguagesRow("ja-jp.pseudo");
            var plPL   = Languages.AddLanguagesRow("pl-pl");
            var jaJP   = Languages.AddLanguagesRow("ja-jp");
            var brBR   = Languages.AddLanguagesRow("br-BR");

            var msoProject    = Projects.AddProjectsRow("mso");
            var wordProject   = Projects.AddProjectsRow("word");
            var excelProject  = Projects.AddProjectsRow("excel");
            var accessProject = Projects.AddProjectsRow("access");

            LocGroups.AddLocGroupsRow("main_dll", msoProject);
            LocGroups.AddLocGroupsRow("main_dll", wordProject);
            LocGroups.AddLocGroupsRow("main_dll", excelProject);
            var wordTemplates = LocGroups.AddLocGroupsRow("wordtemplates", wordProject);
            var xlintl        = LocGroups.AddLocGroupsRow("xlintl", excelProject);
            var accintl       = LocGroups.AddLocGroupsRow("acc_intl", accessProject);

            ConfigItems.AddConfigItemsRow(pseudo, check1, wordTemplates);
            ConfigItems.AddConfigItemsRow(pseudo, check1, xlintl);
            ConfigItems.AddConfigItemsRow(plPL, check1, wordTemplates);
            ConfigItems.AddConfigItemsRow(enUS, check2, xlintl);
            ConfigItems.AddConfigItemsRow(frFR, check3, accintl);
            ConfigItems.AddConfigItemsRow(frFR, check2, wordTemplates);

            foreach (var lg in LocGroups)
            {
                ConfigItems.AddConfigItemsRow(plPL, check4, lg);
                ConfigItems.AddConfigItemsRow(brBR, check4, lg);
                ConfigItems.AddConfigItemsRow(jaJP, check1, lg);
            }
            SetCheckGlobalForAllLanguages(check5);
            SetCheckGlobalForAllLanguages(check6);

            var allChecksTag = Tags.AddTagsRow("All checks");

            Checks.ToList().ForEach(check => CheckTags.AddCheckTagsRow(check, allChecksTag));

            var eaLanguagesTag = Tags.AddTagsRow("EA languages");

            Languages.ToList().ForEach(language => LanguageTags.AddLanguageTagsRow(language, eaLanguagesTag));

            var allProjectsTag = Tags.AddTagsRow("All projects");

            Projects.ToList().ForEach(project => ProjectTags.AddProjectTagsRow(project, allProjectsTag));
        }
 public UCAdvancedSearch(TabControl TabCtrl, TreeView Tree, ConfigItems.NodeDescription NodeDescription, NameValueCollection SearchParams, int UserID)
 {
     _tabCtrl = TabCtrl;
     _tree = Tree;
     _nodeDescription = NodeDescription;
     _searchParam = SearchParams;
     _userID = UserID;
     InitializeComponent();
 }
Beispiel #8
0
        static void ConfigTest(string[] args)
        {
            var host = Host.CreateDefaultBuilder(args)
                       .ConfigureAppConfiguration((hostBuilderContent, configBuilder) =>
            {
                var config = new
                {
                    AppSettings = new
                    {
                        AppId   = 301,
                        AppCode = "ConsoleTest3_1",
                        AppName = "ConsoleTest3_1",
                    },
                    ConnectionStrings = new[]
                    {
                        new
                        {
                            name             = "c1",
                            connectionString = "#HOST#:#PORT#,password=#PASSWORD#,defaultDataBase=#DATABASE#,connectRetry=3,connectTimeout=10000,Prefix=xxx1"
                        }, new
                        {
                            name             = "c2",
                            connectionString = "#HOST#:#PORT#,password=#PASSWORD#,defaultDataBase=#DATABASE#,connectRetry=3,connectTimeout=10000,Prefix=xxx2"
                        }
                    }
                }.ToJsonStr();

                var configStream = new MemoryStream(Encoding.UTF8.GetBytes(config));
                configBuilder.SetBasePath(Environment.CurrentDirectory)
                .AddJsonStream(configStream)
                .AddJsonObject(new
                {
                    AppSettings = new
                    {
                        AppId   = 302,
                        AppCode = "ConsoleTest3_2",
                        AppName = "ConsoleTest3_2",
                    },
                });
            })
                       .ConfigureServices((hostContext, services) =>
            {
                services.AddOptions();
                services.TryAddSingleton(hostContext.Configuration);
                ConfigItems.ConfigCenterStart(logService: new DefaultLogService(), configuration: hostContext.Configuration);
                services.AddSingleton <IConfigService, DefaultConfigService>();
                services.AddSingleton <ILogService, DefaultLogService>();
                services.AddHostedService <TestLogHostService>();

                RegisterProcessEvent(ConsolePublish);
            })
                       .Build();

            Ioc.Instance.InitServiceProvider(host.Services);
            Console.WriteLine($"Check All Config {ConfigItems.AllConfigs.ToJsonStr()}");
            host.Run();
        }
Beispiel #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="dsname"></param>
        public WebApiDs(IQuery <JArray> q, ConfigItems <KeyValuePair <string, string> > config) : base(null, null, null)
        {
            //Q = new SimplyCastWebApiQuery();
            Q      = q;
            Config = config;

            //Ds = q.GetData("");

            //Q.UpdateData(Ds);
        }
Beispiel #10
0
 /// <summary>
 /// Fills this data set with sample testable in a dataset. Dataset can be then modified.
 /// </summary>
 public void SetCheckGlobalForAllLanguages(CheckConfiguration.ChecksRow checkRow)
 {
     foreach (var language in Languages)
     {
         foreach (var lg in LocGroups)
         {
             ConfigItems.AddConfigItemsRow(language, checkRow, lg);
         }
     }
 }
Beispiel #11
0
 private void SaveConfig(ConfigItems items)
 {
     if (HasLoadedData())
     {
         // TODO: Refactor.
         using (StreamWriter sw = File.CreateText(DataFilePath))
         {
             sw.WriteLine(string.Format("lastSelectedPath{0}{1}", ConfigFileSeparator, items.LastSelectedPath));
             sw.WriteLine(string.Format("lastAccessTime{0}{1}", ConfigFileSeparator, DateTime.Now));
         }
     }
 }
Beispiel #12
0
        // Methods ....................................................

        public string GetConfigItemValue(string configKey)
        {
            string itemValue = String.Empty;

            UserConfigItem cfgItem = ConfigItems.FirstOrDefault(s => s.ConfigKey == configKey);

            if (cfgItem != null)
            {
                itemValue = cfgItem.ConfigValue;
            }

            return(itemValue);
        }
Beispiel #13
0
        private void Handle(ApplicationEvent @event)
        {
            if (ConfigItems.ContainsKey(@event.GetValue("Key")))
            {
                if (ConfigItems[@event.GetValue("Key")] != @event.GetValue("Value"))
                {
                    throw new Exception($"Misconfiguration in [{GetType().Name}]: Config with key [{@event.GetValue("Key")}] already defined with different value to [{@event.GetValue("Value")}].");
                }
                return;
            }

            ConfigItems.Add(@event.GetValue("Key"), @event.GetValue("Value"));
            ConfigItems = ConfigItems.OrderBy(x => x.Key).ToDictionary(x => x.Key, x => x.Value);
        }
        private static ClientConfigItem GetConfig(Type contract)
        {
            var t = contract;
            ClientConfigItem item;

            if (_clientConfigItems.TryGetValue(t.TypeHandle, out item))
            {
                return(item);
            }

            var assemblyName = t.Assembly.FullName.Split(',')[0].Trim();
            var typeName     = t.FullName;
            var q            = ConfigItems.FirstOrDefault(c => (c.Type == typeName && c.Assembly == assemblyName));// || );

            if (q != null)
            {
                item = new ClientConfigItem
                {
                    Address  = q.Address,
                    Assembly = q.Assembly
                };
            }
            else
            {
                q = ConfigItems.FirstOrDefault(c =>
                                               c.Assembly == assemblyName && c.Type == string.Empty);
                if (q != null)
                {
                    item = new ClientConfigItem
                    {
                        BaseAddress = q.Address,
                        Assembly    = q.Assembly
                    };
                }
                else
                {
                    var temp = GetDefaultConfig();
                    item = new ClientConfigItem
                    {
                        BaseAddress = temp.BaseAddress,
                        Assembly    = temp.Assembly
                    };
                }
            }

            _clientConfigItems.TryAdd(t.TypeHandle, item);

            return(item);
        }
Beispiel #15
0
 public void Init(IDictionary <string, string> parameters)
 {
     foreach (IContentSourceConfigItem configItem in ConfigItems.Where(x => x.IsRequired))
     {
         if (!parameters.ContainsKey(configItem.Name))
         {
             throw new Exception($"The config item '{configItem.Name}' is not present in parameters");
         }
     }
     foreach (KeyValuePair <string, string> parameter in parameters)
     {
         _parameterValues.Add(parameter.Key.ToLower(), parameter.Value);
     }
     OnInit();
 }
Beispiel #16
0
        private void LoadConfigInfo()
        {
            if (!File.Exists(DataFilePath))
            {
                CreateDefulatConfigFile();
            }

            items = new ConfigItems();
            using (StreamReader sr = File.OpenText(DataFilePath))
            {
                string selectedPathLine = sr.ReadLine();
                items.LastSelectedPath = selectedPathLine.Split(ConfigFileSeparator)[1];
                string accessTimeLine = sr.ReadLine();
                items.LastAccessTime = Convert.ToDateTime(accessTimeLine.Split(ConfigFileSeparator)[1]);
            }
        }
Beispiel #17
0
        public override string RunTemplate()
        {
            string fileName = FileMetaData.GetFullLocationPathWithFileName();

            if (File.Exists(fileName))
            {
                var result = new StringBuilder();
                result.Append(@"//IntentManaged[configs]" + Environment.NewLine);
                result.Append(string.Join(Environment.NewLine, ConfigItems.Select(x => $"    {x.Key}: \"{x.Value}\",")));
                result.Append(Environment.NewLine + @"//IntentManaged[configs]" + Environment.NewLine);
                return(result.ToString());
            }
            else
            {
                return(TransformText());
            }
        }
Beispiel #18
0
        public static string DecodeDevice(byte i, string cfg)
        {
            if (convData == null)
            {
                convData = JsonConvert.DeserializeObject <ConfigItems>(cfg);
            }

            string ret = "";

            foreach (ConfigItems.ConfigItem x in convData.items)
            {
                if (x.key == i)
                {
                    ret = x.value;
                    break;
                }
            }

            return(ret);
        }
Beispiel #19
0
    //根据key返回配置文件的相关item做判断
    public static float getConfigItem(ConfigItems item)
    {
        loadConfig();
        string key       = item.ToString();
        string getString = "";

        for (int i = 0; i < configKey.Count; i++)
        {
            if (configKey [i] == key)
            {
                getString = configValue [i];
            }
        }

        if (string.IsNullOrEmpty(getString) == false)
        {
            return((float)Convert.ToDouble(getString));
        }

        return(1f);
    }
Beispiel #20
0
        public void OldEnableCheckForLanguage(string checkName, string languageName)
        {
            var languageRow = (from language in Languages
                               where language.Name == languageName
                               select language).Single();
            var checkRow = (from check in Checks
                            where check.Name == checkName
                            select check).Single();

            foreach (var lg in LocGroups)
            {
                try
                {
                    ConfigItems.AddConfigItemsRow(languageRow, checkRow, lg);
                }
                catch (ConstraintException ex)
                {
                    LoggerSAP.Trace(ex.Message);
                }
            }
        }
 private static ClientConfigItem GetDefaultConfig()
 {
     if (defaultConfig == null)
     {
         var item = ConfigItems.FirstOrDefault(c => c.Assembly == "*");
         if (item != null)
         {
             defaultConfig = new ClientConfigItem
             {
                 BaseAddress = item.Address,
                 Assembly    = item.Assembly
             }
         }
         ;
         else
         {
             defaultConfig = new ClientConfigItem();
         }
     }
     return(defaultConfig);
 }
Beispiel #22
0
        private void SetConfigItem(UserConfigItem configItem)
        {
            // determine if the config item already exists
            UserConfigItem cfgItem = ConfigItems.FirstOrDefault(s => s.ConfigKey == configItem.ConfigKey);

            // Create or update
            if (cfgItem == null)
            {
                cfgItem = new UserConfigItem()
                {
                    ConfigKey   = configItem.ConfigKey,
                    ConfigValue = configItem.ConfigValue
                };

                // Add element to the list
                ConfigItems.Add(cfgItem);
            }
            else
            {
                // Update exiting element in list
                cfgItem.ConfigValue = configItem.ConfigValue;
            }
        }