Exemplo n.º 1
0
        //----------------------------------------------------------------
        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);
            }
        }
Exemplo n.º 2
0
        public void TiagSetPhaseTicketKeys(object[] lstCles)
        {
            CPhaseTicket phase = new CPhaseTicket(ContexteDonnee);

            if (phase.ReadIfExists(lstCles))
            {
                PhaseTicket = phase;
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        //----------------------------------------------------------------------------
        /// <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);
        }
Exemplo n.º 5
0
        //----------------------------------------------------------------------
        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());
        }