Ejemplo n.º 1
0
        public override async Task InstallOrUpdateAsync(IServiceProvider serviceProvider, InstallOrUpdate installOrUpdate)
        {
            XscfModuleServiceExtension xscfModuleServiceExtension = serviceProvider.GetService <XscfModuleServiceExtension>();
            SenparcEntities            senparcEntities            = (SenparcEntities)xscfModuleServiceExtension.BaseData.BaseDB.BaseDataContext;

            //更新数据库
            var pendingMigs = await senparcEntities.Database.GetPendingMigrationsAsync();

            if (pendingMigs.Count() > 0)
            {
                senparcEntities.ResetMigrate(); //重置合并状态
                senparcEntities.Migrate();      //进行合并
            }

            var systemModule = xscfModuleServiceExtension.GetObject(z => z.Uid == this.Uid);

            if (systemModule == null)
            {
                //只在未安装的情况下进行安装,InstallModuleAsync会访问到此方法,不做判断可能会引发死循环。
                //常规模块中请勿在此方法中自动安装模块!
                await xscfModuleServiceExtension.InstallModuleAsync(this.Uid).ConfigureAwait(false);
            }

            await base.InstallOrUpdateAsync(serviceProvider, installOrUpdate);
        }
Ejemplo n.º 2
0
 public IndexModel(IServiceProvider serviceProvider, XscfModuleServiceExtension xscfModuleService, AdminUserInfoService accountService, SystemConfigService systemConfigService, SysMenuService sysMenuService)
 {
     _xscfModuleService   = xscfModuleService;
     _accountInfoService  = accountService;
     _sysMenuService      = sysMenuService;
     _systemConfigService = systemConfigService;
     _serviceProvider     = serviceProvider;
 }
Ejemplo n.º 3
0
        public XscfModuleIndexModel(IServiceProvider serviceProvider, XscfModuleServiceExtension xscfModuleService, SysMenuService sysMenuService)
        {
            CurrentMenu = "XscfModule";

            this._serviceProvider   = serviceProvider;
            this._xscfModuleService = xscfModuleService;
            this._sysMenuService    = sysMenuService;
        }