예제 #1
0
        //------------------------------------------------------------------------
        public CResultAErreur Degeler(DateTime dateFin, string strInfoFinGel, CDbKey keyResponsableFinGel)
        {
            CResultAErreur    result      = CResultAErreur.True;
            CGelEtapeWorkflow gelADegeler = null;

            foreach (CGelEtapeWorkflow gel in Gels)
            {
                if (gel.DateFin == null)
                {
                    gelADegeler = gel;
                    break;
                }
            }
            if (gelADegeler == null)
            {
                result.EmpileErreur(I.T("Unfreezing impossible for an element not freezed|10005"));
                return(result);
            }

            gelADegeler.BeginEdit();
            gelADegeler.InfosFinGel          = strInfoFinGel;
            gelADegeler.DateFin              = dateFin;
            gelADegeler.KeyResponsabelFinGel = keyResponsableFinGel;
            result = gelADegeler.CommitEdit();

            return(result);
        }
예제 #2
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CGelEtapeWorkflow gel = (CGelEtapeWorkflow)objet;
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
예제 #3
0
        //-------------------------------------------------------------------------------
        public static object GetActeurResponsableFinGel(object source)
        {
            CGelEtapeWorkflow gelEtape = source as CGelEtapeWorkflow;

            if (gelEtape == null)
            {
                return(null);
            }

            CActeur acteur = new CActeur(gelEtape.ContexteDonnee);

            if (acteur.ReadIfExists(gelEtape.KeyResponsabelFinGel))
            {
                return(acteur);
            }

            return(null);
        }
예제 #4
0
        //-----------------------------------------------------------------------
        public CResultAErreur Geler(DateTime dateDebut, CCauseGel cause, string strInfo, CDbKey keyResponsableDebutGel)
        {
            CResultAErreur result = CResultAErreur.True;

            //Vérifie qu'il n'y a pas déjà un gel ouvert
            if (EstGelee)
            {
                result.EmpileErreur(I.T("Freezing impossible for a Step already freezed|10004"));
                return(result);
            }
            CGelEtapeWorkflow gel = new CGelEtapeWorkflow(ContexteDonnee);

            gel.CreateNew();
            gel.DateDebut              = dateDebut;
            gel.CauseGel               = cause;
            gel.InfosDebutGel          = strInfo;
            gel.EtapeWorkflow          = this;
            gel.KeyResponsabelDebutGel = keyResponsableDebutGel;
            result = gel.CommitEdit();

            return(result);
        }