public IHttpActionResult GetDownload(int id) { /* Get Invoice PDF */ Invoice invoice = UnitOfWork.Invoices.Get(id); InvoicePdf pdf = new InvoicePdf(invoice); PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false); pdfRenderer.Document = pdf.CreateDocument(); pdfRenderer.RenderDocument(); MemoryStream stream = new MemoryStream(); pdfRenderer.Save(stream, false); /* Send PDF file */ var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StreamContent(stream) }; result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf"); var response = ResponseMessage(result); return(response); }
public static void SendEmail(Invoice invoice, string from, string emailTo) { string subject = "Invoice - " + invoice.InvoiceNo; string FromMail = from; MailMessage mail = new MailMessage(); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(emailTo); mail.Subject = subject; string body = "Hi," + Environment.NewLine + "Please find the attached file. For more information contact us at: " + FromMail + Environment.NewLine + Environment.NewLine + "Kind Regards," + Environment.NewLine + invoice.Agent.Name; mail.Body = body; InvoicePdf pdf = new InvoicePdf(invoice); PdfDocumentRenderer pdfRenderer = new PdfDocumentRenderer(false); pdfRenderer.Document = pdf.CreateDocument(); pdfRenderer.RenderDocument(); MemoryStream stream = new MemoryStream(); pdfRenderer.Save(stream, false); mail.Attachments.Add(new Attachment(stream, "Invoice-" + DateTime.UtcNow.ToShortDateString() + ".pdf", MediaTypeNames.Application.Pdf)); SmtpClient SmtpServer = new SmtpClient(); SmtpServer.Port = 587; SmtpServer.Host = "smtp.gmail.com"; SmtpServer.EnableSsl = true; SmtpServer.DeliveryMethod = SmtpDeliveryMethod.Network; SmtpServer.UseDefaultCredentials = false; SmtpServer.Credentials = new NetworkCredential("*****@*****.**", "alphateam"); SmtpServer.Send(mail); }