コード例 #1
0
        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 }));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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());
        }
コード例 #4
0
        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();
        }