コード例 #1
0
ファイル: FrameSystemInfo.cs プロジェクト: liu4434004/EHR2
        /// <summary>
        /// 构造函数
        /// </summary>
        static FrameSystemInfo()
        {
            if (GetSystemInfoTable == null)
            {
                sys_SystemInfoTable si = new sys_SystemInfoTable();
                QueryParam          qp = new QueryParam();
                qp.PageIndex = 1;
                qp.PageSize  = 1;
                qp.OrderType = 0;
                int Recount = 0;

                ArrayList lst = BusinessFacade.sys_SystemInfoList(qp, out Recount);
                if (Recount == 0)
                {
                    si.DB_Option_Action_ = "Insert";
                    si.SystemID          = BusinessFacade.sys_SystemInfoInsertUpdate(si);
                }
                else
                {
                    si = lst[0] as sys_SystemInfoTable;
                    //更新新加配置
                    sys_ConfigDataTable sys_ConfigDB = si.S_SystemConfigData;
                    sys_ConfigDataTable sys_Config   = new sys_ConfigDataTable();
                    //foreach (PropertyInfo pi in new sys_ConfigDataTable().GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
                    foreach (PropertyInfo pi in sys_ConfigDB.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
                    {
                        if (pi.GetValue(sys_ConfigDB, null) == null)
                        {
                            pi.SetValue(sys_ConfigDB, pi.GetValue(sys_Config, null), null);
                        }
                    }

                    //从Dll中更新版本
                    //sys_FrameWorkInfoTable sys_Db = si.S_FrameWorkInfo;
                    //sys_FrameWorkInfoTable sys_Dll = new sys_FrameWorkInfoTable();
                    //foreach (PropertyInfo pi in sys_Db.GetType().GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance))
                    //{
                    //    if (pi.Name != "S_Licensed")
                    //    {
                    //        pi.SetValue(sys_Db, pi.GetValue(sys_Dll, null), null);
                    //    }
                    //}
                }
                GetSystemInfoTable = si;
            }
            FrameWorkPermission.InitStat = true;
        }