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);
        }
        /// //////////////////////////////////////////
        protected override void InitChamps()
        {
            base.InitChamps();
            m_wndAideFormule.FournisseurProprietes = ObjetEdite.Process;
            m_wndAideFormule.ObjetInterroge        = typeof(CProcess);

            m_txtFormuleElement.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);
            m_txtFormuleCodeFormulaire.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge);

            if (ActionImprimerModeleTexte.FormuleElementAEditer != null)
            {
                m_txtFormuleElement.Text = ActionImprimerModeleTexte.FormuleElementAEditer.GetString();
            }
            if (ActionImprimerModeleTexte.FormuleElementAEditer != null)
            {
                m_txtFormuleCodeFormulaire.Text = ActionImprimerModeleTexte.FormuleParametresImpression.GetString();
            }

            m_cmbModele.Init(typeof(CModeleTexte), "Libelle", true);
            CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant);

            if (ActionImprimerModeleTexte.IdModeleAEditer != null &&
                modele.ReadIfExists(ActionImprimerModeleTexte.IdModeleAEditer.Value))
            {
                m_cmbModele.ElementSelectionne = modele;
            }
        }
Esempio n. 3
0
        public static CModeleTexte GetModeleTexteForType(string strContexte, Type tp)
        {
            int nId = new CTimosAppRegistre().GetIntValue("Text models", GetCleModeleTexte(strContexte, tp), -1);

            if (nId > 0)
            {
                CModeleTexte modele = new CModeleTexte(CSc2iWin32DataClient.ContexteCourant);
                if (modele.ReadIfExists(nId))
                {
                    return(modele);
                }
            }
            return(null);
        }