public CNoeudRecherche_Evenementc(CEvenement evenement)
 {
     if (evenement != null)
     {
         m_nIdEvenement = evenement.Id;
         m_strLibelle   = I.T("Event @1|20025", evenement.Libelle);
     }
 }
Esempio n. 2
0
        private CResultAErreur EditeEvenementPopup(CObjetDonnee objet)
        {
            CEvenement evenement = objet as CEvenement;

            if (evenement != null)
            {
                CFormEditionEvenementPopup.EditeEvenement(evenement);
            }
            return(CResultAErreur.True);
        }
Esempio n. 3
0
        //------------------------------------------------------------
        public static bool EditeEvenement(CEvenement evenement)
        {
            CFormEditionEvenementPopup form = new CFormEditionEvenementPopup();

            form.m_evenement = evenement;
            bool bResult = form.ShowDialog() == DialogResult.OK;

            form.Dispose();
            return(bResult);
        }
Esempio n. 4
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CEvenement evt = (CEvenement)objet;

                if (evt.Libelle.Trim() == string.Empty)
                {
                    result.EmpileErreur(I.T("The Event label could not be empty|114"));
                }

                if (!CObjetDonneeAIdNumerique.IsUnique(evt, CEvenement.c_champLibelle, evt.Libelle))
                {
                    result.EmpileErreur("An Event with the same label already exist|116");
                }

                if (evt.TypeCible == null)
                {
                    result.EmpileErreur(I.T("Target Type incorrect|107"));
                }
                if (evt.TypeEvenement == TypeEvenement.Date)
                {
                    if (evt.ProprieteSurveillee == null)
                    {
                        result.EmpileErreur(I.T("The supervised property is not valid|108"));
                    }
                    else
                    {
                        if (evt.ProprieteSurveillee.TypeDonnee.TypeDotNetNatif != typeof(DateTime) &&
                            evt.ProprieteSurveillee.TypeDonnee.TypeDotNetNatif != typeof(CDateTimeEx) &&
                            evt.ProprieteSurveillee.TypeDonnee.TypeDotNetNatif != typeof(DateTime?))
                        {
                            result.EmpileErreur(I.T("The supervised property must be of the Date/Time type|109"));
                        }
                    }
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }

            return(result);
        }
        /// //////////////////////////////////////////////////////////////////////////
        public CResultAErreur DeclencheEvenementStatiques(Type typeObjet, CDbKey dbKeyObjet)
        {
            CResultAErreur result = CResultAErreur.True;

            using (CContexteDonnee contexte = new CContexteDonnee(IdSession, true, false))
            {
                CObjetDonneeAIdNumerique objet = (CObjetDonneeAIdNumerique)Activator.CreateInstance(typeObjet, new object[] { contexte });
                if (!objet.ReadIfExists(dbKeyObjet))
                {
                    result.EmpileErreur(I.T("The @1 object with id @2 doesn't exist|106", DynamicClassAttribute.GetNomConvivial(typeObjet), dbKeyObjet.StringValue));
                    return(result);
                }
                IDeclencheurAction[] declencheurs = CRecuperateurDeclencheursActions.GetDeclencheursAssocies(objet);
                foreach (IDeclencheurAction declencheur in declencheurs)
                {
                    if (declencheur is CEvenement)
                    {
                        CEvenement evt = (CEvenement)declencheur;
                        CInfoDeclencheurProcess infoDeclencheur = new CInfoDeclencheurProcess();
                        bool bShouldDeclenche = false;
                        if (!evt.DejaDeclenchePourEntite(objet))
                        {
                            bShouldDeclenche = evt.ParametreDeclencheur.ShouldDeclenche(
                                objet,
                                false,
                                true,
                                ref infoDeclencheur);
                        }
                        if (bShouldDeclenche)
                        {
                            evt.EnregistreDeclenchementEvenement(objet, infoDeclencheur);
                        }
                        if (!result)
                        {
                            return(result);
                        }
                    }
                }
            }
            return(result);
        }
Esempio n. 6
0
        private CResultAErreur CreeEvenementPopup(CListeObjetsDonnees lstEvenements)
        {
            CResultAErreur result    = CResultAErreur.True;
            CEvenement     evenement = new CEvenement(m_definisseur.ContexteDonnee);

            evenement.CreateNew();
            evenement.Definisseur = m_definisseur;
            evenement.TypeCible   = m_definisseur.TypesCibleEvenement[0];
            if (!CFormEditionEvenementPopup.EditeEvenement(evenement))
            {
                evenement.CancelCreate();
            }
            else
            {
                result = evenement.CommitEdit();
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                }
                InitPanelEvenements();
            }
            return(result);
        }
Esempio n. 7
0
        //-------------------------------------------------------------------
        public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte)
        {
            CResultAErreur result = base.TraitementAvantSauvegarde(contexte);

            if (!result)
            {
                return(result);
            }
            DataTable table = contexte.Tables[GetNomTable()];

            if (table == null)
            {
                return(result);
            }
            ArrayList lst = new ArrayList(table.Rows);

            foreach (DataRow row in new ArrayList(table.Rows))
            {
                if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified)
                {
                    CEvenement evt = new CEvenement(row);
                    if (evt.TypeEvenement == TypeEvenement.Suppression)
                    {
                        if (!evt.DeclencherSurContexteClient)
                        {
                            evt.DeclencherSurContexteClient = true;
                        }
                        if (!evt.DeclencherSurContexteClient)
                        {
                            result.EmpileErreur(I.T("Event @1 contains not compatible with 'Delete' event elements|20002", evt.Libelle));
                            return(result);
                        }
                    }
                }
            }
            return(result);
        }
        /// //////////////////////////////////////////////////////////////////
        protected static CResultAErreur ExecuteActionProcess(CActionSur2iLinkExecuterProcess action, object objetCible)
        {
            CResultAErreur result  = CResultAErreur.True;
            CProcessInDb   process = new CProcessInDb(CSc2iWin32DataClient.ContexteCourant);

            if (process.ReadIfExists(action.IdProcessInDb))
            {
                CProcess processToExecute = process.Process;
                result = AffecteVariablesToProcess(action, processToExecute, objetCible);
                if (!result)
                {
                    return(result);
                }
                CInfoDeclencheurProcess infoDecl = new CInfoDeclencheurProcess(TypeEvenement.Manuel);
                CReferenceObjetDonnee   refObj   = null;
                object cibleProcess = objetCible;
                if (cibleProcess is CDefinitionMultiSourceForExpression)
                {
                    cibleProcess = ((CDefinitionMultiSourceForExpression)cibleProcess).ObjetPrincipal;
                }
                if (cibleProcess != null && process.TypeCible != null)
                {
                    if (cibleProcess.GetType().IsArray)
                    {
                        ArrayList lstRefs = new ArrayList();
                        foreach (object cible in (Array)cibleProcess)
                        {
                            if (process.TypeCible.IsAssignableFrom(cible.GetType()) && cible is CObjetDonnee)
                            {
                                lstRefs.Add(new CReferenceObjetDonnee((CObjetDonnee)cible));
                            }
                        }
                        if (lstRefs.Count == 0)
                        {
                            result.EmpileErreur(I.T("No element selected for requested action|30085"));
                        }
                        else
                        {
                            result = CFormExecuteProcess.StartProcessMultiples(processToExecute,
                                                                               (CReferenceObjetDonnee[])lstRefs.ToArray(typeof(CReferenceObjetDonnee)),
                                                                               CTimosApp.SessionClient.IdSession,
                                                                               CSc2iWin32DataClient.ContexteCourant.IdVersionDeTravail,
                                                                               action.MasquerProgressProcess);
                            return(result);
                        }
                    }
                    else
                    {
                        if (process.TypeCible.IsAssignableFrom(cibleProcess.GetType()) && cibleProcess is CObjetDonnee)
                        {
                            refObj = new CReferenceObjetDonnee((CObjetDonnee)cibleProcess);
                        }
                    }
                }
                result = CFormExecuteProcess.StartProcess(processToExecute,
                                                          refObj,
                                                          CTimosApp.SessionClient.IdSession,
                                                          CSc2iWin32DataClient.ContexteCourant.IdVersionDeTravail,
                                                          action.MasquerProgressProcess);
            }
            else
            {
                CEvenement evt = new CEvenement(CSc2iWin32DataClient.ContexteCourant);
                CInfoDeclencheurProcess infoDecl = new CInfoDeclencheurProcess(TypeEvenement.Manuel);
                object cibleProcess = objetCible;
                if (cibleProcess is CDefinitionMultiSourceForExpression)
                {
                    cibleProcess = ((CDefinitionMultiSourceForExpression)cibleProcess).ObjetPrincipal;
                }
                if (evt.ReadIfExists(action.IdEvenement))
                {
                    if (cibleProcess == null)
                    {
                        result.EmpileErreur(I.T("Impossible to execute the requested event|30086"));
                        return(result);
                    }
                    if (cibleProcess.GetType().IsArray)
                    {
                        ArrayList lstRefs = new ArrayList();
                        foreach (object cible in (Array)cibleProcess)
                        {
                            if (!(cible is CObjetDonneeAIdNumerique) || !evt.ShouldDeclenche((CObjetDonneeAIdNumerique)cible, ref infoDecl))
                            {
                                result.EmpileErreur(I.T("The requested action cannot be executed on at least one of the requested elements|30087"));
                                return(result);
                            }
                            lstRefs.Add(cible);
                        }
                        if (lstRefs.Count == 0)
                        {
                            result.EmpileErreur(I.T("No element selected for execution|30088"));
                            return(result);
                        }
                        result = CFormExecuteProcess.RunEventMultiple(
                            evt,
                            (CObjetDonneeAIdNumeriqueAuto[] )lstRefs.ToArray(typeof(CObjetDonneeAIdNumeriqueAuto)),
                            action.MasquerProgressProcess);
                    }
                    else
                    {
                        if (!evt.ShouldDeclenche((CObjetDonneeAIdNumerique)cibleProcess, ref infoDecl))
                        {
                            result.EmpileErreur(I.T("Impossible to trigger the requested event on this object|30089"));
                            return(result);
                        }
                        result = CFormExecuteProcess.RunEvent(evt, (CObjetDonneeAIdNumerique)cibleProcess, action.MasquerProgressProcess);
                    }
                }
                else
                {
                    result.EmpileErreur(I.T("The requested action does not exist|30090"));
                }
            }
            return(result);
        }
 public CCoupleEvenementObjet(CEvenement evt, CObjetDonneeAIdNumerique obj, CInfoDeclencheurProcess infoDeclencheur)
     : base(obj, infoDeclencheur)
 {
     Evenement = evt;
 }
Esempio n. 10
0
 /// ///////////////////////////////////////////////
 public void AddCoupleEvenementObjet(CEvenement evt, CObjetDonneeAIdNumerique obj, CInfoDeclencheurProcess infoDeclencheur)
 {
     m_listeCoupesEvtObj.Add(new CCoupleEvenementObjet(evt, obj, infoDeclencheur));
 }
Esempio n. 11
0
 //-------------------------------------------------------------------------
 public CFormEditionEvenement(CEvenement evenement, CListeObjetsDonnees liste)
     : base(evenement, liste)
 {
     InitializeComponent();
 }
Esempio n. 12
0
 //-------------------------------------------------------------------------
 public CFormEditionEvenement(CEvenement evenement)
     : base(evenement)
 {
     InitializeComponent();
 }
        //-----------------------------------------------------------------------------------------------------
        public void InitChamps(CActionSur2iLink action, CObjetPourSousProprietes objetPourSousProprietes)
        {
            m_actionEditee = action as CActionSur2iLinkExecuterProcess;
            if (m_actionEditee == null)
            {
                Visible = false;
                return;
            }
            Visible = true;

            m_objetPourSousProprietes = objetPourSousProprietes;
            CObjetPourSousProprietes            objetPourFiltreActions = m_objetPourSousProprietes;
            CDefinitionMultiSourceForExpression multi = m_objetPourSousProprietes.ElementAVariableInstance as CDefinitionMultiSourceForExpression;

            if (multi != null)
            {
                objetPourFiltreActions = multi.DefinitionObjetPrincipal;
            }
            CFiltreData filtre = null;

            if (objetPourFiltreActions == null || objetPourFiltreActions.TypeAnalyse == null)
            {
                filtre = new CFiltreData(CProcessInDb.c_champTypeCible + "=@1", "");
            }
            else
            {
                filtre = new CFiltreData(CProcessInDb.c_champTypeCible + "=@1 or " +
                                         CProcessInDb.c_champTypeCible + "=@2 or " +
                                         CProcessInDb.c_champTypeCible + "=@3",
                                         "",
                                         objetPourFiltreActions.TypeAnalyse.ToString(),
                                         typeof(CObjetDonneeAIdNumerique).ToString());
            }

            m_selectionneurProcess.InitAvecFiltreDeBase <CProcessInDb>("Libelle", filtre, true);
            CProcessInDb process = new CProcessInDb(CSc2iWin32DataClient.ContexteCourant);
            CProcess     processPourParametres = null;

            if (process.ReadIfExists(((CActionSur2iLinkExecuterProcess)m_actionEditee).IdProcessInDb))
            {
                m_selectionneurProcess.ElementSelectionne = process;
                processPourParametres = process.Process;
            }


            if (objetPourFiltreActions != null && objetPourFiltreActions.TypeAnalyse != null)
            {
                m_panelEvenementManuel.Visible = true;
                CFiltreData filtreDeBase = new CFiltreData(
                    CEvenement.c_champTypeEvenement + "=@1 and " +
                    CEvenement.c_champTypeCible + "=@2",
                    (int)TypeEvenement.Manuel,
                    objetPourFiltreActions.TypeAnalyse.ToString());

                m_selectionneurEvenementManuel.InitAvecFiltreDeBase <CEvenement>(
                    "Libelle",
                    filtreDeBase, true);

                CEvenement evt = new CEvenement(CSc2iWin32DataClient.ContexteCourant);
                if (evt.ReadIfExists(((CActionSur2iLinkExecuterProcess)m_actionEditee).IdEvenement))
                {
                    m_selectionneurEvenementManuel.ElementSelectionne = evt;
                    processPourParametres = null;
                }
            }
            else
            {
                m_panelEvenementManuel.Visible = false;
                m_selectionneurEvenementManuel.ElementSelectionne = null;
            }
            m_chkHideProgress.Checked = ((CActionSur2iLinkExecuterProcess)m_actionEditee).MasquerProgressProcess;
            InitListeFormulesParametres(processPourParametres, m_actionEditee);
        }