public async Task SetAsync(MongoStrategyParams strategyParams, ConfigCondition entity) { var database = strategyParams.Database; var collection = strategyParams.Collection; await RemoveAsync(strategyParams); await MongoClient.GetDatabase(database).GetCollection <ConfigCondition>(collection).InsertOneAsync(entity); }
/// <summary> /// /// </summary> /// <param name="templateId"></param> /// <param name="value"></param> /// <param name="version"></param> /// <param name="name"></param> /// <param name="type"></param> /// <returns></returns> public async Task <JsonResult> UpdateConfig(long?templateId, string value, string version, string name, int type) { var result = new QueryResult <long>(); if (!templateId.HasValue) { result.IsSuccess = false; result.ErrorMsg = "错误,请重新进入编辑页面"; } else { var log = new OperationLog(); var condition = new ConfigCondition { EnvId = EnvId, TemplateId = templateId }; value = value == null ? string.Empty : value.Trim(); var list = await _configService.GetList(condition); if (list != null && list.ToList().Count > 0) { var obj = list.FirstOrDefault(); obj.Value = value; log.Content = "更新配置 请求内容:更新" + obj.Value + "变更为" + value; obj.Mtime = DateTime.Now; result.IsSuccess = await _configService.Update(obj); DisconfigCache.UpdateCache(AppId + version + EnvId, value, type, name); } else { var obj = new Configs { TemplateId = templateId.Value, EnvId = EnvId, Value = value }; log.Content = "启用配置 请求内容:启用;" + value; result.IsSuccess = await _configService.Insert(obj); DisconfigCache.AddCache(AppId + version + EnvId, value, type, name); } ConfigLog(log); result.Data = EnvId; var appName = await _appService.GetAppNameById(AppId); var envName = await _envService.GetEnvNameById(EnvId); var path = DisconfWatcher.GetPath(name, appName, version, envName, type); DisconfWatcher.AddOrSetData(path); } return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <JsonResult> GetConfigByTemplateId(long templateId) { var condition = new ConfigCondition { TemplateId = templateId, EnvId = EnvId }; var list = await _configService.GetList(condition); var model = list.FirstOrDefault(); return(Json(model, JsonRequestBehavior.AllowGet)); }
public ActionResult <List <ConfigCondition> > FakeCondition([FromQuery] int number) { var conditions = new List <ConfigCondition>(); for (int i = 0; i < number; i++) { var fake = new DefinedCondition().Fake(); var config = new ConfigCondition { Key = i.ToString(), Defined = fake }; conditions.Add(config); } return(Ok(conditions)); }
public async Task <IEnumerable <Configs> > GetList(ConfigCondition condition) { var pg = new PredicateGroup { Operator = GroupOperator.And, Predicates = new List <IPredicate>() }; if (condition.TemplateId.HasValue) { pg.Predicates.Add(Predicates.Field <Configs>(l => l.TemplateId, Operator.Eq, condition.TemplateId.Value)); } if (condition.EnvId.HasValue) { pg.Predicates.Add(Predicates.Field <Configs>(l => l.EnvId, Operator.Eq, condition.EnvId.Value)); } return(await _configRepository.GetListWithCondition <Configs>(pg)); }
public async Task SetAsync(RedisStrategyParams strategyParams, ConfigCondition entity) { var condits = await _configConditsStrategy.GetAsync(strategyParams); var condit = condits.Where(c => c.Key == entity.Key).SingleOrDefault(); if (condit is null) { condits.Add(entity); } else { condit.Defined = entity.Defined; } await _configConditsStrategy.SetAsync(strategyParams, condits); }
public async Task <JsonResult> Delete(long id) { var condition = new ConfigCondition { TemplateId = id }; var list = await _configService.GetList(condition); if (list != null && list.Count() > 0) { return(Json(false, JsonRequestBehavior.AllowGet)); } else { return(Json(await _templateService.Delete(id), JsonRequestBehavior.AllowGet)); } }