using Newtonsoft.Json;
|
using Newtonsoft.Json.Linq;
|
using System;
|
using System.Collections.Generic;
|
using System.IO;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace Bro.Common.Helper
|
{
|
public class SettingHelper
|
{
|
const string SETTINGFILE = "Setting.json";
|
const string PROPERTY_PRODUCTIONCODES = "ProductionCodes";
|
const string PROPERTY_CONFIGPATH = "ConfigPath";
|
const string PROPERTY_PROCESSCODES = "ProcessCodes";
|
|
static JObject data = null;
|
static JObject Data
|
{
|
get
|
{
|
if (data == null)
|
{
|
string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE);
|
if (File.Exists(configPath))
|
{
|
using (StreamReader reader = new StreamReader(configPath, System.Text.Encoding.UTF8))
|
{
|
string dataStr = reader.ReadToEnd();
|
data = JsonConvert.DeserializeObject<JObject>(dataStr);
|
}
|
}
|
}
|
|
return data;
|
}
|
}
|
|
public static List<string> GetProductionCodes()
|
{
|
List<string> codes = new List<string>();
|
|
if (Data != null && Data.ContainsKey(PROPERTY_PRODUCTIONCODES))
|
{
|
codes = JsonConvert.DeserializeObject<List<string>>(Data.Value<string>(PROPERTY_PRODUCTIONCODES));
|
}
|
|
if (codes.Count == 0)
|
{
|
codes.Add("Default");
|
}
|
|
return codes;
|
}
|
|
public static List<string> GetProcessCodes()
|
{
|
List<string> codes = new List<string>();
|
|
if (Data != null && Data.ContainsKey(PROPERTY_PROCESSCODES))
|
{
|
codes = JsonConvert.DeserializeObject<List<string>>(data.Value<string>(PROPERTY_PROCESSCODES));
|
}
|
return codes;
|
}
|
|
public static string GetConfigFilePath()
|
{
|
string path = "";
|
|
if (Data != null && Data.ContainsKey(PROPERTY_CONFIGPATH))
|
{
|
path = Data.Value<string>(PROPERTY_CONFIGPATH);
|
}
|
|
return path;
|
}
|
}
|
}
|