/// <summary> /// Зарегистрировать статический модуль. /// </summary> /// <typeparam name="T">Тип модуля.</typeparam> /// <typeparam name="TIntf">Тип интерфейса, который реализует модуль.</typeparam> /// <param name="collection">Коллекция.</param> /// <param name="filter">Фильтр модуля.</param> public static void RegisterModule <T, TIntf>(this IModuleCollection collection, IStaticModuleQueryFilter filter = null) where T : IModule, TIntf, new() { var module = new T(); collection.RegisterProvider(typeof(TIntf), new StaticModuleProvider <T, TIntf>(module, filter ?? module as IStaticModuleQueryFilter)); }
/// <summary> /// 添加Quartz服务 /// </summary> /// <param name="services"></param> /// <param name="modules">模块集合</param> /// <param name="props">属性</param> /// <returns></returns> public static IServiceCollection AddQuartz(this IServiceCollection services, IModuleCollection modules, NameValueCollection props) { #region ==反射注入所有模块的任务服务== if (modules != null && modules.Any()) { foreach (var module in modules) { var quartzAssembly = module.AssemblyDescriptor.Quartz; if (quartzAssembly != null) { var jobTypes = quartzAssembly.GetTypes().Where(m => typeof(IJobTask).IsAssignableFrom(m)); foreach (var jobType in jobTypes) { services.AddTransient(jobType); } } } } #endregion //注入日志 services.TryAddTransient <IJobLogger, JobLogger>(); //注入Quartz服务实例 services.AddSingleton <IQuartzServer>(sp => new QuartzServer(props, sp)); //注入应用关闭事件 services.AddSingleton <IAppShutdownHandler, QuartzAppShutdownHandler>(); return(services); }
public AuditingHandler(MvcHelper mvcHelper, ILoginInfo loginInfo, IAuditInfoService auditInfoService, IModuleCollection moduleCollection) { _mvcHelper = mvcHelper; _loginInfo = loginInfo; _auditInfoService = auditInfoService; _moduleCollection = moduleCollection; }
public ModuleInfoService(IModuleInfoRepository repository, IUnitOfWork <AdminDbContext> uow, IModuleCollection moduleCollection) { _repository = repository; _uow = uow; _moduleCollection = moduleCollection; }
public DebugController(ApplicationPartManager partManager, ISmtpManager smtp, IModuleCollection mgr, IAdminManager admin) { _partManager = partManager; _modules = mgr; _admin = admin; _smtpManager = smtp; }
public ModuleInfoService(IModuleInfoRepository repository, IPermissionRepository permissionRepository, IMenuRepository menuRepository, IModuleCollection moduleCollection) { _repository = repository; _permissionRepository = permissionRepository; _menuRepository = menuRepository; _moduleCollection = moduleCollection; }
protected override IUnitsModel GetModel() { IModuleCollection collection = ProfilingViewModel.Application.ServiceContainer.Resolve <IModuleCollection>(); ModulesModel model = new ModulesModel(collection); return(model); }
public virtual void VisitModuleCollection(IModuleCollection value) { for (int i = 0; i < value.Count; i++) { VisitModule(value[i]); } }
protected override void Initialize() { base.Initialize(); IModuleCollection unitCollection = Session.Daemon.Container.Resolve <IModuleCollection>(); Model = new UnitCollectionModel <ModuleInfo>(unitCollection); }
public ConfigContainer(ICacheHandler cacheHandler, IConfigStorage storage, IModuleCollection moduleCollection, ILogger <ConfigContainer> logger) { _cacheHandler = cacheHandler; _storage = storage; _moduleCollection = moduleCollection; _logger = logger; }
public ModuleInfoService(IModuleInfoRepository repository, IPermissionRepository permissionRepository, IMenuRepository menuRepository, IModuleCollection moduleCollection, AdminDbContext dbContext) { _repository = repository; _permissionRepository = permissionRepository; _menuRepository = menuRepository; _moduleCollection = moduleCollection; _dbContext = dbContext; }
public ModuleInfoService(IModuleInfoRepository repository, IPermissionRepository permissionRepository, IMenuRepository menuRepository, IUnitOfWork <AdminDbContext> uow, IModuleCollection moduleCollection) { _repository = repository; _permissionRepository = permissionRepository; _menuRepository = menuRepository; _uow = uow; _moduleCollection = moduleCollection; }
public void Configure(IServiceCollection services, IModuleCollection modules, IHostEnvironment env) { if (modules.Any(m => m.Code.Equals("Admin"))) { //密码处理服务 services.AddSingleton <IPasswordHandler, Md5PasswordHandler>(); } }
public ModuleOptionsContainer(ILogger <ModuleOptionsContainer> logger, IModuleCollection moduleCollection, IModuleOptionsStorageProvider storageProvider, IServiceProvider serviceProvider, SystemConfigModel systemConfig) { _logger = logger; _moduleCollection = moduleCollection; _storageProvider = storageProvider; _serviceProvider = serviceProvider; _systemConfig = systemConfig; }
public void SetDependencies(IModuleCollection modules) { _modules = modules; foreach (ClassInfo unit in this) { unit.SetDependencies(_modules); } }
public ModuleService(IModuleRepository repository, IModuleCollection moduleCollection, AdminDbContext dbContext, ILogger <ModuleService> logger, IAuditInfoRepository auditInfoRepository) { _repository = repository; _moduleCollection = moduleCollection; _dbContext = dbContext; _logger = logger; _auditInfoRepository = auditInfoRepository; }
public FileController(FileUploadHelper fileUploadHelper, IConfigProvider configProvider, IFileService service, IModuleCollection moduleCollection, ILoginInfo loginInfo) { _fileUploadHelper = fileUploadHelper; _configProvider = configProvider; _service = service; _moduleCollection = moduleCollection; _loginInfo = loginInfo; }
public ModulesModel(IModuleCollection units) { Units = units; Columns = new List <GridViewDynamicColumn> { new GridViewDynamicColumn("Name", "Name", FilterByName), new GridViewDynamicColumn("Assembly", "Assembly.Name", FilterByAssembly) }; }
public AuditingHandler(MvcHelper mvcHelper, ILoginInfo loginInfo, IAuditInfoService auditInfoService, IModuleCollection moduleCollection, ILogger <AuditingHandler> logger, IConfigProvider configProvider) { _mvcHelper = mvcHelper; _loginInfo = loginInfo; _auditInfoService = auditInfoService; _moduleCollection = moduleCollection; _logger = logger; _configProvider = configProvider; }
public void ConfigureServices(IServiceCollection services, IModuleCollection modules, IHostEnvironment env) { //审计日志服务 services.AddSingleton <IAuditingHandler, AuditingHandler>(); //权限验证服务 services.AddScoped <IPermissionValidateHandler, PermissionValidateHandler>(); //单账户登录处理服务 services.AddScoped <ISingleAccountLoginHandler, SingleAccountLoginHandler>(); }
/// <summary> /// Зарегистрировать статический модуль. /// </summary> /// <typeparam name="T">Тип модуля.</typeparam> /// <typeparam name="TIntf">Тип интерфейса, который реализует модуль.</typeparam> /// <param name="collection">Коллекция.</param> /// <param name="module">Модуль.</param> /// <param name="filter">Фильтр модуля.</param> public static void RegisterModule <T, TIntf>(this IModuleCollection collection, T module, IStaticModuleQueryFilter filter = null) where T : IModule, TIntf { if (module == null) { throw new ArgumentNullException(nameof(module)); } collection.RegisterProvider(typeof(TIntf), new StaticModuleProvider <T, TIntf>(module, filter ?? module as IStaticModuleQueryFilter)); }
public ModuleService(IModuleRepository repository, IModuleCollection moduleCollection, AdminDbContext dbContext, ILogger <ModuleService> logger, IAuditInfoRepository auditInfoRepository, ICacheHandler cacheHandler, IPermissionRepository permissionRepository) { _repository = repository; _moduleCollection = moduleCollection; _dbContext = dbContext; _logger = logger; _auditInfoRepository = auditInfoRepository; _cacheHandler = cacheHandler; _permissionRepository = permissionRepository; }
public PermissionCollection(MvcHelper mvcHelper, IConfigProvider configProvider, IModuleCollection moduleCollection) { _mvcHelper = mvcHelper; _configProvider = configProvider; _moduleCollection = moduleCollection; LoadPermissions(); LoadTree(); }
public ModuleService(IModuleRepository repository, IModuleCollection moduleCollection, AdminDbContext dbContext, ILogger <ModuleService> logger, IModuleOptionsEngine moduleOptionsContainer, IAuditInfoRepository auditInfoRepository, AdminOptions options) { _repository = repository; _moduleCollection = moduleCollection; _dbContext = dbContext; _logger = logger; _moduleOptionsContainer = moduleOptionsContainer; _auditInfoRepository = auditInfoRepository; _options = options; }
public void Configure(IServiceCollection services, IModuleCollection modules, IHostEnvironment env, IConfiguration cfg) { foreach (var module in modules) { //加载IDictItemListener的实现 LoadDictItemListeners(module.AssemblyDescriptor.Application, services); LoadDictItemListeners(module.AssemblyDescriptor.Infrastructure, services); //加载字典名称同步描述符 LoadDictNameSyncDescriptors(services, module); } }
public void Configure(IServiceCollection services, IModuleCollection modules, IHostEnvironment env) { //密码处理服务 services.AddSingleton <IPasswordHandler, Md5PasswordHandler>(); //加载系统配置 var systemConfig = services.BuildServiceProvider().GetService <SystemConfigResolver>().Load().Result; services.AddSingleton(systemConfig); //模块配置项存储处理程序 services.AddSingleton <IModuleOptionsStorageProvider, ModuleOptionsStorageProvider>(); }
public JobHelper(IModuleCollection moduleCollection) { JobModuleDescriptors = new List <JobModuleDescriptor>(); ModuleSelect = new List <OptionResultModel>(); foreach (var module in moduleCollection) { ModuleSelect.Add(new OptionResultModel { Label = module.Name, Value = module.Id }); var jobModuleDescriptor = new JobModuleDescriptor { Id = module.Id, Descriptor = module, JobClassSelect = new List <OptionResultModel>() }; #region ==添加任务类== if (module.AssemblyDescriptor.Quartz != null) { var jobClassTypes = module.AssemblyDescriptor.Quartz.GetTypes().Where(m => typeof(IJob).IsAssignableFrom(m)); foreach (var jobClassType in jobClassTypes) { var jobClassOption = new OptionResultModel { Label = jobClassType.Name, Value = $"{jobClassType.FullName}, {jobClassType.Assembly.GetName().Name}" }; var descAttr = (DescriptionAttribute)Attribute.GetCustomAttribute(jobClassType, typeof(DescriptionAttribute)); if (descAttr != null && descAttr.Description.NotNull()) { jobClassOption.Label = descAttr.Description; } jobModuleDescriptor.JobClassSelect.Add(jobClassOption); } } #endregion JobModuleDescriptors.Add(jobModuleDescriptor); } }
/// <summary> /// Регистрировать модули. /// </summary> /// <param name="collection">Коллекция.</param> public static void RegisterModules(IModuleCollection collection) { CommonSerializationRegistration.RegisterModules(collection); LinkModelsRegistration.RegisterModules(collection); PostModelsRegistration.RegisterModules(collection); }
public virtual void VisitModuleCollection(IModuleCollection value) { for (int i = 0; i < value.Count; i++) { this.VisitModule(value[i]); } }
public static bool Compare(this IModuleCollection source, IModuleCollection n) { return Compare<IModule>(source,n); }
public static bool Compare(this IModuleCollection source, IModuleCollection n, Func<IModule, IModule, bool> checkitem) { return Compare<IModule>(source,n,checkitem); }
public static bool Compare(this IModuleCollection source, IModuleCollection n, Func<IModule, IModule, Action<string, string>, bool> checkitem, Action<string, string> errAct) { return Compare<IModule>(source,n,checkitem,errAct); }
/// <summary> /// 添加模块配置 /// </summary> /// <param name="services"></param> /// <param name="modules"></param> /// <returns></returns> public static IServiceCollection AddModuleOptions(this IServiceCollection services, IModuleCollection modules) { var collection = new ModuleOptionsCollection(); if (modules != null && modules.Any()) { foreach (var module in modules) { var descriptor = GetDescriptor(services, module); collection.Add(descriptor); } } //注入变更事件 services.AddChangedEvent(collection); //注入配置集合 services.AddSingleton <IModuleOptionsCollection>(collection); //注入引擎 services.AddSingleton <IModuleOptionsEngine, ModuleOptionsEngine>(); //从存储加载数据 services.BuildServiceProvider().GetService <IModuleOptionsEngine>().LoadFromStorage(services); return(services); }
public virtual IModuleCollection TransformModuleCollection(IModuleCollection value) { IModule[] array = new IModule[value.Count]; for (int i = 0; i < value.Count; i++) { array[i] = this.TransformModule(value[i]); } IModuleCollection target = new ModuleCollection(); target.AddRange(array); return target; }
/// <summary> /// 添加模块的自定义服务 /// </summary> /// <param name="services"></param> /// <param name="modules"></param> /// <param name="env"></param> /// <param name="cfg"></param> /// <returns></returns> public static IServiceCollection AddModuleServices(this IServiceCollection services, IModuleCollection modules, IHostEnvironment env, IConfiguration cfg) { foreach (var module in modules) { //加载模块初始化器 ((ModuleDescriptor)module).ServicesConfigurator?.Configure(services, modules, env, cfg); } return(services); }
private void InsituTransformModuleCollection(IModuleCollection value) { for (int i = 0; i < value.Count; i++) { value[i] = this.TransformModule(value[i]); } }