using Microsoft.Extensions.Configuration; using YLErp.Modules.DataCacheModule; namespace YLErp.Forms { public partial class Form1 : Form { readonly FormSysLog _FormSysLog; readonly FormTraceLog _FormTraceLog; public Form1() { InitializeComponent(); _FormSysLog = new FormSysLog { MdiParent = this }; _FormTraceLog = new FormTraceLog { MdiParent = this }; } private void Form1_Load(object sender, EventArgs e) { _FormSysLog.Show(); Task.Run(() => { var logger = LogFactory.GetLogger("系统初始化"); logger.Info("版本 -- " + AppManager.Version); logger.Info("....."); AppManager.Initialize(Enums.SubSystemName.UnitTest, Program.GetService()); DataCacheManager.StartUpdate(600 * 1000); EventHandler handler = null; handler = new EventHandler((sender2, e2) => { LogFactory.GetLogger("缓存数据初始化").Info("完成"); ((Abstract.IDataSourceEvent)DataCacheManager.GetClientDataSource()).DataSourceUpdated -= handler; }); ((Abstract.IDataSourceEvent)DataCacheManager.GetClientDataSource()).DataSourceUpdated += handler; logger.Info("完成!!! 等待缓存数据初始化"); }).ContinueWith(t => { if (t.Exception != null) { MessageBox.Show(t.Exception.ToString()); MessageBox.Show("系统初始化异常,程序不能继续执行!"); Application.Exit(); } }); } private void menuTradeRisk_Click(object sender, EventArgs e) { ShowForm(); } private void menuTraceLog_Click(object sender, EventArgs e) { _FormTraceLog.Show(); } private void menuSysLog_Click(object sender, EventArgs e) { _FormSysLog.Show(); } private void menuTradeTest_Click(object sender, EventArgs e) { ShowForm(); } private void menuPricing_Click(object sender, EventArgs e) { ShowForm(); } private void menuShouPan_Click(object sender, EventArgs e) { ShowForm(); } private void menuRiskExposure_Click(object sender, EventArgs e) { ShowForm(); } private void ShowForm() where TForm : Form, new() { var form = MdiChildren.OfType().FirstOrDefault() ?? new TForm { MdiParent = this }; form.Show(); } private void menuApiTest_Click(object sender, EventArgs e) { ShowForm(); } private void menuOptionCalc_Click(object sender, EventArgs e) { ShowForm(); } private void menuDataQuery_Click(object sender, EventArgs e) { ShowForm(); } private void menuMail_Click(object sender, EventArgs e) { ShowForm(); } private void menuTradeDeal_Click(object sender, EventArgs e) { ShowForm(); } } }