/// <summary> /// Generates and sends email to the newly accepted student asynchronously /// </summary> /// <param name="data"></param> /// <param name="password"></param> /// <returns></returns> private async Task GenerateEmail(StudentData data, string password) { StaticVariables.StudentDetails = ContactApi.GetDataFromApi <UCMStudent>("getStudents"); UCMStudent student = StaticVariables.StudentDetails.FirstOrDefault(p => p.AlternateEmail == data.NonUCMOEmailId); data.Id = student.Id; MailMessage mail = new MailMessage(); mail.To.Add(new MailAddress(student.AlternateEmail)); mail.From = new MailAddress("*****@*****.**"); mail.Subject = "Congratulations"; mail.IsBodyHtml = false; mail.Body = EmailBody(data, password); using (var client = new SmtpClient()) { client.Port = 587; client.Credentials = new NetworkCredential { UserName = "******", Password = "******" }; client.EnableSsl = true; client.Host = "smtp.gmail.com"; await client.SendMailAsync(mail); } }
/// <summary> /// Copies data from viewmodel to model for sending to web api /// </summary> /// <param name="student"></param> /// <param name="data"></param> /// <param name="password"></param> private void populateUCMStudent(UCMStudent student, StudentData data, string password) { student.Address = data.Address; student.Advisor = null; student.AlternateEmail = data.NonUCMOEmailId; student.ApprovedGrad = false; student.Comments = data.Comments; student.CreatedDate = DateTime.Now; student.Email = data.UCMOEmailId; student.FirstName = data.FirstName; student.GMATScore = data.GMATScore; student.GPA = data.GPA; student.GREScore = data.GREScore; student.LastName = data.LastName; student.ModifiedDate = DateTime.Now; student.Password = password; student.PhoneNumber = data.PhoneNumber; student.PrereqsMet = false; student.Program = null; student.ProgramId = StaticVariables.Programs.FirstOrDefault(p => p.Name.Equals(data.Concentration)).Id; student.Role = null; student.RoleId = StaticVariables.Roles.FirstOrDefault(p => p.Name.ToLower().Equals("student")).Id; student.StartDate = data.ProgramEntryDate; student.Student_TrainingStatus = null; student.StudentTrainingStatusId = StaticVariables.TrainingStatuses.FirstOrDefault(p => p.TrainingStatus.Equals("Due")).Id; student.Student_AcademicStatus = null; student.Student_AcademicStatusId = StaticVariables.AcademicStatuses.FirstOrDefault(p => p.AcademicStatus.Equals("Accepted")).ID; student.Training = null; student.TrainingId = StaticVariables.Trainings.FirstOrDefault(p => p.Id == 1).Id; }
public IHttpActionResult updateStudent([FromBody] UCMStudent student) { IUnitOfWork unitOfWork = new UnitOfWork(new Entities()); unitOfWork.StudentsInfo.Update(student); if (unitOfWork.Save() >= 1) { return(Ok("Success")); } return(BadRequest("There is an error")); }
/// <summary> /// Copies data from model to viewmodel for display /// </summary> /// <param name="studentData"></param> /// <param name="details"></param> private void populateData(StudentAdvisingData studentData, UCMStudent details) { studentData.Id = details.Id; studentData.Concentration = StaticVariables.Programs.FirstOrDefault(p => p.Id == details.ProgramId).Name; studentData.Advisor = details.Advisor.ToString(); studentData.approvedForGraduation = details.ApprovedGrad.Value; studentData.Comments = details.Comments; studentData.FirstName = details.FirstName; studentData.LastName = details.LastName; studentData.ProgramStatus = StaticVariables.AcademicStatuses.FirstOrDefault(p => p.ID == details.Student_AcademicStatusId).AcademicStatus; }
public ActionResult ACCCompleted() { int id = Convert.ToInt32(User.Identity.Name); UCMStudent student = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == id); student.StudentTrainingStatusId = 3; bool status = ContactApi.PostToApi(student, "updateStudent"); if (status) { return(RedirectToAction("Student")); } return(RedirectToAction("AcademicCodeOfConduct")); }
public async Task <ActionResult> AddStudent(StudentData data) { string password = PasswordGenerator.GeneratePassword(); string md5Password = PasswordGenerator.HashPassword(password); UCMStudent student = new UCMStudent(); populateUCMStudent(student, data, md5Password); bool postStatus = ContactApi.PostToApi <UCMStudent>(student, "addStudent"); if (postStatus) { await GenerateEmail(data, password); ModelState.Clear(); } return(View(data)); }
/// <summary> /// Update viewmodel data from model /// </summary> /// <param name="id"></param> /// <returns></returns> public StudentData populateData(int id) { UCMStudent studentDetails = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == id); var studentData = new StudentData(); studentData.Id = studentDetails.Id; studentData.Address = studentDetails.Address; studentData.Comments = studentDetails.Comments; studentData.Concentration = StaticVariables.Programs.FirstOrDefault(p => p.Id == studentDetails.ProgramId).Name; studentData.FirstName = studentDetails.FirstName; studentData.GMATScore = studentDetails.GMATScore.HasValue ? studentDetails.GMATScore.Value : 0; studentData.GPA = studentDetails.GPA; studentData.GREScore = studentDetails.GREScore.HasValue ? studentDetails.GREScore.Value : 0; studentData.LastName = studentDetails.LastName; studentData.NonUCMOEmailId = studentDetails.AlternateEmail; studentData.PhoneNumber = studentDetails.PhoneNumber; studentData.ProgramEntryDate = studentDetails.CreatedDate; studentData.UCMOEmailId = studentDetails.Email; return(studentData); }
/// <summary> /// Redirects to home page of students, /// </summary> /// <returns></returns> public ActionResult Student() { StaticVariables.StudentDetails = ContactApi.GetDataFromApi <UCMStudent>("getStudents"); StaticVariables.Roles = ContactApi.GetDataFromApi <Role>("getRoles"); StaticVariables.TrainingStatuses = ContactApi.GetDataFromApi <Student_TrainingStatus>("getStudentTrainingStatus"); StaticVariables.Trainings = ContactApi.GetDataFromApi <Training>("getTrainingRepo"); StaticVariables.AcademicStatuses = ContactApi.GetDataFromApi <Student_AcademicStatus>("getStudentAcademicStatus"); ViewBag.Title = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == int.Parse(User.Identity.Name)).FirstName; UCMStudent student = StaticVariables.StudentDetails.FirstOrDefault(p => p.Id == int.Parse(User.Identity.Name)); bool questionnaireStatus = checkQuestionnaire(Convert.ToInt32(User.Identity.Name)); if (!questionnaireStatus) { return(RedirectToAction("FillQuestionnaire", "Questionnaire")); } if (StaticVariables.TrainingStatuses.FirstOrDefault(p => p.Id == student.StudentTrainingStatusId).TrainingStatus.ToLower().Equals("Due".ToLower())) { return(RedirectToAction("AcademicCodeOfConduct")); } return(View()); }