Beispiel #1
0
        public async Task <ActionResult> AddNew(AddNewStudent stu)
        {
            IStudentService stuService = new StudentService();
            long            id         = await stuService.AddAsync(stu.Name, stu.Age);

            return(Redirect("~/Home/Index"));
        }
        public async Task CancelExchangeTest()
        {
            IMongoDatabase      database           = _mongoFixture.MongoClient.GetDatabase("StudentsDB");
            StudentService      studentSrv         = new StudentService(database);
            BlockChangesService blockChangeService = new BlockChangesService(database);
            var           options             = GetProxyOptions();
            var           schoolScheduleProxy = new SchoolScheduleProxy(options);
            var           schoolCourseProxy   = new SchoolCourseProxy(options);
            CourseService courseService       = new CourseService(_loggerMockCourse.Object, database, schoolScheduleProxy, schoolCourseProxy);

            Course course = await CreateAndAddCourse("Programovanie", "11111", courseService);

            Block block1 = CreateBlock(BlockType.Laboratory, Day.Monday, 2, 7, course.Id);
            Block block2 = CreateBlock(BlockType.Laboratory, Day.Wednesday, 2, 10, course.Id);
            Block block3 = CreateBlock(BlockType.Laboratory, Day.Wednesday, 2, 8, course.Id);

            Student student = new Student();
            await studentSrv.AddAsync(student);

            BlockChangeRequest blockToChange  = CreateBlockChangeRequest(block2, block1, student.Id);
            BlockChangeRequest blockToChange1 = CreateBlockChangeRequest(block3, block1, student.Id);

            (await blockChangeService.AddAndFindMatch(blockToChange)).Should().Be((null, null));
            (await blockChangeService.AddAndFindMatch(blockToChange1)).Should().Be((null, null));

            blockChangeService.FindWaitingStudentRequests(student.Id).Result.Count.Should().Be(2);
            (await blockChangeService.CancelExchangeRequest(blockToChange1)).Should().Be(true);
            blockChangeService.FindWaitingStudentRequests(student.Id).Result.Count.Should().Be(1);
        }
Beispiel #3
0
        public async Task Add()
        {
            await StudentService.AddAsync(Current).ConfigureAwait(false);

            Collection = await StudentService.GetAsync().ConfigureAwait(false);

            StateHasChanged();
        }
Beispiel #4
0
        public async Task EditBlockStudentTimetablePassed()
        {
            IMongoDatabase database = _mongoFixture.MongoClient.GetDatabase("StudentsDB");
            StudentService stserv   = new StudentService(database);
            Student        student  = new Student();

            student.Timetable = FakeTimetable.GetFakeTimetable();
            await stserv.AddAsync(student);

            var loadedStudent = await stserv.FindByIdAsync(student.Id);

            Block blckToAdd = new Block {
                BlockId = Guid.NewGuid(), BlockType = BlockType.Lecture, Day = Day.Friday, StartHour = 9
            };

            loadedStudent.Timetable.AllBlocks.Count(x => x.Equals(blckToAdd)).Should().Be(0);
            //add new block
            loadedStudent.Timetable.AddNewBlock(blckToAdd);
            //save new block
            await stserv.UpdateStudentAsync(loadedStudent);

            //load from db
            Student updatedStudent = await stserv.FindByIdAsync(loadedStudent.Id);

            //test
            updatedStudent.Timetable.AllBlocks.Count(x => x.Equals(blckToAdd)).Should().Be(1);
            updatedStudent.Timetable.ContainsBlock(blckToAdd).Should().Be(true);

            Block updtBlock = new Block {
                BlockId = blckToAdd.BlockId, BlockType = BlockType.Excercise, Day = Day.Friday, StartHour = 9
            };

            // update blckToAdd to updtBlock
            updatedStudent.Timetable.UpdateBlock(updtBlock);
            //save updated block
            await stserv.UpdateStudentAsync(updatedStudent);

            //load from db
            updatedStudent = await stserv.FindByIdAsync(loadedStudent.Id);

            //test
            updatedStudent.Timetable.AllBlocks.Count(x => x.Equals(updtBlock)).Should().Be(1);

            //delete added block
            updatedStudent.Timetable.RemoveBlock(updtBlock.BlockId);
            //save deleted
            await stserv.UpdateStudentAsync(updatedStudent);

            //load from db
            updatedStudent = await stserv.FindByIdAsync(loadedStudent.Id);

            //test
            updatedStudent.Timetable.AllBlocks.Count(x => x.Equals(updtBlock)).Should().Be(0);
            updatedStudent.Timetable.ContainsBlock(updtBlock).Should().Be(false);
        }
        public async Task ExchangeRequests_ExchangingRequests_ExchangedRequests()
        {
            IMongoDatabase      database           = _mongoFixture.MongoClient.GetDatabase("StudentsDB");
            StudentService      studentSrv         = new StudentService(database);
            BlockChangesService blockChangeService = new BlockChangesService(database);
            var           options             = GetProxyOptions();
            var           schoolScheduleProxy = new SchoolScheduleProxy(options);
            var           schoolCourseProxy   = new SchoolCourseProxy(options);
            CourseService courseService       = new CourseService(_loggerMockCourse.Object, database, schoolScheduleProxy, schoolCourseProxy);

            Course course = await CreateAndAddCourse("Programovanie", "11111", courseService);

            Course course2 = await CreateAndAddCourse("Programovanie", "11111", courseService);


            Block block1 = CreateBlock(BlockType.Laboratory, Day.Monday, 2, 7, course.Id);
            Block block2 = CreateBlock(BlockType.Laboratory, Day.Wednesday, 2, 10, course.Id);
            Block block3 = CreateBlock(BlockType.Laboratory, Day.Tuesday, 2, 15, course.Id);
            Block block4 = CreateBlock(BlockType.Laboratory, Day.Friday, 2, 18, course2.Id);

            Student student1 = new Student();
            Student student2 = new Student();
            Student student3 = new Student();
            await studentSrv.AddAsync(student1);

            await studentSrv.AddAsync(student2);

            await studentSrv.AddAsync(student3);

            BlockChangeRequest blockToChange1 = CreateBlockChangeRequest(block1, block2, student1.Id);
            BlockChangeRequest blockToChange2 = CreateBlockChangeRequest(block1, block3, student1.Id);
            BlockChangeRequest blockToChange3 = CreateBlockChangeRequest(block1, block2, student2.Id);
            BlockChangeRequest blockToChange4 = CreateBlockChangeRequest(block1, block3, student2.Id);
            BlockChangeRequest blockToChange5 = CreateBlockChangeRequest(block4, block2, student3.Id);
            BlockChangeRequest blockToChange  = CreateBlockChangeRequest(block2, block1, student3.Id);
            ValueTuple <BlockChangeRequest, BlockChangeRequest> result = new ValueTuple <BlockChangeRequest, BlockChangeRequest>();

            result = (null, null);
            (await blockChangeService.AddAndFindMatch(blockToChange1)).Should().Equals(result);
            (await blockChangeService.AddAndFindMatch(blockToChange2)).Should().Equals(result);
            (await blockChangeService.AddAndFindMatch(blockToChange3)).Should().Equals(result);
            (await blockChangeService.AddAndFindMatch(blockToChange4)).Should().Equals(result);
            (await blockChangeService.AddAndFindMatch(blockToChange5)).Should().Equals(result);

            result = (blockToChange, blockToChange1);
            (await blockChangeService.AddAndFindMatch(blockToChange)).Should().Equals(result);

            blockChangeService.FindAllStudentRequests(student1.Id).Result.Count.Should().Be(1);
            blockChangeService.FindAllStudentRequests(student2.Id).Result.Count.Should().Be(2);
            blockChangeService.FindAllStudentRequests(student3.Id).Result.Count.Should().Be(2);

            blockChangeService.FindWaitingStudentRequests(student1.Id).Result.Count.Should().Be(0);
            blockChangeService.FindWaitingStudentRequests(student2.Id).Result.Count.Should().Be(2);
            blockChangeService.FindWaitingStudentRequests(student3.Id).Result.Count.Should().Be(1);

            BlockChangeRequest blockToChange6 = CreateBlockChangeRequest(block3, block2, student1.Id);

            (await blockChangeService.AddAndFindMatch(blockToChange6)).Should().Be((null, null));
            blockChangeService.FindWaitingStudentRequests(student1.Id).Result.Count.Should().Be(1);
            blockChangeService.FindWaitingStudentRequests(student2.Id).Result.Count.Should().Be(2);
            blockChangeService.FindWaitingStudentRequests(student3.Id).Result.Count.Should().Be(1);
        }