public void CreateAsync_ThrowsValidationException()
 {
     Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService
                                              .CreateAsync(_homeworkDTOForPresenceException));
     Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService
                                              .CreateAsync(_homeworkDTOForNotPresenceException));
 }
Esempio n. 2
0
        public ActionResult GetReports(int reportId)
        {
            int id = Int32.Parse(Request.Cookies["UserSettings"].Values["UserId"]);
            List <StudInfoViewModel> studentsList   = new List <StudInfoViewModel>();
            StudentService           studentService = new StudentService();

            studentsList = studentService.GetStudentsByTeacherID(id);//all students

            List <HomeworkViewModel> homeworksList = new List <HomeworkViewModel>();
            HomeworkService          services      = new HomeworkService();

            homeworksList = services.GetHomeworksByTeacherID(id);

            switch (reportId)
            {
            case 1:    //best 10 students
                List <StudInfoViewModel> bestStudents = studentsList.Where(a => a.GradeAverage > 1).OrderByDescending(a => a.GradeAverage).Take(10).ToList();
                return(View("StudentReports", bestStudents));

            case 2:    //Get All Students with grade smaller than 5
                List <StudInfoViewModel> badStudents = studentsList.Where(a => a.GradeAverage < 5).ToList();
                return(View("StudentReports", badStudents));

            case 3:                                         //Get All Valable Homeworks
                List <HomeworkViewModel> homeworks = homeworksList.Where(a => a.endDate > DateTime.Now).ToList();
                return(View("HomeworkReports", homeworks)); //alt view

            default:
                //all student reportId==null
                return(View(studentsList));
            }
        }
        public void GetTeacherHomeworksWithoutResolutionsReturnsCorrectHomeworks()
        {
            PrepareData(out Mock <IRepository <LearningPlusHomeWork> > hwRepo,
                        out Mock <LearningPlusUser> student,
                        out Mock <LearningPlusClass> course);

            var expectedResult = new List <LearningPlusHomeWork>
            {
                new LearningPlusHomeWork {
                    Id = new Guid("11223344-5566-7788-99AA-BBCCDDEEFF01"), Resolutions = null, Course = course.Object, Student = student.Object
                },
                new LearningPlusHomeWork {
                    Id = new Guid("11223344-5566-7788-99AA-BBCCDDEEFF01"), Resolutions = "", Course = course.Object, Student = student.Object
                },
                new LearningPlusHomeWork {
                    Id = new Guid("11223344-5566-7788-99AA-BBCCDDEEFF01"), Resolutions = "", Course = course.Object, Student = student.Object
                },
            };

            var expectedResultJson = JsonConvert.SerializeObject(expectedResult.Select(h => h.Id));

            var homeworkService = new HomeworkService(hwRepo.Object);

            var result     = homeworkService.GetTeacherHomeworksWithoutResolutions("teacher");
            var resultJson = JsonConvert.SerializeObject(result.Select(h => h.Id));

            resultJson.ShouldBe(expectedResultJson);
        }
Esempio n. 4
0
        public ActionResult Homework()
        {
            checkLogin();

            HomeworkViewModel HVM = new HomeworkViewModel();

            HVM.groupSelectList        = StudentGroupService.getGroupSelectList(CP.currentTerm.ID);
            HVM.typeSelectList         = HomeworkService.getTypeSelectList();
            Session["groupSelectList"] = HVM.groupSelectList;
            Session["typeSelectList"]  = HVM.typeSelectList;

            HVM.termFilList         = genSelectList(CP.termSelectList, 0);
            HVM.groupFilList        = genSelectList(HVM.groupSelectList, 0);
            HVM.typeFilList         = genSelectList(HVM.typeSelectList, 0);
            Session["termFilList"]  = HVM.termFilList;
            Session["groupFilList"] = HVM.groupFilList;
            Session["typeFilList"]  = HVM.typeFilList;

            HVM.viewList = new List <HomeworkView>();

            ModelState.Clear();
            TempData["showForm2"] = false;
            TempData["showForm"]  = false;
            return(View(HVM));
        }
Esempio n. 5
0
        public void Setup()
        {
            Repository        = new Mock <IHomeworkRepository>();
            CourseRepository  = new Mock <ICourseRepository>();
            StudentRepository = new Mock <IStudentRepository>();
            LectureRepository = new Mock <ILectureRepository>();

            UnitOfWork = new Mock <IUnitOfWork>();

            Logger = new Mock <ILogger <HomeworkService> >();

            UnitOfWork.SetupGet(x => x.Homeworks)
            .Returns(Repository.Object);

            UnitOfWork.SetupGet(x => x.Lectures)
            .Returns(LectureRepository.Object);

            UnitOfWork.SetupGet(x => x.Students)
            .Returns(StudentRepository.Object);

            UnitOfWork.SetupGet(x => x.Courses)
            .Returns(CourseRepository.Object);

            Service = new HomeworkService(UnitOfWork.Object, Logger.Object);
        }
        public async Task CreateAsync_ValidCall()
        {
            await HomeworkService.CreateAsync(_homeworkDTO);

            RepositoryMock.Verify(m => m.CreateAsync(It.IsAny <Homework>()));
            StudentHomeworkUpdaterMock.Verify(s => s.UpdateAsync(It.IsAny <Homework>(),
                                                                 StudentHomeworkUpdater.UpdateType.AddHomework, It.IsAny <bool>()));
        }
        public void GetAsync_ThrowsValidationException()
        {
            RepositoryMock.Setup(repo => repo.GetAsync(It.IsAny <int>()))
            .Returns(GetExceptionTest());

            Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService.GetAsync(null));
            Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService.GetAsync(It.IsAny <int>()));
        }
        public async Task DeleteAsync_ValidCall()
        {
            await HomeworkService.DeleteAsync(It.IsAny <int>());

            RepositoryMock.Verify(m => m.Delete(It.IsAny <Homework>()));
            StudentHomeworkUpdaterMock.Verify(s => s.UpdateAsync(It.IsAny <Homework>(),
                                                                 StudentHomeworkUpdater.UpdateType.RemoveHomework, It.IsAny <bool>()));
        }
Esempio n. 9
0
        public ActionResult MyHomeworks(int id)
        {
            List <HomeworkViewModel> teacherViewList = new List <HomeworkViewModel>();
            HomeworkService          te = new HomeworkService();

            teacherViewList = te.GetHomeworksByTeacherID(id);
            return(View(teacherViewList));
        }
Esempio n. 10
0
        public ActionResult ListPage()
        {
            var list = new HomeworkService().GetList();

            list = list.OrderBy(item => item.CreateDate).ToList();

            return(View(list));
        }
Esempio n. 11
0
        public void oneTimeSetUp()
        {
            var connection = DbConnectionFactory.CreateTransient();

            this.ctx  = new ApplicationDbContext(connection);
            this.serv = new HomeworkService(new HomeworkRepository(ctx));
            new DatabaseSeeder().CreateDependenciesAndSeed(ctx);//heavy duty
        }
        public async Task UpdateAsync_ValidCall_WhenUpdateStudentWithOneId()
        {
            await HomeworkService.UpdateAsync(_homeworkDTO);

            RepositoryMock.Verify(m => m.Update(It.IsAny <Homework>()));
            StudentHomeworkUpdaterMock.Verify(s => s.UpdateAsync(It.IsAny <Homework>(),
                                                                 StudentHomeworkUpdater.UpdateType.UpdateHomework, It.IsAny <bool>()));
        }
Esempio n. 13
0
 public ServicesManager(
     DataManager dataManager
     )
 {
     _dataManager     = dataManager;
     _studentService  = new StudentService(_dataManager);
     _teacherService  = new TeacherService(_dataManager);
     _homeworkService = new HomeworkService(_dataManager);
 }
Esempio n. 14
0
        public ActionResult MyHomeworks()
        {
            int id = Int32.Parse(Request.Cookies["UserSettings"].Values["UserId"]);
            List <HomeworkViewModel> homeworksList = new List <HomeworkViewModel>();
            HomeworkService          services      = new HomeworkService();

            homeworksList = services.GetHomeworksByTeacherID(id);
            return(View(homeworksList));
        }
Esempio n. 15
0
        /// <summary>
        /// 查询未提交作业的学生信息
        /// </summary>
        /// <param name="HwId"></param>
        /// <param name="CourseId"></param>
        /// <returns></returns>
        public List <Students> queryUnsubmitStuId(int HwId, int CourseId)
        {
            List <Students> stuIdList = new HomeworkService().queryUnsubmitStuId(HwId, CourseId);
            List <Students> stuList   = new List <Students>();

            foreach (Students stu in stuIdList)
            {
                stuList.Add(new StudentService().queryStuById(stu.StuId));
            }
            return(stuList);
        }
        public void SetUp()
        {
            RepositoryMock             = new Mock <IRepository <Homework> >();
            StudentHomeworkUpdaterMock = new Mock <IStudentHomeworkUpdater>();
            RepositoryMock.Setup(repo => repo.GetAllAsync()).Returns(GetAllTest());
            RepositoryMock.Setup(repo => repo.GetAsync(It.IsAny <int>()))
            .Returns(GetTest());

            HomeworkService = new HomeworkService(RepositoryMock.Object, StudentHomeworkUpdaterMock.Object,
                                                  new MapperBll(), new NullLoggerFactory());
        }
        public void UpdateAsync_ThrowsValidationException()
        {
            RepositoryMock.Setup(repo => repo.GetAsync(It.IsAny <int>()))
            .Returns(GetExceptionTest());

            Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService
                                                     .UpdateAsync(_homeworkDTO));
            Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService
                                                     .UpdateAsync(_homeworkDTOForPresenceException));
            Assert.ThrowsAsync <ValidationException>(async() => await HomeworkService
                                                     .UpdateAsync(_homeworkDTOForNotPresenceException));
        }
Esempio n. 18
0
        /// <summary>
        /// 教师批阅作业
        /// </summary>
        /// <param name="Grade"></param>
        /// <param name="Resist"></param>
        /// <param name="StuId"></param>
        /// <param name="HwId"></param>
        /// <returns></returns>
        public int TeaCheckAns(string Grade, string Resist, int StuId, int HwId)
        {
            int result = new HomeworkService().TeaCheckAns(Grade, Resist, StuId, HwId);

            if (result > 0)
            {
                return(new HomeworkService().TeaChangeAnsSta(StuId, HwId));
            }
            else
            {
                return(0);
            }
        }
Esempio n. 19
0
        public ActionResult Homework(int SelectedTerm, int SelectedGroup, int SelectedType, HomeworkViewModel HVM)
        {
            checkLogin();

            HVM.groupSelectList = SelectedTerm == CP.currentTerm.ID ?
                                  (IEnumerable <SelectListItem>)Session["groupSelectList"] :
                                  StudentGroupService.getGroupSelectList(HVM.SelectedTerm);
            Session["groupSelectList"] = HVM.groupSelectList;
            HVM.typeSelectList         = (IEnumerable <SelectListItem>)Session["typeSelectList"];
            HVM.SelectedTerm           = SelectedTerm;
            HVM.SelectedGroup          = SelectedGroup;
            HVM.SelectedType           = SelectedType;
            HVM.termFilList            = genSelectList(CP.termSelectList, HVM.SelectedTerm);
            HVM.groupFilList           = genSelectList(HVM.groupSelectList, HVM.SelectedGroup);
            HVM.typeFilList            = genSelectList(HVM.typeSelectList, HVM.SelectedType);
            Session["termFilList"]     = HVM.termFilList;
            Session["groupFilList"]    = HVM.groupFilList;
            Session["typeFilList"]     = HVM.typeFilList;

            List <HOMEWORK>     works    = HomeworkService.GetFilteredWorks(HVM.SelectedTerm, HVM.SelectedGroup, HVM.SelectedType); //homeworks
            List <HomeworkView> viewList = new List <HomeworkView>();                                                               //homework in display format

            if (works != null && works.Any())
            {
                for (int h = 0; h < works.Count; h++) //put homeworks into display format
                {
                    HomeworkView view = new HomeworkView();
                    view.ID               = works[h].ID;
                    view.name             = works[h].NAME;
                    view.date_assign      = works[h].ADD_DATE;
                    view.date_due         = works[h].DUE_DATE;
                    view.full_mark        = works[h].FULL_MARK;
                    view.group_id         = works[h].STUDENT_GROUP;
                    view.type_id          = works[h].HOMEWORK_TYPE;
                    view.submission_ratio = works[h].SUBMISSION_RATIO;
                    view.late_ratio       = works[h].LATE_RATIO;
                    view.group_name       = view.group_id > 0 ? DBS.findRecordByID <STUDENT_GROUP>(works[h].STUDENT_GROUP).NAME : string.Empty;
                    view.type_name        = view.type_id > 0 ? DBS.findRecordByID <HOMEWORK_TYPE>(works[h].HOMEWORK_TYPE).NAME : string.Empty;

                    viewList.Add(view);
                }
            }

            HVM.viewList = viewList;

            ModelState.Clear();
            TempData["showForm2"] = false;
            TempData["showForm"]  = false;
            return(View("Homework", HVM));
        }
        public void GetAsync_ValidCall()
        {
            const int id      = 1;
            var       lecture = HomeworkService.GetAsync(id).Result;

            RepositoryMock.Verify(m => m.GetAsync(id));

            Assert.AreEqual(GetTest().Result.Id, lecture.Id);
            Assert.AreEqual(GetTest().Result.StudentId, lecture.StudentId);
            Assert.AreEqual(GetTest().Result.LectureId, lecture.LectureId);
            Assert.AreEqual(GetTest().Result.StudentPresence, lecture.StudentPresence);
            Assert.AreEqual(GetTest().Result.HomeworkPresence, lecture.HomeworkPresence);
            Assert.AreEqual(GetTest().Result.Mark, lecture.Mark);
            Assert.AreEqual(GetTest().Result.Date, lecture.Date);
        }
Esempio n. 21
0
        /// <summary>
        /// 学生提交作业
        /// </summary>
        /// <param name="ans"></param>
        /// <returns></returns>
        public int SubmitHw(Answer_Stu ans)
        {
            int res = new HomeworkService().queryHasSubmited(ans.StuId, ans.HwId);

            if (res > 0)
            {
                return(-1);
            }
            int result = new HomeworkService().SubmitHw(ans);

            if (result > 0)
            {
                return(new HomeworkService().alterFinishNum(ans.HwId));
            }
            return(result);
        }
        public void GetAllAsync_ValidCall()
        {
            var lectures = HomeworkService.GetAllAsync().Result.ToList();

            RepositoryMock.Verify(m => m.GetAllAsync());

            for (var i = 1; i < GetAllTest().Result.Count(); ++i)
            {
                Assert.AreEqual(GetAllTest().Result.ToList()[i].Id, lectures[i].Id);
                Assert.AreEqual(GetAllTest().Result.ToList()[i].StudentId, lectures[i].StudentId);
                Assert.AreEqual(GetAllTest().Result.ToList()[i].LectureId, lectures[i].LectureId);
                Assert.AreEqual(GetAllTest().Result.ToList()[i].StudentPresence, lectures[i].StudentPresence);
                Assert.AreEqual(GetAllTest().Result.ToList()[i].HomeworkPresence, lectures[i].HomeworkPresence);
                Assert.AreEqual(GetAllTest().Result.ToList()[i].Mark, lectures[i].Mark);
                Assert.AreEqual(GetAllTest().Result.ToList()[i].Date, lectures[i].Date);
            }
        }
        public ActionResult Create(HomeworkViewModel homework)
        {
            if (homework.endDate <= DateTime.Now)
            {
                ModelState.AddModelError("", "Please choose another end date!");
                return(View());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    HomeworkService service = new HomeworkService();
                    int             id      = Int32.Parse(Request.Cookies["UserSettings"].Values["UserID"]);
                    homework.TeacherID = id;
                    service.AddHomework(homework);
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists, see your system administrator.");
                    return(View());
                }
                try
                {
                    StudentService           studentService = new StudentService();
                    int                      id             = Int32.Parse(Request.Cookies["UserSettings"].Values["UserID"]);
                    List <StudInfoViewModel> studentsList   = studentService.GetStudentsByTeacherID(id);//all students

                    EmailNotification notification = new EmailNotification(new EmailSender());

                    foreach (var student in studentsList)
                    {
                        notification.NotifystudentWhenHomeworkIsCreated(student.Email, student.FirstName, homework.endDate);
                    }
                }
                catch (Exception)
                {
                    ModelState.AddModelError("", "Unable to send email to all students. Try again, and if the problem persists, see your system administrator.");
                    return(RedirectToAction("MyHomeworks", "Teacher"));
                }
            }


            return(RedirectToAction("MyHomeworks", "Teacher"));
        }
        public async Task UpdateAsync_ValidCall_WhenUpdateStudentWithDifferentId()
        {
            await HomeworkService.UpdateAsync(new HomeworkDTO()
            {
                Id               = 1,
                StudentId        = 2,
                LectureId        = 1,
                StudentPresence  = true,
                HomeworkPresence = true,
                Mark             = 5,
                Date             = new DateTime(2020, 01, 24)
            });

            RepositoryMock.Verify(m => m.Update(It.IsAny <Homework>()));
            StudentHomeworkUpdaterMock.Verify(s => s.UpdateAsync(It.IsAny <Homework>(),
                                                                 StudentHomeworkUpdater.UpdateType.RemoveHomeworkWhileUpdate, It.IsAny <bool>()));
            StudentHomeworkUpdaterMock.Verify(s => s.UpdateAsync(It.IsAny <Homework>(),
                                                                 StudentHomeworkUpdater.UpdateType.AddHomework, It.IsAny <bool>()));
        }
        public void CheckIfMethodGivingPoperHomeworkDto_()
        {
            //Arrange
            var homework          = new Homework();
            var homeworkDto       = new HomeworkDto();
            var homeworkRepoMock  = new Mock <IHomeworkRepo>();
            var entityToDtoMapper = new Mock <IEntityToDtoMapper>();

            homeworkRepoMock.Setup(x => x.GetHomeworkByIds(It.IsAny <int>(), It.IsAny <int>())).Returns(homework); //Dla jakiegokolwiek id kursi i studenta zwroc mi homework
            entityToDtoMapper.Setup(x => x.HomeworkModelToDto(homework)).Returns(homeworkDto);                     //jezeli dostaniesz homework, zwroc mi homeworkDto

            var homeworkService = new HomeworkService(homeworkRepoMock.Object, entityToDtoMapper.Object);          //tworze obiekt homeworkService, który bede zaraz testował

            //Act
            var result = homeworkService.GetHomeworkByIds(1, 1); //dla obojetnie jakich id

            //Assert

            Assert.AreSame(result, homeworkDto); //Sprawdz, czy zwrocil mi HomeworkDTO
        }
Esempio n. 26
0
 public MyConsole()
 {
     this.studentService  = new StudentService();
     this.homeworkService = new HomeworkService();
     this.gradeService    = new GradeService();
 }
Esempio n. 27
0
 public CalendarController(HomeworkService service)
 {
     this._service = service;
 }
Esempio n. 28
0
 /// <summary>
 /// Constructor for HomeworkAddCmd class
 /// </summary>
 /// <param name="srv">Homework service</param>
 public HomeworkAddCmd(HomeworkService srv)
 {
     _srv = srv;
 }
Esempio n. 29
0
 public HomeworkFileParser(AzureHelper fileUploader, HomeworkService service, ILogger <HomeworkFileParser> logger)
 {
     this._logger       = logger;
     this._fileUploader = fileUploader;
     this._service      = service;
 }
Esempio n. 30
0
 public HomeworkController(HomeworkService homeworkService)
 {
     _homeworkService = homeworkService;
 }