示例#1
0
 public IActionResult Add(AddCourseViewData model)
 {
     if (ModelState.IsValid)
     {
         model.Name = model.Name.Trim();
         var doesAlreadyExist = coursesService
                                .GetAllCourses()
                                .Any(course => course.Name.Equals(model.Name, StringComparison.InvariantCultureIgnoreCase) &&
                                     course.CourseType.Type == model.CourseType.Value &&
                                     course.AcademicYear.Year == model.Year);
         if (doesAlreadyExist)
         {
             ModelState.AddModelError("CourseAlreadyExist", "Kurs już istnieje");
         }
         if (ModelState.IsValid)
         {
             var course = new Course
             {
                 AuthorID       = userManager.GetUserId(User),
                 AcademicYearID = coursesService.GetAcademicYearID(model.Year.Value),
                 CourseTypeID   = coursesService.GetCourseTypeID(model.CourseType.Value),
                 Name           = model.Name
             };
             var addedCourse = coursesService.AddCourse(course);
             coursesService.SignUp(userManager.GetUserId(User), addedCourse.CourseID);
             TempData["Toast"] = Toasts.CourseAdded;
             return(RedirectToAction("Index", "Announcements"));
         }
     }
     return(View());
 }
示例#2
0
        public int AddCourse(CourseDTO course)
        {
            AuthenticationService auth = new AuthenticationService(services);
            string login = HttpContext.Session.GetString("User_Login");

            if (auth.IsCoach(login))
            {
                CoursesService service = new CoursesService(services);
                return(service.AddCourse(course, login));
            }
            return(0);
        }
示例#3
0
        public async Task AddCourse_ShouldAddNewCourse()
        {
            var coursesRepoBuilder = new CoursesRepositoryBuilder();
            var courseRepo         = coursesRepoBuilder
                                     .WithAll()
                                     .Build();

            var sut = new CoursesService(null, courseRepo, null, Mapper);

            await sut.AddCourse(new ViewModels.CreateCourseViewModel()
            {
                Title                = "New course",
                Image                = SetupFileMock().Object,
                Description          = "Test create course",
                MaxCountParticipants = 11,
                StartDate            = DateTime.Now.AddDays(1),
                DurationOfDays       = 7
            },
                                new GoUser { Id = "7" });

            coursesRepoBuilder.CoursesRepoMock.Verify(r => r.AddAsync(It.IsAny <Course>()), Times.Once);
            coursesRepoBuilder.CoursesRepoMock.Verify(r => r.SaveChangesAsync(), Times.Once);
        }