public ActionResult DeleteConfirmed(string id) { ProgramEnrollment programEnrollment = db.ProgramEnrollment.Find(id); db.ProgramEnrollment.Remove(programEnrollment); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult UnenrollStudentAction(string programID, string userID) { if (programID != null && userID != null) { ProgramEnrollment a = db.ProgramEnrollment.Find(programID, userID); db.ProgramEnrollment.Remove(a); db.SaveChanges(); } //Return a redirect to the prior screen return(RedirectToAction("ManageEnrollments", "ProgramEnrollments", new { id = programID })); }
public ActionResult Edit([Bind(Include = "Enrollment_Number,StudentEmail,Program_ID,EventID,StartTime,EndTime,Attended")] ProgramEnrollment programEnrollment) { if (ModelState.IsValid) { db.Entry(programEnrollment).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.Program_ID = new SelectList(db.Programs, "Program_ID", "Program_Name", programEnrollment.Program_ID); return(View(programEnrollment)); }
//Action that performs actual enrollment public ActionResult EnrollStudentAction(string programID, string userID) { if (programID != null && userID != null) { ProgramEnrollment enrollItem = new ProgramEnrollment(); enrollItem.AccountID = userID; enrollItem.Program_ID = programID; db.ProgramEnrollment.Add(enrollItem); db.SaveChanges(); } //Return a redirect to the prior screen return(RedirectToAction("EnrollStudent", "ProgramEnrollments", new { id = programID })); }
// GET: ProgramEnrollments/Delete/5 public ActionResult Delete(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProgramEnrollment programEnrollment = db.ProgramEnrollment.Find(id); if (programEnrollment == null) { return(HttpNotFound()); } return(View(programEnrollment)); }
// GET: ProgramEnrollments/Edit/5 public ActionResult Edit(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } ProgramEnrollment programEnrollment = db.ProgramEnrollment.Find(id); if (programEnrollment == null) { return(HttpNotFound()); } ViewBag.Program_ID = new SelectList(db.Programs, "Program_ID", "Program_Name", programEnrollment.Program_ID); return(View(programEnrollment)); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } ProgramEnrollment = await _context.ProgramEnrollments .Include(p => p.LMSProgram).SingleOrDefaultAsync(m => m.LMSProgramID == id); if (ProgramEnrollment == null) { return(NotFound()); } ViewData["LMSProgramID"] = new SelectList(_context.LMSPrograms, "LMSProgramID", "LongName"); return(Page()); }
public void LogEvent(string eventTypeCode, ApplicationUser appUser, ProgramEnrollment enrollment) { Console.WriteLine(""); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("[EventLogService][LogEvent][ProgramEnrollment] - (ApplicationUser.ToString()):\n" + appUser); Console.WriteLine(""); Console.WriteLine("[EventLogService][LogEvent][ProgramEnrollment] - (ApplicationUser.ToEventLog()):\n" + appUser.ToEventLog()); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine("[EventLogService][LogEvent][ProgramEnrollment] - (ProgramEnrollment.ToString()):\n" + enrollment); Console.WriteLine(""); Console.WriteLine("[EventLogService][LogEvent][ProgramEnrollment] - (ProgramEnrollment.ToEventLog()):\n" + enrollment.ToEventLog()); Console.WriteLine("------------------------------------------------------------------------------------------"); Console.WriteLine(""); var sb = new StringBuilder(); sb.Append("User="******"; "); //sb.Append(enrollment.ToString()); var eventLog = new EventLog { EventTypeCode = eventTypeCode, UserCreatedID = appUser.Id, UserCreatedName = appUser.UserName, DataValues = sb.ToString(), DateTimeCreated = DateTime.Now }; _eventLogRepository.Add(eventLog); }
public async Task <IActionResult> OnPostAsync() { Console.WriteLine("ModelState.IsValid: " + ModelState.IsValid); if (!ModelState.IsValid) { Console.WriteLine("ModelState IS NOT valid"); return(Page()); } Console.WriteLine("ModelState IS valid"); //////////////////////////////////////////////////////////// // Retrieve "NONE TO PENDING" StatusTransition //////////////////////////////////////////////////////////// var statusTransition = await _context.StatusTransitions .Where(st => st.TransitionCode == TransitionCodeConstants.NONE_TO_PENDING) .SingleOrDefaultAsync(); //////////////////////////////////////////////////////////// // Create ProgramEnrollment (root class), adding newly // created EnrollmentHistory to the EnrollmentHistory // collection //////////////////////////////////////////////////////////// var programEnrollment = new ProgramEnrollment { LMSProgramID = Int32.Parse(Input.LMSProgramID), StudentUserId = _userManager.GetUserId(User), UserCreated = _userManager.GetUserId(User), DateCreated = DateTime.Now, StatusCode = StatusCodeConstants.PENDING, EnrollmentHistory = new List <EnrollmentHistory> { new EnrollmentHistory { StatusTransitionID = statusTransition.StatusTransitionID, ActorUserId = _userManager.GetUserId(User), ActorRemarks = Input.Remarks, DateCreated = DateTime.Now } } }; ///////////////////////////////////////////////////////////////////// // Persist ProgramEnrollment plus EnrollmentHistory to the database ///////////////////////////////////////////////////////////////////// _context.ProgramEnrollments.Add(programEnrollment); await _context.SaveChangesAsync(); /////////////////////////////////////////////////////////////////// // Log the 'ENROLLMENT_REQUSTED' event /////////////////////////////////////////////////////////////////// ApplicationUser student = await GetCurrentUserAsync(); // _eventLogService.LogEvent(EventTypeCodeConstants.ENROLLMENT_REQUSTED, student, programEnrollment.ProgramEnrollmentID); _eventLogService.LogEvent(EventTypeCodeConstants.ENROLLMENT_REQUSTED, student, programEnrollment); //////////////////////////////////////////////////////////////////////////////////// // Send email notification to approvers who have their EmailNotify flag set to true //////////////////////////////////////////////////////////////////////////////////// IList <ProgramApprover> approverList = await _context.ProgramApprovers .Where(pa => pa.LMSProgramID == programEnrollment.LMSProgramID && pa.EmailNotify == true) .Include(pa => pa.Approver) .Include(pa => pa.LMSProgram) .AsNoTracking() .ToListAsync(); foreach (ProgramApprover approverObj in approverList) { string email = approverObj.Approver.Email; string subject = "Program Enrollment Request (" + approverObj.LMSProgram.LongName + ")"; string message = student.FullName + " has requested to enroll in " + approverObj.LMSProgram.LongName; await _emailSender.SendEmailAsync(email, subject, message); } //////////////////////////////////////////////////////////////////////////////////// // Send email notification to LMS Program's common inbox (if any) //////////////////////////////////////////////////////////////////////////////////// LMSProgram lmsProgram = await _context.LMSPrograms .Where(p => p.LMSProgramID == programEnrollment.LMSProgramID && p.CommonInbox != null) .AsNoTracking() .SingleOrDefaultAsync(); if (lmsProgram != null && String.IsNullOrEmpty(lmsProgram.CommonInbox) == false) { string email = lmsProgram.CommonInbox; string subject = "Program Enrollment Request (" + lmsProgram.LongName + ")"; string message = student.FullName + " has requested to enroll in " + lmsProgram.LongName; await _emailSender.SendEmailAsync(email, subject, message); } ///////////////////////////////////////////////////////////////// // Redirect to Enrollmentl Index Page ///////////////////////////////////////////////////////////////// return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnPostAsync(int id, string status) { Console.WriteLine("Approvals.Edit.OnPost(): BEGIN"); Console.WriteLine("id: " + id); Console.WriteLine("status: " + status); //////////////////////////////////////////////////////////// // Step #1: // Check to see if records exists //////////////////////////////////////////////////////////// ProgramEnrollment = await _dbContext.ProgramEnrollments .Where(pe => pe.ProgramEnrollmentID == id) .SingleOrDefaultAsync(); //////////////////////////////////////////////////////////// // Return "Not Found" if record doesn't exist //////////////////////////////////////////////////////////// if (ProgramEnrollment == null) { Console.WriteLine("ProgramEnrollment NOT FOUND in Step# 1"); return(NotFound()); } //////////////////////////////////////////////////////////// // Step #2: // Now that record exists, make sure that the logged-in user // is authorized to edit (approver/deny) enrollment // applications for this particular LMS Program. //////////////////////////////////////////////////////////// var sql = " SELECT * FROM public.\"ProgramEnrollment\" " + " WHERE \"ProgramEnrollmentID\" = {0} " + " AND \"LMSProgramID\" " + " IN " + " ( " + " SELECT \"LMSProgramID\" " + " FROM public.\"ProgramApprover\" " + " WHERE \"ApproverUserId\" = {1} " + " ) "; ProgramEnrollment = null; ProgramEnrollment = await _dbContext.ProgramEnrollments .FromSql(sql, id, _userManager.GetUserId(User)) .SingleOrDefaultAsync(); ///////////////////////////////////////////////////////////// // We already know that record exists from Step #1 so if we // get a "Not Found" in Step #2, we know it's because the // logged-in user is not authorized to edit (approve/deny) // enrollment applications for this LMS Program. ///////////////////////////////////////////////////////////// if (ProgramEnrollment == null) { return(Unauthorized()); } ///////////////////////////////////////////////////////////////// // Update ProgramEnrollment Record ///////////////////////////////////////////////////////////////// ProgramEnrollment.StatusCode = status; ProgramEnrollment.ApproverUserId = _userManager.GetUserId(User); _dbContext.ProgramEnrollments.Update(ProgramEnrollment); await _dbContext.SaveChangesAsync(); ///////////////////////////////////////////////////////////////// // Redirect to Approval Index Page ///////////////////////////////////////////////////////////////// return(RedirectToPage("./Index")); }
public async Task <IActionResult> OnGetAsync(int?id) { if (id == null) { return(NotFound()); } //////////////////////////////////////////////////////////// // Step #1: // Check to see if records exists //////////////////////////////////////////////////////////// ProgramEnrollment = await _dbContext.ProgramEnrollments .Where(pe => pe.ProgramEnrollmentID == id) .SingleOrDefaultAsync(); //////////////////////////////////////////////////////////// // Return "Not Found" if record doesn't exist //////////////////////////////////////////////////////////// if (ProgramEnrollment == null) { return(NotFound()); } //////////////////////////////////////////////////////////// // Step #2: // Now that record exists, make sure that the logged-in user // is authorized to edit (approver/deny) enrollment // applications for this particular LMS Program. //////////////////////////////////////////////////////////// var sql = " SELECT * FROM public.\"ProgramEnrollment\" " + " WHERE \"ProgramEnrollmentID\" = {0} " + " AND \"LMSProgramID\" " + " IN " + " ( " + " SELECT \"LMSProgramID\" " + " FROM public.\"ProgramApprover\" " + " WHERE \"ApproverUserId\" = {1} " + " ) "; ProgramEnrollment = null; ProgramEnrollment = await _dbContext.ProgramEnrollments .FromSql(sql, id, _userManager.GetUserId(User)) .Include(pe => pe.LMSProgram) .Include(pe => pe.Student) .ThenInclude(s => s.SubAgency) .ThenInclude(sa => sa.Agency) .Include(pe => pe.EnrollmentStatus) .SingleOrDefaultAsync(); ///////////////////////////////////////////////////////////// // We already know that record exists from Step #1 so if we // get a "Not Found" in Step #2, we know it's because the // logged-in user is not authorized to edit (approve/deny) // enrollment applications for this LMS Program. ///////////////////////////////////////////////////////////// if (ProgramEnrollment == null) { return(Unauthorized()); } return(Page()); }