public object StartPDF(Context cx) { foreach (DokumentHandlowy dokhan in dh) { return(new ReportResult { Context = cx, TemplateFileSource = AspxSource.Storage, Format = ReportResultFormat.PDF, TemplateFileName = @"C:\Users\jaroslaw.pitala\Source\Repos\enova\SonetaRaporty\Reports\handel\sprzedaz.aspx", OutputHandler = (stream) => { var attName = "FV_" + Date.Now.ToString("yyyyMMddHHmmss") + ".pdf"; var dirName = "C:\\wydruki\\"; // wymagany jest katalog w którym pdf zostanie zapisany, ścieżkę należy dostować do środowiska instalacji var outFileName = System.IO.Path.Combine(dirName, attName); using (var file = System.IO.File.Create(outFileName)) { Soneta.Tools.CoreTools.StreamCopy(stream, file); file.Flush(); } using (Session s = cx.Login.CreateSession(false, false)) { var zm = ZadaniaModule.GetInstance(s); var crm = CRMModule.GetInstance(s); var bm = BusinessModule.GetInstance(s); using (ITransaction transakcja = s.Logout(true)) { WiadomoscRobocza wr = new WiadomoscRobocza(); crm.WiadomosciEmail.AddRow(wr); wr.Tresc.Add("Witam serdecznie,<br><br>W załączniku przesyłam fakturę numer " + dokhan.Numer + " Prosimy o terminową wpłatę"); if (zm.Config.Operatorzy.Aktualny.DomyslneKontoPocztowe != null) { wr.KontoPocztowe = zm.Config.Operatorzy.Aktualny.DomyslneKontoPocztowe; wr.Tresc.Add(zm.Config.Operatorzy.Aktualny.Podpis); } Soneta.Business.Db.Attachment zal = new Soneta.Business.Db.Attachment(wr, AttachmentType.Attachments); zal.Name = attName; // stworzenie załącznika z wygenerowanego pliku pdf bm.Attachments.AddRow(zal); System.IO.FileStream strumien = new System.IO.FileStream(outFileName, System.IO.FileMode.Open); zal.LoadFromStream(strumien); zal.LoadIconFromFile(outFileName); transakcja.CommitUI(); return null; // return wr; } } } }); } return(null); }
private static void KopiujZalaczniki(WiadomoscRobocza wiadomosc, FileStream stream) { var businessModule = BusinessModule.GetInstance(wiadomosc.Session); var zalacznik = new Attachment(wiadomosc, AttachmentType.Attachments) { Name = "Raport.pdf" }; businessModule.Attachments.AddRow(zalacznik); zalacznik.LoadFromStream(stream); zalacznik.LoadIconFromFile(stream.Name); }
public WiadomoscRobocza UtworzWiadomosc(string emailTo, string tresc, string temat, FileStream stream) { WiadomoscRobocza wiadomoscRobocza = null; using (ITransaction transaction = row.Session.Logout(true)) { wiadomoscRobocza = new WiadomoscRobocza(); wiadomoscRobocza.KontoPocztowe = konto; row.Session.GetCRM().WiadomosciEmail.AddRow((Row)wiadomoscRobocza); IEmailElement iElement = this.Element(); if (iElement != null) { Console.WriteLine("Dodaje element"); wiadomoscRobocza.Session.GetCRM().ElementyEmail.AddRow(new ElementEmail { WiadomoscEmail = wiadomoscRobocza, Element = this.Element() }); } //this.KopiujZalacznikiDoWysylki(wiadomoscRobocza); KopiujZalaczniki(wiadomoscRobocza, stream); wiadomoscRobocza.Do = emailTo; wiadomoscRobocza.KontoPocztowe = konto; wiadomoscRobocza.Temat = temat; wiadomoscRobocza.Tresc = tresc; wiadomoscRobocza.DostepnyHtml = true; wiadomoscRobocza.TypWiadomosci = TypWiadomości.Robocza; transaction.Commit(); } return(wiadomoscRobocza); }
public WiadomoscRobocza WyslijWiadomosc(string emailTo, string tresc, string temat, bool wyslac, FileStream stream) { WiadomoscRobocza wiadomoscRobocza; using (ITransaction transaction = row.Session.Logout(true)) { wiadomoscRobocza = new WiadomoscRobocza(); CRMModule.GetInstance(row).WiadomosciEmail.AddRow(wiadomoscRobocza); IEmailElement iElement = this.Element(); if (iElement != null) { wiadomoscRobocza.Session.GetCRM().ElementyEmail.AddRow(new ElementEmail { WiadomoscEmail = wiadomoscRobocza, Element = this.Element() }); } KopiujZalaczniki(wiadomoscRobocza, stream); wiadomoscRobocza.Do = emailTo; wiadomoscRobocza.KontoPocztowe = konto; wiadomoscRobocza.Temat = temat; wiadomoscRobocza.Tresc = tresc; wiadomoscRobocza.DostepnyHtml = true; wiadomoscRobocza.TypWiadomosci = TypWiadomości.Robocza; transaction.Commit(); } if (wyslac) { this.WyslijWiadomosc(wiadomoscRobocza); } return(wiadomoscRobocza); }