//----------------------------------------------------------------------------- public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] valeursParametres) { CResultAErreur result = CResultAErreur.True; CContexteDonnee ctxDonnee = null; if (ctx.ObjetSource is IObjetAContexteDonnee) { ctxDonnee = ((IObjetAContexteDonnee)ctx.ObjetSource).ContexteDonnee; } if (ctxDonnee == null) { ctxDonnee = ctx.GetObjetAttache(typeof(CContexteDonnee)) as CContexteDonnee; } if (ctxDonnee == null) { ctxDonnee = CContexteDonneeSysteme.GetInstance(); } CNommageEntite nommage = new CNommageEntite(ctxDonnee); //TESTDBKEYOK if (nommage.ReadIfExists(m_keyNommageEntite)) //&& nommage.NomFort == m_strNom) { result.Data = nommage.GetObjetNomme(); } else if (nommage.ReadIfExists(new CFiltreData(CNommageEntite.c_champNomFort + "=@1", m_strNom))) { result.Data = nommage.GetObjetNomme(); } return(result); }
/// ////////////////////////////////////////// public override CResultAErreur MyEval(CContexteEvaluationExpression ctx, object[] listeParametres) { CResultAErreur result = CResultAErreur.True; string strVal = listeParametres[0].ToString(); Type tp = listeParametres[0] as Type; if (tp == null) { tp = CActivatorSurChaine.GetType(strVal, true); } if (tp == null) { tp = CActivatorSurChaine.GetType(strVal, false); } if (tp == null) { result.EmpileErreur(I.T("The @1 type does not exist|221", strVal)); return(result); } if (!typeof(CObjetDonneeAIdNumerique).IsAssignableFrom(tp)) { result.EmpileErreur(I.T("The @1 type cannot be loaded by the 'GetEntite' function|222", strVal)); return(result); } try { CContexteDonnee contexteDonnee = (CContexteDonnee)ctx.GetObjetAttache(typeof(CContexteDonnee)); if (contexteDonnee == null) { contexteDonnee = new CContexteDonnee(CSessionClient.GetSessionUnique().IdSession, true, false); ctx.AttacheObjet(typeof(CContexteDonnee), contexteDonnee); } CObjetDonneeAIdNumerique obj = (CObjetDonneeAIdNumerique)Activator.CreateInstance(tp, new object[] { contexteDonnee }); if (listeParametres[1] is int) { if (obj.ReadIfExists((int)listeParametres[1])) { result.Data = obj; } else { result.Data = null; } } // YK 14/04/2011 Surcharge du deuxième paramètre en String Nom de l'entité nommée else if (listeParametres[1] is string) { CNommageEntite nommage = new CNommageEntite(contexteDonnee); if (nommage.ReadIfExists(new CFiltreData( CNommageEntite.c_champTypeEntite + " = @1 AND " + CNommageEntite.c_champNomFort + " = @2", tp.ToString(), (string)listeParametres[1]))) { result.Data = nommage.GetObjetNomme(); } else if (typeof(IObjetDonnee).IsAssignableFrom(tp)) { IObjetDonnee objUniv = (IObjetDonnee)Activator.CreateInstance(tp, new object[] { contexteDonnee }); if (objUniv.ReadIfExistsUniversalId((string)listeParametres[1])) { result.Data = objUniv; } } else { result.Data = null; } } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }