Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }
Ejemplo n.º 3
0
        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));
        }