/// //////////////////////////////////////////////////////// protected override CResultAErreur MyExecute(CContexteExecutionAction contexte) { CResultAErreur result = CResultAErreur.True; CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process); contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee); if (m_expressionElementADissocier == null) { result.EmpileErreur(I.T("No element to be dissociated|169")); return(result); } result = m_expressionElementADissocier.Eval(contexteEval); if (!result) { result.EmpileErreur(I.T("Error in the elements to be dissociated formula|170")); return(result); } if (result.Data != null) { if (!(result.Data is CObjetDonneeAIdNumerique)) { result.EmpileErreur(I.T("The element to be dissociated formula must be return a work entity|167")); return(result); } CComportementGenerique comportement = new CComportementGenerique(contexte.ContexteDonnee); if (!comportement.ReadIfExists(m_dbKeyComportement)) { return(result); } comportement.RemoveComportementFromObjet((CObjetDonneeAIdNumerique)result.Data); } return(result); }
/// //////////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees() { CResultAErreur result = CResultAErreur.True; if (m_expressionElementADissocier == null) { result.EmpileErreur(I.T("The element to be dissociated formula is incorrect|166")); } else { CTypeResultatExpression typeRes = m_expressionElementADissocier.TypeDonnee; if (!(typeRes.TypeDotNetNatif.IsSubclassOf(typeof(CObjetDonneeAIdNumerique)))) { result.EmpileErreur(I.T("The element to be dissociated formula must be return a work entity|167")); } } //Vérifie que le comportement existe CComportementGenerique comportement = new CComportementGenerique(Process.ContexteDonnee); if (!comportement.ReadIfExists(m_dbKeyComportement)) { result.EmpileErreur(I.T("The behavior to be dissociated is incorrect|168")); } return(result); }
/// //////////////////////////////////////////////////////// protected override CResultAErreur MyExecute(CContexteExecutionAction contexte) { CResultAErreur result = CResultAErreur.True; CContexteEvaluationExpression contexteEval = new CContexteEvaluationExpression(Process); contexteEval.AttacheObjet(typeof(CContexteDonnee), contexte.ContexteDonnee); if (m_expressionElementAAssocier == null) { result.EmpileErreur(I.T("Not element to be associated|110")); return(result); } result = m_expressionElementAAssocier.Eval(contexteEval); if (!result) { result.EmpileErreur(I.T("Error in element to be associated formula|111")); return(result); } if (result.Data != null) { if (!(result.Data is CObjetDonneeAIdNumerique)) { result.EmpileErreur(I.T("The element to be associated formula doesn't return a work entity|112")); return(result); } CComportementGenerique comportement = new CComportementGenerique(contexte.ContexteDonnee); if (!comportement.ReadIfExists(m_dbKeyComportement)) { result.EmpileErreur(I.T("The @1 behavior doesn't exist|113", m_dbKeyComportement.ToString())); return(result); } comportement.AddComportementToObjet((CObjetDonneeAIdNumerique)result.Data); } return(result); }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CComportementGenerique comportement = (CComportementGenerique)objet; if (comportement.Libelle == "") { result.EmpileErreur(I.T("The label of the behavior cannot be empty|102")); } if (!CObjetDonneeAIdNumerique.IsUnique(comportement, CComportementGenerique.c_champLibelle, comportement.Libelle)) { result.EmpileErreur(I.T("A behavior with this label already exists|103")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
/// <summary> /// Retourne tous les comportements génériques induits par un définisseur /// </summary> /// <param name="definisseur"></param> /// <returns></returns> public static CComportementGenerique[] GetComportementsInduits(IDefinisseurEvenements definisseur) { CListeObjetsDonnees liste = new CListeObjetsDonnees(((CObjetDonnee)definisseur).ContexteDonnee, typeof(CRelationDefinisseurComportementInduit)); liste.Filtre = new CFiltreData( CRelationDefinisseurComportementInduit.c_champTypeDefinisseur + "=@1 and " + CRelationDefinisseurComportementInduit.c_champIdDefinisseur + "=@2", definisseur.GetType().ToString(), definisseur.Id); CComportementGenerique[] lst = new CComportementGenerique[liste.Count]; int nIndex = 0; foreach (CRelationDefinisseurComportementInduit rel in liste) { lst[nIndex++] = rel.Comportement; } return(lst); }
public static void AddComportementInduit(IDefinisseurEvenements definisseur, CComportementGenerique comportement) { CRelationDefinisseurComportementInduit relation = new CRelationDefinisseurComportementInduit(((CObjetDonnee)definisseur).ContexteDonnee); if (relation.ReadIfExists( new CFiltreData( CRelationDefinisseurComportementInduit.c_champTypeDefinisseur + "=@1 and " + CRelationDefinisseurComportementInduit.c_champIdDefinisseur + "=@2 and " + CComportementGenerique.c_champId + "=@3", definisseur.GetType().ToString(), definisseur.Id, comportement.Id ))) { return; } relation.CreateNewInCurrentContexte(); relation.Comportement = comportement; relation.DefinisseurAssocie = (CObjetDonneeAIdNumerique)definisseur; }
public static void RemoveComportementInduit(IDefinisseurEvenements definisseur, CComportementGenerique comportement) { CRelationDefinisseurComportementInduit relation = new CRelationDefinisseurComportementInduit(comportement.ContexteDonnee); if (relation.ReadIfExists( new CFiltreData( CRelationDefinisseurComportementInduit.c_champTypeDefinisseur + "=@1 and " + CRelationDefinisseurComportementInduit.c_champIdDefinisseur + "=@2 and " + CComportementGenerique.c_champId + "=@3", definisseur.GetType().ToString(), definisseur.Id, comportement.Id ))) { relation.Delete(); } }