private static Mail PrzygotujMaila(Zadanie szablon)
        {
            var wydrukWorker = new DrukarkaPdfHtml();
            var tresc        = szablon.Description;

            if (string.IsNullOrWhiteSpace(tresc))
            {
                var streamReader = new StreamReader(wydrukWorker.Drukuj(szablon, ReportResultFormat.HTML));
                tresc = streamReader.ReadToEnd();
            }

            return(new Mail
            {
                EmailTo = szablon.Kontakt.EMAIL,
                Temat = szablon.Features.GetString("PowiadomieniaTemat"),
                Tresc = tresc,
                Stream = wydrukWorker.Drukuj(szablon, ReportResultFormat.PDF)
            });
        }
예제 #2
0
        public void Wyslij(Zadanie szablon)
        {
            var adres    = szablon.Kontakt.EMAIL;
            var temat    = szablon.Features.GetString("PowiadomieniaTemat");
            var body     = szablon.Description;
            var drukarka = new DrukarkaPdfHtml();

            if (string.IsNullOrWhiteSpace(body))
            {
                var wydrukHtml = drukarka.Drukuj(szablon, ReportResultFormat.HTML);
                body = wydrukHtml.ToString();
            }

            var wydruk = drukarka.Drukuj(szablon, ReportResultFormat.PDF);

            var mail = new Soneta.Core.EnovaMail(szablon.Session);

            mail.AddTo(adres);
            mail.AddSubject(temat);
            mail.AddBody(body);
            if (wydruk != null)
            {
                mail.AddAttachment("Raport", wydruk);
            }

            var wywolanie = szablon.WyliczWywolanie();

            if (mail.SendMail())
            {
                using (ITransaction trans = szablon.Session.Logout(true))
                {
                    szablon.Features["PowiadomieniaOstatnieWywolanie"] = DateTime.Now.ToString();
                    szablon.Features["PowiadomieniaKolejneWywolanie"]  = wywolanie.ToString();

                    trans.CommitUI();
                }
            }
        }