protected void Button1_Click(object sender, EventArgs e)
{
try
{
DataTable dtEmployeeDetail = report.GetEmployeeDetailCompensation(2, 4, "a");
if (dtEmployeeDetail.Rows.Count > 0)
{
strSubmitDate = dtEmployeeDetail.Rows[0]["EAP_ClosedOn"].ToString();
ReportDataSource datasource = new ReportDataSource("DataSet1", dtEmployeeDetail);
ReportViewer ReportViewer1 = new ReportViewer();
ReportViewer1.Reset();
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/EmpReports/rptEmployeeCompensationDetails.rdlc");
ReportViewer1.LocalReport.EnableExternalImages = true;
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);
ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
ReportViewer1.LocalReport.Refresh();
string fileName = "EmpCompensationDetails_" + Convert.ToDateTime(DateTime.Now).ToString("MMddyyyyhhmm") + ".pdf";
//string fileName = Server.MapPath("~/EmpReports/TempReportOutputs/EmpCompensationDetails_") + Convert.ToDateTime(DateTime.Now).ToString("MMddyyyyhhmm") + ".pdf";
// bool success = ByteArrayToFile(fileName, GetExportedBytes(ReportViewer1.LocalReport, ReportFormat.PDF));
//if (success)
//{
try
{
SendMail(fileName, GetExportedBytes(ReportViewer1.LocalReport,ReportFormat.PDF));
}
catch (Exception ex)
{
System.IO.File.Delete(fileName);
}
// }
}
}
catch (Exception ex)
{
}
}
void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
DataTable dtEmployeeCompensation = report.GetEmployeeCompensationStructure(2,4, "a");
if (dtEmployeeCompensation.Rows.Count > 0)
{
// string strParameter = e.Parameters["BecRef"].Values[0].ToString();
ReportDataSource rdS = new ReportDataSource("DataSet1", dtEmployeeCompensation);
e.DataSources.Add(rdS);
}
}
private void SendMail(string fileName, byte[] _ByteArray)
{
System.IO.MemoryStream stream = new System.IO.MemoryStream(_ByteArray);
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(stream, fileName);
//BusinessLayer.Mail mail = new BusinessLayer.Mail();
//mail.EmailSend("from", "to", "bcc", "subject", CreateEmailBody(), new System.Net.Mail.Attachment(fileName));
}
public static byte[] GetExportedBytes(LocalReport lr, ReportFormat fmt)
{
byte[] toReturn = null;
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;
toReturn = lr.Render(fmt.ToString(), null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
return toReturn;
}
public enum ReportFormat
{
PDF,
Word,
Excel,
Image
}
//Save bytes in a File
public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
//{
// try
// {
// // Open file for reading
// System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
// // Writes a block of bytes to this stream using data from a byte array.
// _FileStream.Write(_ByteArray, 0, _ByteArray.Length);
// // close file stream .
// _FileStream.Close();
// return true;
// }
// catch (Exception _Exception)
// {
// // Error
// //lblMsg.Text = string.Format("Exception caught in process: {0}", _Exception.ToString());
// }
// return false;
//}
{
try
{
DataTable dtEmployeeDetail = report.GetEmployeeDetailCompensation(2, 4, "a");
if (dtEmployeeDetail.Rows.Count > 0)
{
strSubmitDate = dtEmployeeDetail.Rows[0]["EAP_ClosedOn"].ToString();
ReportDataSource datasource = new ReportDataSource("DataSet1", dtEmployeeDetail);
ReportViewer ReportViewer1 = new ReportViewer();
ReportViewer1.Reset();
ReportViewer1.LocalReport.ReportPath = Server.MapPath("~/EmpReports/rptEmployeeCompensationDetails.rdlc");
ReportViewer1.LocalReport.EnableExternalImages = true;
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);
ReportViewer1.LocalReport.SubreportProcessing += new SubreportProcessingEventHandler(LocalReport_SubreportProcessing);
ReportViewer1.LocalReport.Refresh();
string fileName = "EmpCompensationDetails_" + Convert.ToDateTime(DateTime.Now).ToString("MMddyyyyhhmm") + ".pdf";
//string fileName = Server.MapPath("~/EmpReports/TempReportOutputs/EmpCompensationDetails_") + Convert.ToDateTime(DateTime.Now).ToString("MMddyyyyhhmm") + ".pdf";
// bool success = ByteArrayToFile(fileName, GetExportedBytes(ReportViewer1.LocalReport, ReportFormat.PDF));
//if (success)
//{
try
{
SendMail(fileName, GetExportedBytes(ReportViewer1.LocalReport,ReportFormat.PDF));
}
catch (Exception ex)
{
System.IO.File.Delete(fileName);
}
// }
}
}
catch (Exception ex)
{
}
}
void LocalReport_SubreportProcessing(object sender, SubreportProcessingEventArgs e)
{
DataTable dtEmployeeCompensation = report.GetEmployeeCompensationStructure(2,4, "a");
if (dtEmployeeCompensation.Rows.Count > 0)
{
// string strParameter = e.Parameters["BecRef"].Values[0].ToString();
ReportDataSource rdS = new ReportDataSource("DataSet1", dtEmployeeCompensation);
e.DataSources.Add(rdS);
}
}
private void SendMail(string fileName, byte[] _ByteArray)
{
System.IO.MemoryStream stream = new System.IO.MemoryStream(_ByteArray);
System.Net.Mail.Attachment attachment = new System.Net.Mail.Attachment(stream, fileName);
//BusinessLayer.Mail mail = new BusinessLayer.Mail();
//mail.EmailSend("from", "to", "bcc", "subject", CreateEmailBody(), new System.Net.Mail.Attachment(fileName));
}
public static byte[] GetExportedBytes(LocalReport lr, ReportFormat fmt)
{
byte[] toReturn = null;
Warning[] warnings;
string[] streamids;
string mimeType;
string encoding;
string filenameExtension;
toReturn = lr.Render(fmt.ToString(), null, out mimeType, out encoding, out filenameExtension, out streamids, out warnings);
return toReturn;
}
public enum ReportFormat
{
PDF,
Word,
Excel,
Image
}
//Save bytes in a File
public bool ByteArrayToFile(string _FileName, byte[] _ByteArray)
//{
// try
// {
// // Open file for reading
// System.IO.FileStream _FileStream = new System.IO.FileStream(_FileName, System.IO.FileMode.Create, System.IO.FileAccess.Write);
// // Writes a block of bytes to this stream using data from a byte array.
// _FileStream.Write(_ByteArray, 0, _ByteArray.Length);
// // close file stream .
// _FileStream.Close();
// return true;
// }
// catch (Exception _Exception)
// {
// // Error
// //lblMsg.Text = string.Format("Exception caught in process: {0}", _Exception.ToString());
// }
// return false;
//}
No comments:
Post a Comment