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; } } }
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); }