protected void submitBtn_Click(object sender, EventArgs e) { // Variables declaration double totalMark = 0.0; Guid assessID = Guid.Empty; string studID = ""; try { assessID = Guid.Parse(Page.RouteData.Values["id"].ToString()); studID = Page.RouteData.Values["studId"].ToString(); } catch (Exception) { Response.Redirect("/lecturer/list"); } using (OnlineAssessmentDBEntities db = new OnlineAssessmentDBEntities()) { Student_Assessment studAssess = db.Student_Assessment.Where(sa => sa.aspnet_Users.LoweredUserName.Equals(studID.ToLower()) && sa.assessmentId == assessID).FirstOrDefault(); if (studAssess is null) { Response.Redirect("/lecturer/list"); } List <Question> questions = studAssess.Assessment.Question.ToList(); // Iterate and display questions for (int i = 0; i < questions.Count; i++) { TextBox markTxtBox = questionPlaceHolder.FindControl($"writtenAns_qm{i + 1}") as TextBox; totalMark += Convert.ToDouble(markTxtBox.Text); } // Calculate final mark totalMark /= Convert.ToDouble(questions.Count); studAssess.score = Convert.ToInt16(totalMark); db.SaveChanges(); // Display label totalMarkLbl.Text = $"{Convert.ToInt16(totalMark).ToString()} ({studAssess.getGrade()})"; alertPlaceholder.Visible = true; // Send an email of the score to student sendEmailToStudent(studAssess); } }
// Method to send email to student private void sendEmailToStudent(Student_Assessment studAssess) { // Create an SMTP client server object to connect to hotmail server SmtpClient smtpServer = new SmtpClient("smtp.live.com"); smtpServer.Port = 587; smtpServer.UseDefaultCredentials = false; smtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", "%TGB6yhn^YHN5tgb"); smtpServer.EnableSsl = true; // Create new MailMessage object to send an email MailMessage mailMessage = new MailMessage(); mailMessage.IsBodyHtml = true; mailMessage.Subject = $"Score for assessment {studAssess.Assessment.assessName}"; mailMessage.From = new MailAddress("*****@*****.**"); mailMessage.To.Add(studAssess.aspnet_Users.aspnet_Membership.Email); mailMessage.Body = $"Your assessment for \"{studAssess.Assessment.Subject1.subjectName} - {studAssess.Assessment.assessName}\" has just been graded!<br/>Your score is {studAssess.score} ({studAssess.getGrade()})."; // Send the email smtpServer.Send(mailMessage); }