예제 #1
0
        public void ShowDialogMessageBox()
        {
            EFormAlerteBoutons boutons    = EFormAlerteBoutons.Ok;
            EFormAlerteType    typeAlerte = EFormAlerteType.Exclamation;

            switch (m_action.TypeBox)
            {
            case CActionMessageBox.TypeMessageBox.OK:
                boutons = EFormAlerteBoutons.Ok;
                break;

            case CActionMessageBox.TypeMessageBox.OuiNon:
                typeAlerte = EFormAlerteType.Question;
                boutons    = EFormAlerteBoutons.OuiNon;
                break;

            case CActionMessageBox.TypeMessageBox.OKAnnuler:
                boutons = EFormAlerteBoutons.OkAbandonner;
                break;
            }
            DialogResult dResult = DialogResult.OK;

            CTimosApp.Navigateur.Invoke((MethodInvoker) delegate
            {
                dResult = CFormAlerte.Afficher(m_action.MessageToDisplay, boutons, typeAlerte, m_action.SecondesMaxiAffichage, CTimosApp.Navigateur);
            });
            m_result.Data = C2iDialogResult.Get2iDialogResultFromDialogResult(dResult);
        }
예제 #2
0
        private CResultAErreur SafeExecuteAction(C2iSponsor sponsor, ref CResultAErreur result, ref DialogResult dialogResult)
        {
            bool bBoucle = true;

            while (bBoucle)
            {
                bBoucle = false;
                CCreateur2iFormulaireV2 createur = new CCreateur2iFormulaireV2();
                //Fait passer le formulaire par le réseau
                byte[]                 dataFormulaire = m_actionFormulaire.GetDataSerialisationFormulairePourClient();
                MemoryStream           stream         = new MemoryStream(dataFormulaire);
                BinaryReader           reader         = new BinaryReader(stream);
                CSerializerReadBinaire serializer     = new CSerializerReadBinaire(reader);
                serializer.AttacheObjet(typeof(IElementAVariablesDynamiquesBase), m_actionFormulaire.Process);
                I2iSerializable formulaireSer = null;
                result = serializer.TraiteObject(ref formulaireSer);

                reader.Close();
                stream.Close();

                if (!result)
                {
                    result.EmpileErreur(I.T("Error while retrieving the form|30253"));
                    return(result);
                }
                C2iWnd formulaire = (C2iWnd)formulaireSer;

                createur.CreateControlePrincipalEtChilds(m_panelFormulaire, formulaire, m_actionFormulaire.Process);
                createur.ControleValeursAvantValidation = true;
                CProxyElementAVariables proxy = m_actionFormulaire.Process.GetProxyElementAVariables(sponsor);
                proxy.ContexteDonneeLocal = sc2i.win32.data.CSc2iWin32DataClient.ContexteCourant;

                createur.ElementEdite = proxy;

                foreach (IVariableDynamique varDyn in m_actionFormulaire.Process.ListeVariables)
                {
                    sponsor.Register(varDyn);
                }

                Size szFormulaire = formulaire.Size;
                Size szOldPanel   = m_panelFormulaire.Size;
                Size newSizeThis  = Size;
                newSizeThis.Width  = Size.Width - szOldPanel.Width + szFormulaire.Width;
                newSizeThis.Height = Size.Height - szOldPanel.Height + szFormulaire.Height;
                Size = newSizeThis;
                m_panelFormulaire.Size = szFormulaire;

                m_btnAnnuler.Visible = m_actionFormulaire.CanCancel;
                this.Text            = m_actionFormulaire.Descriptif;
                dialogResult         = ShowDialog(CTimosApp.Navigateur);
                if (dialogResult == DialogResult.OK)
                {
                    CResultAErreur resultTmp = createur.MAJ_Champs();
                    if (!resultTmp)
                    {
                        CFormAlerte.Afficher(resultTmp.Erreur);
                        bBoucle = true;
                    }
                }
            }
            result.Data = C2iDialogResult.Get2iDialogResultFromDialogResult(dialogResult);
            return(result);
        }