Example #1
0
        /// <summary>
        /// Démarre une action
        /// </summary>
        /// <param name="process"></param>
        /// <param name="nIdSession"></param>
        /// <returns></returns>
        public static CResultAErreur RunEvent(IDeclencheurAction declencheur, CObjetDonneeAIdNumerique objetCible, bool bHideProgress)
        {
            CFormExecuteProcess form = new CFormExecuteProcess();

            form.Top  = 0;
            form.Left = Screen.PrimaryScreen.WorkingArea.Width / 2 - form.Width / 2;
            if (declencheur is IDeclencheurActionManuelle)
            {
                bHideProgress |= ((IDeclencheurActionManuelle)declencheur).HideProgress;
            }
            if (bHideProgress)
            {
                CInfoDeclencheurProcess      infoDeclencheur = new CInfoDeclencheurProcess(TypeEvenement.Manuel);
                CAppelleurFonctionAsynchrone appeleur        = new CAppelleurFonctionAsynchrone();
                CResultAErreur resultDefault = CResultAErreur.True;
                resultDefault.EmpileErreur(I.T("Asynchronous call error @1|20149", "RunEvent"));
                return(appeleur.StartFonctionAndWaitAvecCallback(declencheur.GetType(), declencheur,
                                                                 "RunEvent", "", resultDefault, objetCible, infoDeclencheur, null) as CResultAErreur);
                //return declencheur.RunEvent(objetCible, infoDeclencheur, null);
            }
            else
            {
                IAsyncResult res = form.m_runEvent.BeginInvoke(declencheur, objetCible,
                                                               new AsyncCallback(form.OnEndProcess), null);
                form.ShowDialog();                //Bloque le code ici !
                CResultAErreur result = form.m_runEvent.EndInvoke(res);
                return(result);
            }
        }
Example #2
0
        //-----------------------------------------------------------------------------------------------------
        public void onClickMenuActionEventHandler(IDeclencheurAction declencheur, CObjetDonneeAIdNumerique objetAction)
        {
            CResultAErreur result = CFormExecuteProcess.RunEvent(declencheur, objetAction, false);

            if (!result)
            {
                CFormAlerte.Afficher(result.Erreur);
            }
        }
 //------------------------------------------------------------------------
 public CMenuItemActionManuelle(
     IDeclencheurAction declencheur,
     CObjetDonneeAIdNumerique objetAction)
     : base(declencheur.Libelle)
 {
     m_declencheur = declencheur;
     m_objetAction = objetAction;
     Click        += new EventHandler(CMenuItemActionManuelle_Click);
 }
Example #4
0
 void OnClickItemActionSurProjet(IDeclencheurAction declencheur, CObjetDonneeAIdNumerique objetAction)
 {
     if (declencheur != null && objetAction != null)
     {
         CResultAErreur result = CResultAErreur.True;
         if (!LockEdition)
         {
             IDeclencheurActionManuelle declencheurManuel = declencheur as IDeclencheurActionManuelle;
             if (declencheurManuel != null)
             {
                 // Déclancher ici l'évenement manuelle sur Client
                 result = declencheurManuel.EnregistreDeclenchementEvenementSurClient(
                     objetAction,
                     new CInfoDeclencheurProcess(TypeEvenement.Manuel),
                     null);
             }
             else
             {
                 MessageBox.Show(I.T("Can not start this action|20673"));
             }
         }
         else
         {
             // Déclancher ici l'évenement manuelle sur Serveur
             result = CFormExecuteProcess.RunEvent(declencheur, objetAction, false);
         }
         if (!result)
         {
             CFormAlerte.Afficher(result.Erreur);
         }
         else
         {
             CFormEditionStandard form = FindForm() as CFormEditionStandard;
             if (form != null)
             {
                 form.Actualiser();
             }
         }
     }
 }
        //-------------------------------------------------------------------------
        private void MenuDeclencheurClick(object sender, EventArgs e)
        {
            if (sender is CMenuItemDeclencheur)
            {
                IDeclencheurAction declencheur = ((CMenuItemDeclencheur)sender).Declencheur;

                /*CInfoDeclencheurProcess infoDeclencheur = new CInfoDeclencheurProcess(TypeEvenement.Manuel);
                 * CResultAErreur result = declencheur.RunEventMultiple (
                 *      (CObjetDonneeAIdNumeriqueAuto[])m_panelListe.GetElementsCheckes().ToArray(typeof(CObjetDonneeAIdNumeriqueAuto)),
                 *      infoDeclencheur );*/
                CResultAErreur result = CFormExecuteProcess.RunEventMultiple(
                    declencheur,
                    (CObjetDonneeAIdNumerique[])m_panelListe.GetElementsCheckes().ToArray(typeof(CObjetDonneeAIdNumerique)),
                    false);

                m_panelListe.Refresh();
                if (!result)
                {
                    CFormAlerte.Afficher(result.Erreur);
                }
            }
        }
Example #6
0
        //-------------------------------------------------------------
        private void OnActionSurBesoin(IDeclencheurAction declencheur, CObjetDonneeAIdNumerique objetCible)
        {
            CResultAErreur result = CResultAErreur.True;

            if (!LockEdition)
            {
                MajChamps();
                IDeclencheurActionManuelle declencheurManuel = declencheur as IDeclencheurActionManuelle;
                if (declencheurManuel != null)
                {
                    // Déclancher ici l'évenement manuelle sur Client
                    result = declencheurManuel.EnregistreDeclenchementEvenementSurClient(
                        objetCible,
                        new CInfoDeclencheurProcess(TypeEvenement.Manuel),
                        null);
                }
                else
                {
                    MessageBox.Show(I.T("Can not start this action|20673"));
                }
            }
            else
            {
                result = CFormExecuteProcess.RunEvent(declencheur, objetCible, false);
            }
            if (!result)
            {
                CFormAlerte.Afficher(result.Erreur);
            }
            else
            {
                if (AssociatedListControl != null)
                {
                    AssociatedListControl.Refill();
                }
            }
        }
Example #7
0
        /// <summary>
        /// Démarre une action
        /// </summary>
        /// <param name="process"></param>
        /// <param name="nIdSession"></param>
        /// <returns></returns>
        public static CResultAErreur RunEventMultiple(IDeclencheurAction declencheur, CObjetDonneeAIdNumerique[] objetsCibles, bool bHideProgress)
        {
            CFormExecuteProcess form = new CFormExecuteProcess();

            form.Top  = 0;
            form.Left = Screen.PrimaryScreen.WorkingArea.Width / 2 - form.Width / 2;
            if (declencheur is IDeclencheurActionManuelle)
            {
                bHideProgress |= ((IDeclencheurActionManuelle)declencheur).HideProgress;
            }
            if (bHideProgress)
            {
                CInfoDeclencheurProcess infoDeclencheur = new CInfoDeclencheurProcess(TypeEvenement.Manuel);
                return(declencheur.RunEventMultiple(objetsCibles, infoDeclencheur, null));
            }
            else
            {
                IAsyncResult res = form.m_runEventMultiples.BeginInvoke(declencheur, objetsCibles,
                                                                        new AsyncCallback(form.OnEndProcess), null);
                form.ShowDialog();                //Bloque le code ici !
                CResultAErreur result = form.m_runEventMultiples.EndInvoke(res);
                return(result);
            }
        }
Example #8
0
        /// /////////////////////////////////////////////////////////////////////////
        private CResultAErreur RunEventMultiplesPrivate(IDeclencheurAction declencheur, CObjetDonneeAIdNumerique[] objetsCibles)
        {
            CInfoDeclencheurProcess infoDeclencheur = new CInfoDeclencheurProcess(TypeEvenement.Manuel);

            return(declencheur.RunEventMultiple(objetsCibles, infoDeclencheur, this));
        }
 public CMenuItemDeclencheur(IDeclencheurAction declencheur)
 {
     Declencheur = declencheur;
     Text        = declencheur.Libelle;
 }