public RsReportMailSender(RsReportProvider aReportProvider)
 {
     AttachmentFiles = new List<string>();
     Mail = new CMapiMail();
 }
Exemple #2
0
        public void DoSendEmail()
        {
            if (_offline)
            {
                CMapiMail lMail = new CMapiMail();
                lMail.Attachments += _PdfFile;
                lMail.StartMail();

            }
            else
            {
                if (RsViewEngine.dlgSendMail.ShowDialog() == DialogResult.OK)
                {
                    int lStepCount = 0, lDone = 0;
                    IRSStatusBox lStatus = CRSMessageBox.ShowStatusBox(RsViewEngine.Locale.GetMessage("sendMail"));

                    RsReportMailSender lSender = new RsReportMailSender(ReportProvider);

                    lStepCount += (RsViewEngine.dlgSendMail.DOC) ? 1 : 0;
                    lStepCount += (RsViewEngine.dlgSendMail.HTM) ? 1 : 0;
                    lStepCount += (RsViewEngine.dlgSendMail.PDF) ? 1 : 0;
                    lStepCount += (RsViewEngine.dlgSendMail.XLS) ? 1 : 0;
                    lStepCount += (RsViewEngine.dlgSendMail.XML) ? 1 : 0;

                    if (lStepCount == 0) lStepCount = 1;

                    if (RsViewEngine.dlgSendMail.DOC)
                    {
                        lSender.AddAttachment(RsExportFormat.WordDocument);
                        lDone++;
                        lStatus.SetStatus(calcStatus(lStepCount, lDone, 100));
                    }

                    if (RsViewEngine.dlgSendMail.HTM)
                    {
                        lSender.AddAttachment(RsExportFormat.HtmlDocument);
                        lDone++;
                        lStatus.SetStatus(calcStatus(lStepCount, lDone, 100));
                    }

                    if (RsViewEngine.dlgSendMail.PDF)
                    {
                        lSender.AddAttachment(RsExportFormat.PortableFormatDocument);
                        lDone++;
                        lStatus.SetStatus(calcStatus(lStepCount, lDone, 100));
                    }

                    if (RsViewEngine.dlgSendMail.XLS)
                    {
                        lSender.AddAttachment(RsExportFormat.ExcelDocument);
                        lDone++;
                        lStatus.SetStatus(calcStatus(lStepCount, lDone, 100));
                    }

                    if (RsViewEngine.dlgSendMail.XML)
                    {
                        lSender.AddAttachment(RsExportFormat.XmlDocument);
                        lDone++;
                        lStatus.SetStatus(calcStatus(lStepCount, lDone, 100));
                    }

                    lSender.Send();

                    lStatus.SetStatus(100);
                    lStatus.HideBox();
                }
            }
        }