Files
AutoSeller/Config.cs
2017-02-01 09:43:04 +09:00

108 lines
2.3 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace AutoSellerNS
{
static class Config
{
static Dictionary<string, object> m_Data = new Dictionary<string, object>();
static Random m_Random = new Random();
public static void Init()
{
m_Data.Add("account", "");
m_Data.Add("sub-account", "");
m_Data.Add("bid-count", 5);
m_Data.Add("trailing-rate", 1.0f);
m_Data.Add("trailing-count", 2);
Load();
}
static void Load()
{
string strPath = Util.GetConfigPath()+"/config.ini";
if(File.Exists(strPath) == false)
return;
string[] aLines = File.ReadAllLines(strPath);
foreach(string strLine in aLines)
{
if(strLine.Trim().Length <= 0)
continue;
string[] aTokens = strLine.Trim().Split('=');
if(aTokens.Length < 2)
continue;
if(m_Data.ContainsKey(aTokens[0]) == true)
m_Data[aTokens[0]] = Convert.ChangeType(aTokens[1], m_Data[aTokens[0]].GetType());
else
m_Data.Add(aTokens[0], aTokens[1]);
}
}
static void Save()
{
string strContents = "";
foreach(KeyValuePair<string, object> pair in m_Data)
strContents += pair.Key + "=" + pair.Value.ToString() + Environment.NewLine;
string strPath = Util.GetConfigPath()+"/config.ini";
File.WriteAllText(strPath, strContents, new UTF8Encoding(true));
}
public static void SetAccount(string strAccount, string strAccountSub)
{
if(strAccount != null)
m_Data["account"] = strAccount;
m_Data["sub-account"] = strAccountSub;
Save();
}
public static string GetAccount()
{
return (string)m_Data["account"];
}
public static string GetSubAccount()
{
return (string)m_Data["sub-account"];
}
public static void SetBidCount(int iCount)
{
m_Data["bid-count"] = iCount;
Save();
}
public static int GetBidCount()
{
return (int)m_Data["bid-count"];
}
public static void SetTrailing(float fTrailingRate, int iTrailingCnt)
{
m_Data["trailing-rate"] = fTrailingRate;
m_Data["trailing-count"] = iTrailingCnt;
Save();
}
public static float GetTrailingRate()
{
return (float)m_Data["trailing-rate"];
}
public static int GetTrailingCnt()
{
return (int)m_Data["trailing-count"];
}
}
}