public async Task <IActionResult> Create([Bind("LearnerCourseId,LearnerId,InstitutionName,CourseName,DateOfCompletion,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] LearnerCourse learnerCourse) { //Get current user details var user = await _lookUpService.GetCurrentLoggedInUser(User.Identity.Name); //Get current leaner details var learner = await _lookUpService.GetLearnerDetailsByIdEmail(user.Email); if (ModelState.IsValid) { //assign Leaner Id to link these qualifications to leaner learnerCourse.LearnerId = learner.LearnerId; //create an audit trail learnerCourse.CreatedBy = user.UserName; learnerCourse.DateCreated = DateTime.Now; learnerCourse.LastUpdatedBy = user.UserName; learnerCourse.DateUpdated = DateTime.Now; _context.Add(learnerCourse); await _context.SaveChangesAsync(); return(RedirectToAction("Details", "Person", new { id = learner.NationalID })); } return(RedirectToAction("Details", "Person", new { id = learner.NationalID })); }
public async Task <IActionResult> _AddQualification(LearnerCourse learnerCourse) { //Get current user details var user = await _lookUpService.GetCurrentLoggedInUser(User.Identity.Name); //Get currect leaner details var learner = await _lookUpService.GetLearnerDetailsByIdEmail(user.Person.NationalId); //assign Leaner Id to link these qualifications to leaner learnerCourse.LearnerId = learner.LearnerId; //create an audit trail learnerCourse.CreatedBy = user.UserName; learnerCourse.DateCreated = DateTime.Now; if (ModelState.IsValid) { _context.Add(learnerCourse); await _context.SaveChangesAsync(); _notyf.Success("Qualification added successfully..."); return(RedirectToAction(nameof(Index))); } return(PartialView(learnerCourse)); }
public async Task <IActionResult> Edit(long id, [Bind("LearnerCourseId,LearnerId,InstitutionName,CourseName,DateOfCompletion,CreatedBy,DateCreated,LastUpdatedBy,DateUpdated")] LearnerCourse learnerCourse) { if (id != learnerCourse.LearnerCourseId) { return(NotFound()); } if (ModelState.IsValid) { var person = await _lookUpService.GetLearnerDetailsById(learnerCourse.LearnerId); learnerCourse.LastUpdatedBy = User.Identity.Name; learnerCourse.DateUpdated = DateTime.Now; try { _context.Update(learnerCourse); await _context.SaveChangesAsync(); _notyf.Success("Qualification updated successfully..."); } catch (DbUpdateConcurrencyException) { if (!LearnerCourseExists(learnerCourse.LearnerCourseId)) { return(NotFound()); } else { throw; } } _notyf.Success("Qualification updated successfully..."); return(RedirectToAction("Details", "Person", new { Id = person.NationalID })); } return(View()); }
public static void Initialize(DataContext context) { if (context.UserTypes.Any()) { return; } var userTypes = new UserType[] { new UserType { Name = "Admin" }, new UserType { Name = "Tutor" }, new UserType { Name = "Learner" }, new UserType { Name = "Other" } }; foreach (var userType in userTypes) { context.UserTypes.Add(userType); } context.SaveChanges(); var orgs = new Organisation[] { new Organisation { Name = "WEST" }, new Organisation { Name = "Tribal" }, new Organisation { Name = "Others" } }; foreach (var org in orgs) { context.Organisations.Add(org); } context.SaveChanges(); using var hmac = new HMACSHA512(); //will provide hashing algorithm var users = new AppUser[] { new AppUser { Username = "******", Firstname = "Admin0 FN", Lastname = "Admin0 LN", OrganisationId = 1, Birthdate = DateTime.Parse("1990-01-01"), PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes("password")), PasswordSalt = hmac.Key, TypeId = 1 }, new AppUser { Username = "******", Firstname = "Tutor0 FN", Lastname = "Tutor0 LN", OrganisationId = 2, Birthdate = DateTime.Parse("1991-01-01"), PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes("password")), PasswordSalt = hmac.Key, TypeId = 2 }, new AppUser { Username = "******", Firstname = "Learner0 FN", Lastname = "Learner0 LN", OrganisationId = 2, Birthdate = DateTime.Parse("2005-01-01"), PasswordHash = hmac.ComputeHash(Encoding.UTF8.GetBytes("password")), PasswordSalt = hmac.Key, TypeId = 3 } }; foreach (var user in users) { context.Users.Add(user); } context.SaveChanges(); var learnerUsers = users.Where(u => u.TypeId == 3); var learners = new List <Learner>(); foreach (var learnerUser in learnerUsers) { var learner = new Learner { UserId = learnerUser.Id }; learners.Add(learner); context.Learners.Add(learner); } context.SaveChanges(); var courses = new Course[] { new Course { Name = "Application of Number 2015", IconPath = "./assets/esm.png" }, new Course { Name = "Communication (English) 2015", IconPath = "./assets/esl.png" }, new Course { Name = "Communication (Welsh) 2015", IconPath = "./assets/esw.png" }, new Course { Name = "Digital Literacy", IconPath = "./assets/esd.png" }, new Course { Name = "ESOL", IconPath = "./assets/esol.png" } }; foreach (var course in courses) { context.Courses.Add(course); } context.SaveChanges(); var groups = new Group[] { new Group { Name = "default" } }; foreach (var group in groups) { context.Groups.Add(group); } context.SaveChanges(); var learnerGroups = new LearnerGroup[] { new LearnerGroup { LearnerId = learners.Single(l => l.User.Username == "learner0").LearnerId, GroupId = groups.Single(g => g.Name == "default").Id } }; foreach (var learnerGroup in learnerGroups) { context.LearnerGroup.Add(learnerGroup); } context.SaveChanges(); var learnerCourses = new LearnerCourse[] { new LearnerCourse { LearnerId = learners.Single(l => l.User.Username == "learner0").LearnerId, CourseId = courses.Single(c => c.Name == "Application of Number 2015").Id }, new LearnerCourse { LearnerId = learners.Single(l => l.User.Username == "learner0").LearnerId, CourseId = courses.Single(c => c.Name == "ESOL").Id } }; foreach (var learnerCourse in learnerCourses) { context.LearnerCourses.Add(learnerCourse); } context.SaveChanges(); }