using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;

namespace DPSDK_CSharpDemo
{
    class UserLoginInfo
    {
        public IntPtr m_iSessionID = IntPtr.Zero;
        public string strIP = string.Empty;
        public int iPort = 0;
        public bool bSSLEnable = false;
    }

    class AppData
    {
        public enum Title_Info_e
	    {
		    TITLE_PROMPT = 0,
		    TITLE_ERROR = 1,
	    };


        static protected Translate s_Translate;
        static public UserLoginInfo m_stuLoginInfo;

        public static void Init()
        {
            s_Translate = new Translate(LocalConfig.GetLanguage());
            m_stuLoginInfo = new UserLoginInfo();
        }

        public static string _CS(string str)
        {
            if (str.IndexOf(" ") == 0)
            {
                str = "%20" + str.Substring(1);
            }

            string strRes =  s_Translate.ConvertString(str);

            if (strRes.IndexOf("%20") == 0)
            {
                strRes = " " + strRes.Substring("%20".Length);
            }
            return strRes;
        }

        public static string _CS(string str, string strValue1)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3, string strValue4)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%4", strValue4);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3, string strValue4, string strValue5)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%4", strValue4);
            strRes = strRes.Replace("%5", strValue5);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3, string strValue4, string strValue5, string strValue6)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%4", strValue4);
            strRes = strRes.Replace("%5", strValue5);
            strRes = strRes.Replace("%6", strValue6);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3, string strValue4, string strValue5, string strValue6, string strValue7)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%4", strValue4);
            strRes = strRes.Replace("%5", strValue5);
            strRes = strRes.Replace("%6", strValue6);
            strRes = strRes.Replace("%7", strValue7);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3, string strValue4, string strValue5, string strValue6, string strValue7, string strValue8)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%4", strValue4);
            strRes = strRes.Replace("%5", strValue5);
            strRes = strRes.Replace("%6", strValue6);
            strRes = strRes.Replace("%7", strValue7);
            strRes = strRes.Replace("%8", strValue8);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static string _CS(string str, string strValue1, string strValue2, string strValue3, string strValue4, string strValue5, string strValue6, string strValue7, string strValue8, string strValue9)
        {
            str = str.Replace("=", "%3D");
            string strRes = _CS(str);
            strRes = strRes.Replace("%1", strValue1);
            strRes = strRes.Replace("%2", strValue2);
            strRes = strRes.Replace("%3", strValue3);
            strRes = strRes.Replace("%4", strValue4);
            strRes = strRes.Replace("%5", strValue5);
            strRes = strRes.Replace("%6", strValue6);
            strRes = strRes.Replace("%7", strValue7);
            strRes = strRes.Replace("%8", strValue8);
            strRes = strRes.Replace("%9", strValue9);
            strRes = strRes.Replace("%3D", "=");
            return strRes;
        }

        public static void ShowMsgInfo(string strInfo)
        {
            ShowMsgInfo(strInfo, Title_Info_e.TITLE_PROMPT);
        }

        public static void ShowMsgInfo(string strInfo, Title_Info_e iTitle)
        {
            string strTitle = _CS("Error");
            if (iTitle != Title_Info_e.TITLE_ERROR)
	        {
		        strTitle = _CS("Prompt");
	        }
            MessageBox.Show(_CS(strInfo), strTitle, MessageBoxButtons.OK);
        }
    }
}
