Ejemplo n.º 1
0
        public async Task InsertGroupSampleData()
        {
            const string groupFormat       = "Group{0}";
            const string descriptionFormat = "Description{0}";

            var teachers = await _usersRepository.GetAllByRoleName(RoleConstants.TeacherRoleName);

            teachers.Sort((x, emp2) => x.FirstName.CompareTo(emp2.FirstName));
            var students = await _usersRepository.GetAllByRoleName(RoleConstants.StudentRoleName);

            students.Sort((x, emp2) => x.FirstName.CompareTo(emp2.FirstName));

            for (var i = 0; i < teachers.Count; i++)
            {
                for (var j = 0; j < i; j++)
                {
                    var groupName       = string.Format(groupFormat, j);
                    var descriptionName = string.Format(descriptionFormat, j);

                    var group = await _groupsRepository.InsertAsync(Group.Create(groupName, descriptionName, teachers[i].Id));

                    for (var k = 0; k < i; k++)
                    {
                        await _groupsRepository.InsertStudentAsync(group.Id, students[k].Id);
                    }
                }
            }
        }
        public async Task <IActionResult> AddStudentToGroup(AddStudentToGroupViewModel addStudentToGroupViewModel)
        {
            var students = await _usersRepository.GetStudentsByNamePrefixAsync(addStudentToGroupViewModel.StudentName);


            if (!ModelState.IsValid)
            {
                return(View(addStudentToGroupViewModel));
            }



            var inserted = await _groupsRepository
                           .InsertStudentAsync(addStudentToGroupViewModel.GroupId, students[0].Id);

            if (!inserted)
            {
                return(NotFound());
            }

            return(RedirectToAction(nameof(AddStudentToGroup), new { id = addStudentToGroupViewModel.GroupId }));
        }