Exemplo n.º 1
0
        //*** 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);
                }
            }
        }
Exemplo n.º 2
0
 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()));
     }
 }
Exemplo n.º 3
0
 public static FullSyncRequestParameter GetFullSyncRequestParameter(string name)
 {
     if (name != null)
     {
         foreach (FullSyncRequestParameter fullSyncRequestParameter in FullSyncRequestParameter.Values())
         {
             if (name.Equals(fullSyncRequestParameter.name))
             {
                 return(fullSyncRequestParameter);
             }
         }
     }
     return(null);
 }