public virtual string Get(string resourceName, string nameSpace = "DAF.Core", string cultureInfo = null) { if (string.IsNullOrWhiteSpace(resourceName)) { return(string.Empty); } if (string.IsNullOrEmpty(cultureInfo)) { cultureInfo = GetCurrentCultureInfo(); } nameSpace = NormalizeName(nameSpace); resourceName = NormalizeName(resourceName); JsonResource jr = jsonResources.FirstOrDefault(o => o.NameSpace == nameSpace && o.CultureInfoName == cultureInfo); if (jr == null) { jr = jsonResources.FirstOrDefault(o => o.NameSpace == nameSpace && o.CultureInfoName == string.Empty); } if (jr != null && jr.Resources != null) { if (jr.Resources.ContainsKey(resourceName)) { return(jr.Resources[resourceName] as string); } } return(resourceName); }
public virtual void Set(string resourceName, string value, string nameSpace = "DAF.Core", string cultureInfo = null) { if (string.IsNullOrWhiteSpace(resourceName)) { return; } if (string.IsNullOrEmpty(cultureInfo)) { cultureInfo = GetCurrentCultureInfo(); } nameSpace = NormalizeName(nameSpace); resourceName = NormalizeName(resourceName); var res = jsonResources.FirstOrDefault(o => o.NameSpace == nameSpace && o.CultureInfoName == cultureInfo); if (res == null) { var defaultRes = jsonResources.FirstOrDefault(o => o.NameSpace == nameSpace && o.CultureInfoName == string.Empty); if (defaultRes != null) { res = new JsonResource() { NameSpace = nameSpace, CultureInfoName = cultureInfo }; res.FileName = defaultRes.FileName.Replace(".js", string.Format(".{0}.js", cultureInfo)); res.Resources = new SerializableDictionary(); jsonResources.Add(res); } } if (res.Resources.ContainsKey(resourceName)) { if (string.IsNullOrWhiteSpace(value)) { res.Resources.Remove(resourceName); } else { res.Resources[resourceName] = value; } } else { res.Resources.Add(resourceName, value); } }
protected virtual void LoadResources(string[] paths) { if (paths == null || paths.Length <= 0) { return; } List <DirectoryInfo> dirs = new List <DirectoryInfo>(); foreach (var p in paths) { dirs.AddRange(fileProvider.GetPaths(p, false)); } dirs.GetFiles("*.js", false) .ForEach(o => { JsonResource jr = new JsonResource(); jr.FileName = o.FullName; string[] fiNames = o.FileNameWithoutExtension().Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); if (fiNames.Length == 2) { jr.NameSpace = fiNames[0]; jr.CultureInfoName = fiNames[1]; } else if (fiNames.Length == 1) { jr.NameSpace = fiNames[0]; jr.CultureInfoName = string.Empty; } string json = File.ReadAllText(o.FullName); jr.Resources = jsonSerializer.Deserialize <SerializableDictionary>(json); if (jr.Resources == null) { jr.Resources = new SerializableDictionary(); } jsonResources.Add(jr); }); }
public virtual void Set(string resourceName, string value, string nameSpace = "DAF.Core", string cultureInfo = null) { if (string.IsNullOrWhiteSpace(resourceName)) return; if (string.IsNullOrEmpty(cultureInfo)) cultureInfo = GetCurrentCultureInfo(); nameSpace = NormalizeName(nameSpace); resourceName = NormalizeName(resourceName); var res = jsonResources.FirstOrDefault(o => o.NameSpace == nameSpace && o.CultureInfoName == cultureInfo); if (res == null) { var defaultRes = jsonResources.FirstOrDefault(o => o.NameSpace == nameSpace && o.CultureInfoName == string.Empty); if (defaultRes != null) { res = new JsonResource() { NameSpace = nameSpace, CultureInfoName = cultureInfo }; res.FileName = defaultRes.FileName.Replace(".js", string.Format(".{0}.js", cultureInfo)); res.Resources = new SerializableDictionary(); jsonResources.Add(res); } } if (res.Resources.ContainsKey(resourceName)) { if (string.IsNullOrWhiteSpace(value)) res.Resources.Remove(resourceName); else { res.Resources[resourceName] = value; } } else { res.Resources.Add(resourceName, value); } }
protected virtual void LoadResources(string[] paths) { if (paths == null || paths.Length <= 0) return; List<DirectoryInfo> dirs = new List<DirectoryInfo>(); foreach (var p in paths) { dirs.AddRange(fileProvider.GetPaths(p, false)); } dirs.GetFiles("*.js", false) .ForEach(o => { JsonResource jr = new JsonResource(); jr.FileName = o.FullName; string[] fiNames = o.FileNameWithoutExtension().Split(new char[] { '.' }, StringSplitOptions.RemoveEmptyEntries); if (fiNames.Length == 2) { jr.NameSpace = fiNames[0]; jr.CultureInfoName = fiNames[1]; } else if (fiNames.Length == 1) { jr.NameSpace = fiNames[0]; jr.CultureInfoName = string.Empty; } string json = File.ReadAllText(o.FullName); jr.Resources = jsonSerializer.Deserialize<SerializableDictionary>(json); if (jr.Resources == null) jr.Resources = new SerializableDictionary(); jsonResources.Add(jr); }); }