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()); }
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); }
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); }