示例#1
0
        public void ShowFormulaire()
        {
            using (C2iSponsor sponsor = new C2iSponsor())
            {
                sponsor.Register(m_structure);
                CResultAErreur result = CResultAErreur.True;

                //Fait passer le formulaire par le réseau
                byte[]                 dataFormulaire = m_actionExport.GetDataSerialisationFormulairePourClient();
                MemoryStream           stream         = new MemoryStream(dataFormulaire);
                BinaryReader           reader         = new BinaryReader(stream);
                CSerializerReadBinaire serializer     = new CSerializerReadBinaire(reader);
                serializer.AttacheObjet(typeof(IElementAVariablesDynamiquesBase), m_structure);
                I2iSerializable formulaireSer = null;
                result = serializer.TraiteObject(ref formulaireSer);

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

                if (!result)
                {
                    m_resultForm.EmpileErreur(I.T("Error while retrieving the form|30253"));
                }

                C2iWnd formulaire = (C2iWnd)formulaireSer;

                CFormFormulairePopup form = new CFormFormulairePopup();

                if (form.EditeElement(CTimosApp.Navigateur, formulaire, m_structure, I.T("Exporting data|10046")))
                {
                    m_resultForm      = CResultAErreur.True;
                    m_resultForm.Data = E2iDialogResult.OK;
                }
                else
                {
                    m_resultForm.Data = E2iDialogResult.Cancel;
                }
            }
        }
示例#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);
        }