/// /////////////////////////////////////////// public override object Invoke(object objetAppelle, params object[] parametres) { CWorkflow workflow = objetAppelle as CWorkflow; if (workflow == null || parametres.Length == 0 || parametres[0] == null) { return(null); } string strIdType = parametres[0].ToString(); CTypeWorkflow typeWorkfow = workflow.TypeWorkflow; if (typeWorkfow == null) { return(null); } CListeObjetsDonnees etapes = typeWorkfow.Etapes; etapes.Filtre = new CFiltreData(CObjetDonnee.c_champIdUniversel + "=@1", strIdType); if (etapes.Count == 0) { return(null); } CTypeEtapeWorkflow typeEtape = etapes[0] as CTypeEtapeWorkflow; CEtapeWorkflow etape = workflow.GetEtapeForType(typeEtape); if (etape != null) { return(CGestionnaireProjetsDeWorkflow.GetProjetDirectementAssocie(etape)); } return(null); }
//-------------------------------------------------------------------------- public static IEnumerable <CProjet> FindSuccesseurs(CTypeEtapeWorkflow typeEtape, CWorkflow workflow) { List <CProjet> lstProjets = new List <CProjet>(); foreach (CTypeEtapeWorkflow tp in FindTypesSuccesseurs(typeEtape)) { CEtapeWorkflow etape = workflow.GetEtapeForType(tp); if (etape != null) { CProjet projet = GetProjetDirectementAssocie(etape); if (projet != null) { lstProjets.Add(projet); } } } return(lstProjets.AsReadOnly()); }