public static void ReloadConfig(string tableName) { Console.WriteLine($"ReloadConfig: {tableName}"); if (tableName != "all" && !Loads.ContainsKey(tableName)) { return; } if (tableName == UsuallyDictionaryHelper.TableName) { UsuallyDictionaryHelper.LoadConfig(); DataNameDictionaryHelper.LoadConfig(); } else if (tableName == "all") { foreach (var action in Loads.Values) { action(); } //ClientManager.LoadConfig(); } else { if (Loads.ContainsKey(tableName)) { Loads[tableName](); } } }
public Result PutUsuallyDictionaryByScript([FromBody] List <UsuallyDictionary> usuallyDictionaries) { var scriptIds = usuallyDictionaries.GroupBy(x => x.ScriptId).Select(x => x.Key); if (scriptIds.Count() != 1) { return(Result.GenError <Result>(Error.ParamError)); } var scriptId = scriptIds.First(); var cnt = ScriptVersionHelper.Instance.GetCountById(scriptId); if (cnt == 0) { return(Result.GenError <Result>(Error.ScriptVersionNotExist)); } var createUserId = Request.GetIdentityInformation(); var time = DateTime.Now; var exist = UsuallyDictionaryHelper.GetDetail(new List <int> { scriptId }); //var exist = ServerConfig.ApiDb.Query<UsuallyDictionary>("SELECT * FROM `usually_dictionary` WHERE `MarkedDelete` = 0 AND ScriptId = @ScriptId;", new { ScriptId = scriptId }); var exist_not0 = exist.Where(e => e.ScriptId != 0); var exist_0 = exist.Where(e => e.ScriptId == 0); var add = usuallyDictionaries.Where(x => exist.All(y => y.Id != x.Id)).ToList(); add.AddRange(usuallyDictionaries.Where(x => exist_0.Any(y => y.Id == x.Id && (y.VariableNameId != x.VariableNameId || y.DictionaryId != x.DictionaryId || y.VariableTypeId != x.VariableTypeId)))); foreach (var usuallyDictionary in add) { usuallyDictionary.CreateUserId = createUserId; usuallyDictionary.MarkedDateTime = time; } if (add.Any()) { UsuallyDictionaryHelper.Instance.Add(add); } var update = usuallyDictionaries.Where(x => !exist_0.Any(y => y.Id != x.Id && y.VariableNameId == x.VariableNameId && y.DictionaryId == x.DictionaryId && y.VariableTypeId == x.VariableTypeId) && exist_not0.Any(y => y.Id == x.Id && (y.VariableNameId != x.VariableNameId || y.DictionaryId != x.DictionaryId || y.VariableTypeId != x.VariableTypeId))).ToList(); foreach (var usuallyDictionary in update) { usuallyDictionary.MarkedDateTime = time; } if (update.Any()) { UsuallyDictionaryHelper.Instance.Update <UsuallyDictionary>(update); } var del = usuallyDictionaries.Where(x => exist_0.Any(y => y.Id != x.Id && y.VariableNameId == x.VariableNameId && y.DictionaryId == x.DictionaryId && y.VariableTypeId == x.VariableTypeId)).ToList(); if (del.Any()) { UsuallyDictionaryHelper.Instance.Delete(del.Select(x => x.Id)); } RedisHelper.PublishToTable(UsuallyDictionaryHelper.Instance.Table); return(Result.GenError <Result>(Error.Success)); }
public DataResult GetUsuallyDictionaryTypeDevice([FromQuery] int deviceId) { var device = DeviceHelper.Instance.Get <Device>(deviceId); if (device == null) { return(Result.GenError <DataResult>(Error.DeviceNotExist)); } var usuallyDictionaries = UsuallyDictionaryHelper.GetUsuallyDictionaryDetails(new List <int> { device.ScriptId }, null, new List <int> { 1 }); var result = new DataResult(); result.datas.AddRange(usuallyDictionaries); return(result); }
public DataResult GetUsuallyDictionary([FromQuery] int qId, int sId) { var cnt = ScriptVersionHelper.Instance.GetCountById(sId); if (cnt == 0) { return(Result.GenError <DataResult>(Error.ScriptVersionNotExist)); } var result = new DataResult(); if (qId != 0) { result.datas.AddRange(UsuallyDictionaryHelper.GetMenu(qId)); } else if (sId != 0) { result.datas.AddRange(UsuallyDictionaryHelper.GetUsuallyDictionaryDetails(new List <int> { sId })); } return(result); }