public override sc2i.common.CResultAErreur RunService(object parametre) { CResultAErreur result = CResultAErreur.True; if (!(parametre is CActionImprimerModeleTexte.CParametreImpressionModeleTexte)) { result.EmpileErreur(I.T("Parameter type imcompatible with 'print text model' service|20113")); return(result); } CActionImprimerModeleTexte.CParametreImpressionModeleTexte parametreEdition = (CActionImprimerModeleTexte.CParametreImpressionModeleTexte)parametre; CObjetDonnee objet = parametreEdition.ReferenceObjet.GetObjet(CSc2iWin32DataClient.ContexteCourant); if (objet == null) { result.EmpileErreur(I.T("The object to edit doesn't exist|1078")); return(result); } //Charge le modèle de texte CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant); if (!modele.ReadIfExists(parametreEdition.IdModeleTexte)) { result.EmpileErreur(I.T("Text model @1 doesn't exists|20114", parametreEdition.IdModeleTexte.ToString())); return(result); } PrinterSettings printSet = new PrinterSettings(); PageSettings pageSet = new PageSettings(); result = CTextPrintSetup.ApplyParameters(parametreEdition.ParametresImpression, printSet, pageSet); if (!result) { return(result); } using (CPrintRichTextBox txtBox = new CPrintRichTextBox()) { result = CUtilModeleTexte.FillRichTextBox( txtBox, modele, objet); if (!result) { return(result); } using (PrintDocument doc = new PrintDocument()) { pageSet.PrinterSettings = printSet; doc.DefaultPageSettings = pageSet; doc.PrinterSettings = printSet; m_textBoxToPrint = txtBox; m_nPageToPrint = 0; doc.PrintPage += new PrintPageEventHandler(doc_PrintPage); doc.Print(); } } return(result); }
private void InitFenetre(CModeleTexte modele, object objet) { m_txtBox.Visible = false; m_txtBox.Clear(); if (objet == null) { return; } CResultAErreur result = CResultAErreur.True; try { result = CUtilModeleTexte.FillRichTextBox( m_txtBox, modele, objet); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } if (!result) { m_txtBox.Text = result.Erreur.ToString(); } m_txtBox.BackColor = modele.CouleurFond; m_txtBox.Visible = true; }