/// <summary> /// Get ConfigSection by Id or All Root Sections /// </summary> public EntityResponse <IQueryable <ConfigDirectory> > GetConfigDirectoryById(long?id) { IQueryable <ConfigDirectory> configSectionQueryable; if (id.HasValue) { ConfigDirectory configSection = Uow.ConfigDirectories.GetById(id.Value); if (configSection == null) { return(ErrorCode.ConfigurationSectionNotFound); } configSectionQueryable = (new List <ConfigDirectory> { configSection }).AsQueryable(); } else { configSectionQueryable = Uow.ConfigDirectories.GetAllRoots(); } EntityResponse <IQueryable <ConfigDirectory> > result = EntityResponse <IQueryable <ConfigDirectory> > .Success(configSectionQueryable); return(result); }
public BaseResponse UpdateSection(ConfigDirectoryUpdateViewModel configDirectoryModel) { ConfigDirectory model = Mapper.Map <ConfigDirectory>(configDirectoryModel); BaseResponse response = _configurationService.UpdateConfigDirectory(model); return(response); }
/// <summary> /// 保存类命名空间 /// </summary> /// <param name="cns"></param> /// <returns></returns> public bool Save(ConfigDirectory cns, string oldmodel = "") { if (!oldmodel.IsNullOrEmpty()) { Delete(oldmodel); } return(Add(cns)); }
/// <summary> /// Return the Instance if it exists, otherwise load through the ConfigDirectory. /// </summary> protected static T GetOrLookup(Func <ConfigDirectory, string> lookup) { if (Instance == null) { Instance = ConfigDirectory.LoadAsset <T>(lookup); } return(Instance); }
public ConfigDirectoryViewModel Get(string path) { string[] pathParts = path.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); ConfigDirectory directory = _configurationService.GetConfigDirectory(pathParts); ConfigDirectoryViewModel result = Mapper.Map <ConfigDirectoryViewModel>(directory); return(result); }
/// <summary> /// Get ConfigSections by sections path /// </summary> public EntityResponse <ConfigDirectory> GetConfigDirectory(params string[] path) { ConfigDirectory configSection = Uow.ConfigDirectories.GetBySections(path); if (configSection == null) { return(ErrorCode.ConfigurationSectionNotFound); } return(configSection); }
/// <summary> /// 构造一个 <see cref="DataBuilderDependency"/>。 /// </summary> /// <param name="name">给定的名称。</param> /// <param name="parentDependency">给定的父级 <see cref="IExtensionBuilderDependency"/>(可选)。</param> protected DataBuilderDependency(string name, IExtensionBuilderDependency parentDependency = null) : base(name, parentDependency) { // ConfigDirectory //CompilersConfigDirectory = ConfigDirectory.CombinePath(DataSettings.Preference.CompilersFolder); DatabasesConfigDierctory = ConfigDirectory.CombinePath(DataSettings.Preference.DatabasesFolder); MigrationsConfigDirectory = ConfigDirectory.CombinePath(DataSettings.Preference.MigrationsFolder); // ReportDirectory DatabasesReportDirectory = ReportDirectory.CombinePath(DataSettings.Preference.DatabasesFolder); InitializersReportDirectory = ReportDirectory.CombinePath(DataSettings.Preference.InitializersFolder); }
static void CheckConfigDirectories() { if (!ConfigDirectory.Exists) { ConfigDirectory.Create(); } if (!ConfigDirectory.EnumerateDirectories().Any(x => x.Equals(AppMonitorDir) && x.Exists)) { ProcessMonitorDirectory = ConfigDirectory.CreateSubdirectory(AppMonitorDir); DumpDefaultConfigs(); // Will also re-create the application's main config file! } else { ProcessMonitorDirectory = new DirectoryInfo(AppMonitorDir); } }
/// <summary> /// Update ConfigSection without deletes /// </summary> public BaseResponse UpdateConfigDirectory(ConfigDirectory configSection) { EntityResponse <IQueryable <ConfigDirectory> > response = GetConfigDirectoryById(configSection.Id); if (!response.IsSuccess) { return(response.ErrorCode); } if (response.Entity.Count() > 1) { // Clients are not available to modify root configSection return(ErrorCode.ConfigurationForbiddenToModify); } ConfigDirectory oldConfigSection = response.Entity.Single(); oldConfigSection.Description = configSection.Description; oldConfigSection.ModifiedBy = configSection.ModifiedBy; foreach (ConfigValue oldSetting in oldConfigSection.ChildValues) { ConfigValue newSetting = configSection.ChildValues.SingleOrDefault(s => oldSetting.Id.Equals(s.Id)); if (newSetting == null) { // Clients are not available to remove settings return(ErrorCode.ConfigurationForbiddenToModify); } object result; if (!newSetting.TryGetValue(out result)) { return(ErrorCode.ConfigurationSettingDeserializationError); } oldSetting.ValueString = newSetting.ValueString; oldSetting.Description = newSetting.Description; oldSetting.ModifiedBy = newSetting.ModifiedBy; } Uow.ConfigDirectories.Update(oldConfigSection); Uow.Commit(); return(BaseResponse.Success()); }
/// <summary> /// Get ConfigSetting by sections path and a <param name="settingName">key</param> /// </summary> public EntityResponse <ConfigValue> GetConfigValue(string[] configSections, string settingName) { ConfigDirectory configSection = Uow.ConfigDirectories.GetBySections(configSections); if (configSection == null) { return(ErrorCode.ConfigurationSectionNotFound); } ConfigValue entity = configSection.ChildValues.SingleOrDefault(item => item.Name.Equals(settingName)); if (entity == null) { return(ErrorCode.ConfigurationSettingNotFound); } return(entity); }
/// <summary> /// Dumps the application's default configs to their respective locations. /// </summary> static void DumpDefaultConfigs() { try { using (var resStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(DefaultAppMonConfigUri)) using (var fileStream = ConfigDirectory.GetSubdirectory(AppMonitorDir).CreateFile(AppMonConfigTemplateName).OpenWrite()) { resStream.CopyTo(fileStream); } } catch (IOException ex) { _logger.Error(ex.Message); } try { using (var resStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(DefaultApplicationConfigUri)) using (var fileStream = ConfigDirectory.CreateFile(AppConfigTemplateName).OpenWrite()) { resStream.CopyTo(fileStream); } } catch (IOException ex) { _logger.Error(ex.Message); } }
/// <summary> /// 查询一个命名空间 /// </summary> /// <param name="namespace1"></param> /// <returns></returns> public ConfigDirectory Get(string name) { try { XElement xelem = XElement.Load(XmlFile); var queryXML = from xele in xelem.Elements("directory") where xele.Element("name").Value == name select new { name = xele.Element("name").Value }; ConfigDirectory cns = new ConfigDirectory(); if (queryXML.Count() > 0) { cns.Name = queryXML.First().name; } return(cns); } catch { return(null); } }
/// <summary> /// 构造一个 <see cref="CoreBuilderDependency"/>。 /// </summary> /// <param name="name">给定的名称。</param> protected CoreBuilderDependency(string name) : base(name) { TokensDirectory = ConfigDirectory.CombinePath(CoreSettings.Preference.TokensFolder); }