|
|
using CounsellorBL.BLStructure; using log4net; using log4net.Config; using Microsoft.Extensions.Configuration; using MonumentDefine; using Newtonsoft.Json; using OT.COM.SignalerMessage; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Reflection; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms;
namespace TaskUserConnect { public partial class Form1 : Form { #region 自定義變量區
private readonly static ILog mo_Log = LogManager.GetLogger(typeof(Form1)); private readonly Dictionary<string, string> dicAppSetting = new Dictionary<string, string>(); public Form1() { LoadLog4netConfig(); mo_Log.Info("Form1 Constructor start"); InitializeComponent(); GetConfig(); mo_Log.Info("Form1 Constructor End"); }
#endregion
#region 頁面事件觸發區
private void Form1_Load(object sender, EventArgs e) { string sMsg = null; mo_Log.Info("Form1 Form1_Load start"); try { _HandlePost(); Thread.Sleep(500); } catch (Exception ex) { sMsg = ex.Message; } if (sMsg != null) { mo_Log.Info($"Form1_Load end with exception. {sMsg}"); } else { mo_Log.Info($"Form1_Load end Success."); } this.Close(); }
#endregion
#region 私有方法區
#region LoadLog4netConfig
/// <summary>
/// 加載Log4netConfig
/// </summary>
private static void LoadLog4netConfig() { var repository = LogManager.CreateRepository( Assembly.GetEntryAssembly(), typeof(log4net.Repository.Hierarchy.Hierarchy) ); XmlConfigurator.Configure(repository, new FileInfo("Log4Net.config")); } #endregion
#region GetConfig
/// <summary>
/// 取得設定值
/// </summary>
private void GetConfig() { mo_Log.Info($"Form1 GetConfig start. Current Dir={Directory.GetCurrentDirectory()}");
IConfigurationRoot configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build();
IEnumerable<IConfigurationSection> ics = configuration.GetSection("appSettings").GetChildren();
foreach (IConfigurationSection ic in ics) { dicAppSetting.Add(ic.Key, ic.Value); }
mo_Log.Info("Form1 GetConfig end"); } #endregion
private static string _Action(string i_sURL, string i_sAppId, string i_sModule, string i_sMethod, out CResponseMessage o_crpResult, Dictionary<string, object> i_ldicPara) { string sMsg;
CResponseMessage crpResult = null; try { do { SendWebApiRequest swr = new SendWebApiRequest(); CRequestMessage crm = new CRequestMessage() { module = i_sModule, method = i_sMethod, param = i_ldicPara, customparam = new Dictionary<string, object>() { { BLWording.APP_ID, i_sAppId } }//把appid傳過去
};
CReqestPack crqp = new CReqestPack { Reqs = new List<CReqestItem>() { new CReqestItem(){ Req = crm } } };
sMsg = swr.RunEncryptRequest(i_sURL, crqp, out string sResult); if (sMsg != null) { mo_Log.Error($"Result = {sMsg}"); break; } else { mo_Log.Info($"Response = {sResult}");
CResponsePack crppResult = JsonConvert.DeserializeObject<CResponsePack>(sResult);
if (crppResult == null) { sMsg = "Covert CResponsePack Fail"; break; } CResponseMessage crp = crppResult.Reps[0];
if (crp.result == EResponseResult.RR_FALSE) { sMsg = crp.msg; break; } crpResult = crp; } } while (false); } catch (Exception ex) { sMsg = ex.Message; }
o_crpResult = crpResult; return sMsg; }
private string FbCheckToken(string i_sURL,string i_sAppId ,string i_sModule, out CResponseMessage o_crpResult, Dictionary<string, object> i_dicData, Dictionary<string, object> i_dicWhere) { mo_Log.Info("FbCheckToken");
Dictionary<string, object> dicPara = new Dictionary<string, object>(); dicPara.Add(BLWording.QRY_MASTER, new List<Dictionary<string, object>>() { new Dictionary<string, object>() { { BLWording.DATA, i_dicData }, { BLWording.WHEREDATA, i_dicWhere } } });
return _Action(i_sURL, i_sAppId, i_sModule, "FbCheckToken", out o_crpResult, dicPara); }
private void _HandlePost() { string sMsg = null;
mo_Log.Info("Start _HandlePost"); try { do { string g_apiServer = dicAppSetting["apiserver"]; string strAppId = dicAppSetting["app_id"]; string sServerURL = g_apiServer; string sURL = $"{sServerURL}/Cmd";
mo_Log.Debug("_HandlePost f1");
FbCheckToken(sURL, strAppId, "GROUP.GroupUserConnectService", out CResponseMessage crpArticleWait, null,null);
mo_Log.Debug("_HandlePost f2"); } while (false); } catch (Exception ex) { sMsg = $"Process fail. ErrorMsg={ex.Message}"; }
if (sMsg != null) { mo_Log.Error(sMsg); } }
#endregion
} }
|