Exemplo n.º 1
0
        public static RVLang DefaultLang(Guid?applicationId)
        {
            string str = get_value(applicationId, RVSettingsItem.DefaultLang, "fa").ToLower();
            RVLang lng = RVLang.fa;

            return(Enum.TryParse <RVLang>(str, out lng) && lng != RVLang.none ? lng : RVLang.fa);
        }
Exemplo n.º 2
0
        private static string get_font_face(RVLang lang)
        {
            if (FontFace.ContainsKey(lang) && !string.IsNullOrEmpty(FontFace[lang]))
            {
                return(FontFace[lang]);
            }

            string content = string.Empty;

            string path = PublicMethods.map_path(lang == RVLang.fa ? PublicConsts.FontFaceIranSans : PublicConsts.FontFaceRoboto);

            if (File.Exists(path))
            {
                content = File.ReadAllText(path);
                if (!PublicMethods.is_dev())
                {
                    FontFace[lang] = content;
                }
            }

            return(content);
        }
Exemplo n.º 3
0
        public static string get_theme(Guid?applicationId, string name, RVLang lang)
        {
            string template = get_template(),
                   global   = get_global(),
                   fontFace = get_font_face(lang);

            Dictionary <string, string> dic = get_theme_content(applicationId, name);

            if (string.IsNullOrEmpty(template) || dic == null)
            {
                return(string.Empty);
            }

            /*
             * dic.Keys.ToList().ForEach(k => {
             *  template = template.Replace("var(" + k + ")", dic[k]);
             * });
             *
             * TemplateVariables.Keys.ToList().ForEach(k => {
             *  template = template.Replace("var(" + k + ")", TemplateVariables[k]);
             * });
             */

            List <string> keys = dic.Keys.ToList();

            keys.AddRange(TemplateVariables.Keys);

            keys = keys.Distinct().ToList()
                   .Select(k => k + ": " + (dic.ContainsKey(k) ? dic[k] : TemplateVariables[k]) + ";").ToList();

            template = Expressions.replace(template,
                                           @":root\s*\{([^\}]+)\}",
                                           "html {\r\n    " + string.Join("\r\n    ", keys) + "\r\n}");

            return(template + "\r\n\r\n" + fontFace + "\r\n\r\n" + global);
        }