Beispiel #1
0
        /// <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);
            }
        }
Beispiel #2
0
 /// <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;
 }
Beispiel #3
0
        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;
 }
Beispiel #5
0
        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"));
        }
Beispiel #6
0
        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);
        }
Beispiel #8
0
        /// <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());
        }