protected void uiLinkButtonUpdate_Click(object sender, EventArgs e) { if (uiDropDownListStatus.SelectedIndex != 0 || uiDropDownListStatus.SelectedIndex != -1) { ApplicationData app = new ApplicationData(); app.LoadByPrimaryKey(CurrentApp); ApplicationStatusHistory history = new ApplicationStatusHistory(); history.AddNew(); history.StudentID = app.StudentID; history.ApplicationDataID = app.ApplicationDataID; history.StatusDate = DateTime.Now; history.StatusComment = uiTextBoxComment.Text; history.ApplicationStatusID = Convert.ToInt32(uiDropDownListStatus.SelectedValue); if (uiDropDownListStatus.SelectedValue == "7") // Tuition Fees { decimal fees = 0; decimal.TryParse(uiTextBoxFees.Text, out fees); history.TuitionFees = fees; } history.Save(); EmailTemplates template = new EmailTemplates(); template.GetTemplateByStatusID(history.ApplicationStatusID); Student student = new Student (); student.LoadByPrimaryKey(app.StudentID); Course course = new Course(); course.LoadByPrimaryKey(app.SelectedCourseID); CourseLangauge lang = new CourseLangauge(); lang.LoadByPrimaryKey(course.CourseLangaugeID); if (template.RowCount > 0) { try { MailMessage msg = new MailMessage(); string mail = ConfigurationManager.AppSettings["StatusEMail"]; string mailto = student.Email; msg.To.Add(mailto); msg.From = new MailAddress(mail); msg.Subject = template.Subject.Replace('\r', ' ').Replace('\n', ' '); msg.IsBodyHtml = true; msg.BodyEncoding = System.Text.Encoding.UTF8; string missingDocs = ""; for (int i = 0; i < uiCheckBoxListMissingDocs.Items.Count; i++) { if (uiCheckBoxListMissingDocs.Items[i].Selected) { missingDocs += "<li>" + uiCheckBoxListMissingDocs.Items[i].Text + "</li>"; } } string refusalReasons = ""; for (int i = 0; i < uiCheckBoxListRefusalReason.Items.Count; i++) { if (uiCheckBoxListRefusalReason.Items[i].Selected) { refusalReasons += "<li>" + uiCheckBoxListRefusalReason.Items[i].Text + "</li>"; } } msg.Body = string.Format(Server.HtmlDecode(template.Body.Replace('\r', ' ').Replace('\n', ' ')), student.FirstName + " " + student.FamilyName, student.Email, course.CourseName + " - " + lang.Langauge, missingDocs , refusalReasons, string.IsNullOrEmpty(uiTextBoxComment.Text) ? "N/A" : uiTextBoxComment.Text); // attachments if (Session["CurrentUploadedFiles"] != null) { Hashtable Files; Files = (Hashtable)Session["CurrentUploadedFiles"]; if (Files.Count > 0) { AdminAttachment attachment = new AdminAttachment(); foreach (DictionaryEntry item in Files) { msg.Attachments.Add(new Attachment(Server.MapPath("~" + item.Value.ToString()))); attachment.AddNew(); attachment.ApplicationDataID = history.ApplicationDataID; attachment.ApplicationStatusID = history.ApplicationStatusID; attachment.AttachmentPath = item.Value.ToString(); } attachment.Save(); Session["CurrentUploadedFiles"] = null; } } if (history.ApplicationStatusID == 16 || history.ApplicationStatusID == 6) // application refused - refund policy attached { msg.Attachments.Add(new Attachment(Server.MapPath("~/files/Refund_Policy_Agreement.pdf"))); } SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["mailserver"], 25); client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(mail, ConfigurationManager.AppSettings["StatusMailpass"]); client.Send(msg); } catch (Exception) { throw; } } //BindHistory(); BindApplicationData(); BindData(); } }
private void BindApplicationData() { ApplicationData app = new ApplicationData(); app.LoadByPrimaryKey(CurrentApp); Course course = new Course(); CourseLangauge lang = new CourseLangauge(); if (!app.IsColumnNull("SelectedCourseID")) course.LoadByPrimaryKey(app.SelectedCourseID); if (course.RowCount > 0 && !course.IsColumnNull("CourseLangaugeID")) lang.LoadByPrimaryKey(course.CourseLangaugeID); uiImageMain.ImageUrl = ".." + app.RecentPhotoPath; uiLabelName.Text = app.FirstName + " " + app.FamilyName; uiLabelMail.Text = app.Email; if (course.RowCount > 0) uiLabelCourse.Text = course.CourseName; else uiLabelCourse.Text = "not selected"; if(lang.RowCount > 0) uiLabelLang.Text = lang.Langauge; else uiLabelLang.Text = "not selected"; ApplicationStatusHistory history = new ApplicationStatusHistory(); history.GetApplicationStatusHistorybyApplicationDataID(CurrentApp); if (history.RowCount > 0 && (history.ApplicationStatusID == 4 || history.ApplicationStatusID == 5)) // Tuition Fees - missing docs - refusal reasons { uiPanelFees.Visible = true; uiPanelMissingDocs.Visible = true; uiPanelRefusalReasons.Visible = true; } else { uiPanelFees.Visible = false; uiPanelMissingDocs.Visible = false; uiPanelRefusalReasons.Visible = false; } BindHistory(); ApplicationStatus status = new ApplicationStatus(); status.GetNextApplicationStatusApplicationDataID(CurrentApp); if(status.RowCount > 0) uiDropDownListStatus.DataSource = status.DefaultView; else if(history.RowCount > 0) { ApplicationStatus next = new ApplicationStatus(); status.LoadByPrimaryKey(history.ApplicationStatusID); next.Where.ParentStatusID.Value = status.ParentStatusID; next.Where.ParentStatusID.Operator = MyGeneration.dOOdads.WhereParameter.Operand.Equal; next.Query.Load(); uiDropDownListStatus.DataSource = next.DefaultView; } uiDropDownListStatus.DataTextField = ApplicationStatus.ColumnNames.Status; uiDropDownListStatus.DataValueField = ApplicationStatus.ColumnNames.ApplicationStatusID; uiDropDownListStatus.DataBind(); uiDropDownListStatus.Items.Insert(0, new ListItem("select new status ... ", "0")); }
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { if (Request.QueryString["trx"] != null) { uiLabeltrx.Text = Request.QueryString["trx"].ToString(); Student student = (Student)Session["CurrentUser"]; ApplicationData app = new ApplicationData(); app.GetApplicationByStudentID(student.StudentID); ApplicationStatusHistory history = new ApplicationStatusHistory(); history.GetApplicationStatusHistorybyApplicationDataID(app.ApplicationDataID); EmailTemplates template = new EmailTemplates(); template.GetTemplateByStatusID(history.ApplicationStatusID); Course course = new Course(); course.LoadByPrimaryKey(app.SelectedCourseID); CourseLangauge lang = new CourseLangauge(); lang.LoadByPrimaryKey(course.CourseLangaugeID); ReportParameter[] parameters = new ReportParameter[5]; parameters[0] = new ReportParameter("TrxID", Request.QueryString["trx"].ToString()); parameters[1] = new ReportParameter("Amount", Request.QueryString["a"].ToString()); parameters[2] = new ReportParameter("Date", Request.QueryString["d"].ToString()); parameters[3] = new ReportParameter("CardType", Request.QueryString["ct"].ToString()); parameters[4] = new ReportParameter("CardNo", Request.QueryString["cn"].ToString()); ReportViewer1.LocalReport.ReportPath = "Receipt.rdlc"; /* add payment fields */ history.TrxID = Request.QueryString["trx"].ToString(); history.PaymentAmount = Convert.ToDecimal(Request.QueryString["a"].ToString()); history.PaymentDate = DateTime.Parse(Request.QueryString["d"].ToString()); history.CardType = Request.QueryString["ct"].ToString(); history.CardNo = Request.QueryString["cn"].ToString(); history.Save(); /*ReportViewer1.LocalReport.DataSources.Clear(); ReportViewer1.LocalReport.DataSources.Add(new ReportDataSource());*/ ReportViewer1.LocalReport.SetParameters(parameters); ReportViewer1.LocalReport.Refresh(); if (template.RowCount > 0) { try { MailMessage msg = new MailMessage(); string mail = ConfigurationManager.AppSettings["StatusEMail"]; string mailto = student.Email; msg.To.Add(mailto); msg.From = new MailAddress(mail); msg.Subject = template.Subject.Replace('\r', ' ').Replace('\n', ' '); msg.IsBodyHtml = true; msg.BodyEncoding = System.Text.Encoding.UTF8; msg.Attachments.Add(new Attachment(Server.MapPath("~/files/Refund_Policy_Agreement.pdf"))); msg.Body = string.Format(Server.HtmlDecode(template.Body.Replace('\r', ' ').Replace('\n', ' ')), student.FirstName + " " + student.FamilyName, student.Email, course.CourseName + " - " + lang.Langauge); SmtpClient client = new SmtpClient(ConfigurationManager.AppSettings["mailserver"], 25); client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(mail, ConfigurationManager.AppSettings["StatusMailpass"]); client.Send(msg); } catch (Exception) { throw; } } } } }