public IElementAVariablesDynamiquesAvecContexteDonnee GetElementAVariableSourceFromType(Type tp) { if (tp == null) { return(null); } CElementAVariablesDynamiques elt = CElementAVariablesDynamiques.GetElementAUneVariableType(tp, DynamicClassAttribute.GetNomConvivial(tp)); return(elt); }
/// <summary> /// /////////////////////////////////////////////////////////////////////////////////////// /// </summary> /// <param name="typeDonnee"></param> /// <returns></returns> public static object GetNewForTypeDonnee(TypeDonnee typeDonnee, Type typeObjetDonnee, object valeur) { object objTest = null; switch (typeDonnee) { case TypeDonnee.tBool: if (valeur == null) { objTest = new CObjetForTestValeurChampCustomBool( ); } else { objTest = new CObjetForTestValeurChampCustomBool((bool)Convert.ChangeType(valeur, typeof(bool), null)); } break; case TypeDonnee.tDate: if (valeur == null) { objTest = new CObjetForTestValeurChampCustomDateTime( ); } else { objTest = new CObjetForTestValeurChampCustomDateTime((DateTime)Convert.ChangeType(valeur, typeof(DateTime), null)); } break; case TypeDonnee.tDouble: if (valeur == null) { objTest = new CObjetForTestValeurChampCustomDouble( ); } else if (valeur is CValeurUnite) { objTest = new CObjetForTestValeurChampCustomDouble(((CValeurUnite)valeur).Valeur); } else { objTest = new CObjetForTestValeurChampCustomDouble((double)Convert.ChangeType(valeur, typeof(double), null)); } break; case TypeDonnee.tEntier: if (valeur == null) { objTest = new CObjetForTestValeurChampCustomInt( ); } else { objTest = new CObjetForTestValeurChampCustomInt((int)Convert.ChangeType(valeur, typeof(int), null)); } break; case TypeDonnee.tString: if (valeur == null) { objTest = new CObjetForTestValeurChampCustomString(); } else { objTest = new CObjetForTestValeurChampCustomString(valeur.ToString()); } break; case TypeDonnee.tObjetDonneeAIdNumeriqueAuto: CElementAVariablesDynamiques element = CElementAVariablesDynamiques.GetElementAUneVariableType(typeObjetDonnee, "value"); element.SetValeurChamp((IVariableDynamique)element.ListeVariables[0], valeur); objTest = element; break; default: throw new Exception(I.T("The type @1 isn't implemented in the value tests|185", typeDonnee.ToString())); } return(objTest); }