public void GenerateReport()
        {
            BEAdmin objBEAdmin = new BEAdmin();
            BAdmin  objBAdmin  = new BAdmin();

            objBEAdmin.strCourseID = GetCourseIds();
            objBEAdmin.IntUserID   = Convert.ToInt32(Session[EnumPageSessions.USERID]);
            objBAdmin.BGetExamSummaryReportDetails(objBEAdmin);

            DataTable objDt = objBEAdmin.DtResult;



            objDt.AcceptChanges();
            objDt.Columns.Remove("CourseID");
            objDt.Columns.Remove("ExamID");


            objDt.Columns["CourseName"].ColumnName              = "Course Name";
            objDt.Columns["Instructor Name"].ColumnName         = "Instructor Name";
            objDt.Columns["ExamName"].ColumnName                = "Exam Name";
            objDt.Columns["ExamStartDate"].ColumnName           = "Exam Start Date";
            objDt.Columns["ExamEndDate"].ColumnName             = "Exam End Date";
            objDt.Columns["StudentsEnrolled"].ColumnName        = "Total Students";
            objDt.Columns["ScheduledAppointments"].ColumnName   = "Scheduled Appointments";
            objDt.Columns["Unscheduledappointments"].ColumnName = "Unscheduled Appointments";


            string Examsummary = Server.MapPath(ConfigurationManager.AppSettings["Reports"].ToString()) + '\\' + "Schedule status" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss").Replace("/", "-").Replace(":", "-") + ".xls";

            if (File.Exists(Examsummary))
            {
                File.Delete(Examsummary);
            }
            FileInfo rptFileName = new FileInfo(Examsummary);

            //  this.DeleteHistoricFiles();

            ExcelSheetGenerator objExcel = new ExcelSheetGenerator();

            objExcel.GenerateReport(objDt, rptFileName, " Schedule status ", "UserName");

            Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

            Response.AppendHeader("Content-Disposition", "attachment; filename=" + "Schedule status" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss").Replace("/", "-") + ".xlsx");


            Response.TransmitFile(rptFileName.ToString());
            Response.End();
        }
Beispiel #2
0
        //for populating the grid
        protected void LoadSummaryReport(string ids)
        {
            try
            {
                BEAdmin objBEAdmin = new BEAdmin();
                BAdmin  objBAdmin  = new BAdmin();

                objBEAdmin.strCourseID = ids;
                objBAdmin.BGetExamSummaryReportDetails(objBEAdmin);

                gvReports.DataSource = objBEAdmin.DtResult;
                gvReports.DataBind();

                ViewState["gvReports"] = objBEAdmin.DtResult;
            }
            catch (Exception Ex)
            {
                ErrorHandlers.ErrorLog.WriteError(Ex);
            }
        }
        public void SendEmail()
        {
            lblResult.Text = "";
            BEAdmin objBEAdmin = new BEAdmin();
            BAdmin  objBAdmin  = new BAdmin();

            objBEAdmin.strCourseID = GetCourseIds();
            objBEAdmin.IntUserID   = Convert.ToInt32(Session[EnumPageSessions.USERID]);
            objBAdmin.BGetExamSummaryReportDetails(objBEAdmin);

            DataTable objDt = objBEAdmin.DtResult;



            objDt.AcceptChanges();
            objDt.Columns.Remove("CourseID");
            objDt.Columns.Remove("ExamID");


            objDt.Columns["CourseName"].ColumnName              = "Course Name";
            objDt.Columns["Instructor Name"].ColumnName         = "Instructor Name";
            objDt.Columns["ExamName"].ColumnName                = "Exam Name";
            objDt.Columns["ExamStartDate"].ColumnName           = "Exam Start Date";
            objDt.Columns["ExamEndDate"].ColumnName             = "Exam End Date";
            objDt.Columns["StudentsEnrolled"].ColumnName        = "Total Students";
            objDt.Columns["ScheduledAppointments"].ColumnName   = "Scheduled Appointments";
            objDt.Columns["Unscheduledappointments"].ColumnName = "Unscheduled Appointments";


            FileInfo rptFileName = new FileInfo(Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["Reports"].ToString()) + @"\Schedule status from_" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss").Replace("/", "-").Replace(":", "-") + ".xls");

            // If any file exists in this directory having name 'Sample1.xlsx', then delete it
            if (rptFileName.Exists)
            {
                rptFileName.Delete(); // ensures we create a new workbook
                rptFileName = new FileInfo(Server.MapPath(System.Configuration.ConfigurationManager.AppSettings["Reports"].ToString()) + @"\Schedule status from_" + DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss").Replace("/", "-").Replace(":", "-") + ".xls");
            }

            ExcelSheetGenerator objExcel = new ExcelSheetGenerator();

            objExcel.GenerateReport(objDt, rptFileName, "Schedule status _", "UserName");
            string ToEmail = txtEmail.Text;

            System.Net.Mail.MailMessage email = new System.Net.Mail.MailMessage();
            StringBuilder body = new StringBuilder();

            email.From = new MailAddress("*****@*****.**");
            email.To.Add(ToEmail.Replace(" ", ""));
            email.Subject = "Schedule status";
            body.Append("<table style='font-family:Helvetica;font-size:9pt;width:600px;'>");
            body.Append(@"<tr><td>Hi,<br/><br/>Please find the enclosed Schedule status report.
<br/><br/><br/>Thank you,<br/>Examity.<br/><b>***DO NOT REPLY TO THIS EMAIL***</b></td></tr>");
            body.Append("</table>");
            // Attachment goes here
            Attachment attachment = new Attachment(rptFileName.ToString());

            attachment.Name = "Schedule status" + ".xlsx";
            email.Attachments.Add(attachment);  //add the attachment

            email.Body       = body.ToString();
            email.IsBodyHtml = true;
            SmtpClient obj = new SmtpClient
            {
                Host                  = ConfigurationManager.AppSettings["smtpServer"],
                Port                  = Convert.ToInt32(ConfigurationManager.AppSettings["smtpPort"]),
                EnableSsl             = true,
                DeliveryMethod        = SmtpDeliveryMethod.Network,
                UseDefaultCredentials = false,
                Credentials           = new System.Net.NetworkCredential(ConfigurationManager.AppSettings["smtpUser"].ToString(), ConfigurationManager.AppSettings["Reportspassword"].ToString())
            };

            obj.Send(email);

            lblResult.Text = "<font color='Blue' size='4px'>" + "Report emailed sucessfully." + "</font>";
        }