//*** Other ***// /// <summary> /// Adds known parameters to the fullSync query. /// </summary> /// <param name="query"></param> /// <param name="parameters"></param> private static void AddParametersToQuery(Query query, IDictionary <string, object> parameters) { foreach (KeyValuePair <string, object> parameter in parameters) { FullSyncRequestParameter fullSyncRequestParameter = FullSyncRequestParameter.GetFullSyncRequestParameter(parameter.Key); // If the parameter corresponds to a FullSyncRequestParameter if (fullSyncRequestParameter != null) { object parameterValue = parameter.Value; Type type = fullSyncRequestParameter.type; if (type != typeof(object) && parameterValue is string) { parameterValue = C8oTranslator.StringToObject(parameterValue as string, type); } //object objectParameterValue = parameterValue; //if (parameterValue is String) //{ // // Passer par une fonction ??,, // objectParameterValue = JsonConvert.DeserializeObject(parameterValue as String, fullSyncRequestParameter.type); //} // fullSyncRequestParameter.AddToQuery(query, objectParameterValue); C8oFullSyncCblEnum.AddToQuery(query, fullSyncRequestParameter, parameterValue); } } }
internal static void AddToQuery(Query query, FullSyncRequestParameter requestParameter, object value) { Init(); // Checks if the type is valid if (requestParameter.type.IsAssignableFrom(value.GetType())) { fullSyncRequestParameters[requestParameter](query, value); } else { throw new ArgumentException(C8oExceptionMessage.InvalidArgumentInvalidParameterType(requestParameter.name, "" + requestParameter.type, "" + value.GetType())); } }
public static FullSyncRequestParameter GetFullSyncRequestParameter(string name) { if (name != null) { foreach (FullSyncRequestParameter fullSyncRequestParameter in FullSyncRequestParameter.Values()) { if (name.Equals(fullSyncRequestParameter.name)) { return(fullSyncRequestParameter); } } } return(null); }