private static string ConvertSettingToRuleSetting(RemoteSettingsKeyValueType remoteSetting)
        {
            try
            {
                switch (remoteSetting.type)
                {
                case "string":
                    return(StringSerializer(new RuleRemoteSettingsStringKeyValuesType(remoteSetting.key, remoteSetting.type, new List <string> {
                        remoteSetting.value
                    })));

                case "int":
                    return(IntSerializer(new RuleRemoteSettingsIntKeyValuesType(remoteSetting.key, remoteSetting.type, new List <int> {
                        int.Parse(remoteSetting.value)
                    })));

                case "float":
                    return(FloatSerializer(new RuleRemoteSettingsFloatKeyValuesType(remoteSetting.key, remoteSetting.type, new List <float> {
                        float.Parse(remoteSetting.value)
                    })));

                case "bool":
                    return(BoolSerializer(new RuleRemoteSettingsBoolKeyValuesType(remoteSetting.key, remoteSetting.type, new List <bool> {
                        bool.Parse(remoteSetting.value)
                    })));

                case "long":
                    return(LongSerializer(new RuleRemoteSettingsLongKeyValuesType(remoteSetting.key, remoteSetting.type, new List <long> {
                        long.Parse(remoteSetting.value)
                    })));

                default:
                    throw new ArgumentException(@"Cannot parse key : """ + remoteSetting.key + @""" of type: """ + remoteSetting.type + @""" because it is unsupported");
                }
            }
            catch (Exception ex)
            {
                if (ex.GetType() == typeof(ArgumentException))
                {
                    throw ex;
                }
                throw new ArgumentException(@"Parsing key """ + remoteSetting.key + @""" to type " + remoteSetting.type + " failed with exception: " + ex.Message);
            }
        }
Exemplo n.º 2
0
 public RsKvtData(string entityId, RemoteSettingsKeyValueType rs)
 {
     metadata.entityId = entityId;
     this.rs           = rs;
 }