//---------------------------------------------------------------- public CTypePhase[] GetTypesPhasesSuivantesPossibles() { CPhaseTicket phaseEnCours = PhaseEnCours; if (phaseEnCours == null) { if (TypeTicket != null) { return(TypeTicket.TypePhasesDemarrage); } return(null); } else { if (TypeTicket != null) { foreach (CTypeTicket_TypePhase rel in TypeTicket.RelationsTypesPhases) { if (rel.TypePhase == phaseEnCours.TypePhase) { return(rel.GetTypesPhasesSuivantesPossibles(phaseEnCours)); } } } return(null); } }
public void TiagSetPhaseTicketKeys(object[] lstCles) { CPhaseTicket phase = new CPhaseTicket(ContexteDonnee); if (phase.ReadIfExists(lstCles)) { PhaseTicket = phase; } }
public CResultAErreur CreerHistorique(CPhaseTicket phase, string info) { CResultAErreur result = CResultAErreur.True; CHistoriqueTicket histo = new CHistoriqueTicket(this.ContexteDonnee); histo.CreateNewInCurrentContexte(); histo.Date = DateTime.Now; histo.Ticket = this; if (phase != null) { histo.PhaseTicket = phase; } else { histo.PhaseTicket = PhaseEnCours; } histo.ActeurUtilisateur = CUtilSession.GetUserForSession(this.ContexteDonnee); histo.Info = info; return(result); }
//---------------------------------------------------------------------------- /// <summary> /// Clos la phase en cours et créer une nouvelle phase du type spécifié /// </summary> /// <param name="typePhase"></param> /// <returns></returns> public CResultAErreur StartPhaseSuivante(CTypePhase typePhase) { CResultAErreur result = CResultAErreur.True; if (typePhase == null) { return(CResultAErreur.False); } CPhaseTicket phaseEnCours = this.PhaseEnCours; if (phaseEnCours != null) { if (phaseEnCours.EstGelee) { result.EmpileErreur(I.T("The current phase is frrozen|30076")); return(result); } if (!phaseEnCours.EvaluerConditionDeSortie()) { result.EmpileErreur(I.T("The phase exit condition is not valid|30077")); return(result); } if (phaseEnCours.DateDebut == null) { phaseEnCours.DateDebut = DateTime.Now; } phaseEnCours.DateFin = DateTime.Now; } CPhaseTicket phaseSuivante = new CPhaseTicket(this.ContexteDonnee); phaseSuivante.CreateNewInCurrentContexte(); phaseSuivante.Ticket = this; phaseSuivante.TypePhase = typePhase; return(result); }
//---------------------------------------------------------------------- public CTypePhase[] GetTypesPhasesSuivantesPossibles(CPhaseTicket phase) { List <CTypePhase> liste = new List <CTypePhase>(); CContexteEvaluationExpression contexte = new CContexteEvaluationExpression(phase); foreach (CLienTypePhase liens in RelationsTypesPhasesSuivantes) { C2iExpression formule = liens.FormuleConditionnelle; if (formule != null) { CResultAErreur result = formule.Eval(contexte); if (result) { if (result.Data is bool && (bool)result.Data || result.Data is int && (int)result.Data != 0) { liste.Add(liens.ToTypePhase.TypePhase); } } } } return(liste.ToArray()); }