public async Task <ActionResult <IResult> > Get(string datastoreName, string scenarioName) { ConfigResult result = new ConfigResult(); if (string.IsNullOrWhiteSpace(datastoreName)) { result.success = false; result.responseMessage = "datastoreName不能为空。"; } else if (string.IsNullOrWhiteSpace(scenarioName)) { result.success = false; result.responseMessage = "scenarioName不能为空。"; } else { ConfigExecutor executor = new ConfigExecutor(null, datastoreName); (bool isDSExist, bool isScenarioExist, List <ColorConfig> configs) = executor.GetColorConfigs(scenarioName); if (!isDSExist) { result.success = false; result.responseMessage = "Datastore " + datastoreName + "不存在,或没有数据导入。"; } else { if (!isScenarioExist) { result.success = false; result.responseMessage = "scenario " + scenarioName + " 不存在。"; } else { result.success = true; if (configs == null) { result.responseMessage = "scenario " + scenarioName + " 没有 color config 的定义。"; } else { result.responseMessage = "一共有 " + configs.Count + " color config 的定义。"; result.entityColorConfig = new Dictionary <string, string>(); foreach (ColorConfig config in configs) { if (!result.entityColorConfig.ContainsKey(config.itemLabel)) { result.entityColorConfig.Add(config.itemLabel, config.color); } } } } } } log.Information("[Response]: " + JsonConvert.SerializeObject(result)); return(Ok(result)); }
public async Task <ActionResult <IResult> > Post(string user, string datastoreName, string scenarioName, Dictionary <string, string> entityColorConfig) { ConfigResult result = new ConfigResult(); if (string.IsNullOrWhiteSpace(datastoreName)) { result.success = false; result.responseMessage = "datastoreName不能为空。"; } else if (string.IsNullOrWhiteSpace(scenarioName)) { result.success = false; result.responseMessage = "scenarioName不能为空。"; } else { ConfigExecutor executor = new ConfigExecutor(user, datastoreName); if (entityColorConfig == null || entityColorConfig.Count == 0) { result.success = false; result.responseMessage = "color config 不能为空。"; } List <ColorConfig> colorConfigs = new List <ColorConfig>(); foreach (string entityName in entityColorConfig.Keys) { string colorHexCode = entityColorConfig[entityName].Trim(); if (colorHexCode.StartsWith('#')) { long output; bool isHex = long.TryParse(colorHexCode.Substring(1), System.Globalization.NumberStyles.HexNumber, null, out output); if (isHex) { ColorConfig config = new ColorConfig(); config.itemLabel = entityName; config.color = colorHexCode; colorConfigs.Add(config); } } } (bool success, string msg) = executor.UpdateColorConfigs(scenarioName, colorConfigs); result.success = success; result.responseMessage = msg; } return(Ok(result)); }
public async Task <ActionResult <IResult> > Post(string user, string datastoreName, string scenarioName, Dictionary <string, string> entityColorConfig) { ConfigResult result = new ConfigResult(); if (string.IsNullOrWhiteSpace(datastoreName)) { result.success = false; result.responseMessage = "datastoreName不能为空。"; } else if (string.IsNullOrWhiteSpace(scenarioName)) { result.success = false; result.responseMessage = "scenarioName不能为空。"; } else { ConfigExecutor executor = new ConfigExecutor(user, datastoreName); if (entityColorConfig == null || entityColorConfig.Count == 0) { result.success = false; result.responseMessage = "color config 不能为空。"; } List <ColorConfig> colorConfigs = new List <ColorConfig>(); foreach (string eName in entityColorConfig.Keys) { ColorConfig config = new ColorConfig(); config.itemLabel = eName; config.color = entityColorConfig[eName]; colorConfigs.Add(config); } (bool success, string msg) = executor.UpdateColorConfigs(scenarioName, colorConfigs); result.success = success; result.responseMessage = msg; } return(Ok(result)); }