Hi,
I want to auto generate PDF report in report viewer and attached it to email.
I want to run this task daily without any user interaction to website.
I tried this:
System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myEvent);
myTimer.Interval = 60000;
myTimer.Enabled = true;
private void myEvent(object source, System.Timers.ElapsedEventArgs e)
{
if (DateTime.Now.Hour >= 6)
{
SendEmailTimer();
}
}
public static void SendEmailTimer()
{
ReportViewer viewer = new ReportViewer();
viewer.LocalReport.ReportPath = "abc.rdlc";
viewer.ProcessingMode = ProcessingMode.Local;
viewer.LocalReport.SetParameters(new ReportParameter("ReportName", "Report ABC"));
viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet", GetData()));
bytes = viewer.LocalReport.Render("PDF", "", out mimeType, out encoding, out extension, out streamids, out warnings);
fs = new System.IO.FileStream(HttpContext.Current.Server.MapPath("~/Files/abc.pdf"), System.IO.FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}
Please help,
Thanks,
Piyush