public DummyApplicationDbContext() { //USERS //Gewone user Student = new ItlabUser { Firstname = "Brad", Lastname = "Pitt", Username = "******", UserStatus = UserStatus.ACTIVE, UserType = UserType.USERITLAB }; Hoofdverantwoordelijke = new ItlabUser(); Verantwoordelijke = new ItlabUser(); Users = new[] { Student }; //SESSIONS //Session1 Session1 = new Session { Title = "Coderen voor blinden", Id = 1, Eventdate = new DateTime(2020, 01, 01), Maxattendee = 100 }; Sessions = new[] { Session1 }; //FEEDBACK }
public SessionTest() { _dummyClassroom = new Classroom() { Classid = "classroom", Campus = Campus.GENT, Maxseats = 50, Roomcategory = RoomCategory.ITLAB }; _dummyUser = new ItlabUser() { Firstname = "firstname", Lastname = "lastname", Username = "******", UserType = UserType.RESPONSIBLE, UserStatus = UserStatus.ACTIVE, Password = "******" }; _dummyUserBlocked = new ItlabUser() { Firstname = "firstname", Lastname = "lastname", Username = "******", UserType = UserType.RESPONSIBLE, UserStatus = UserStatus.BLOCKED, Password = "******" }; _dummyUserNonactive = new ItlabUser() { Firstname = "firstname", Lastname = "lastname", Username = "******", UserType = UserType.RESPONSIBLE, UserStatus = UserStatus.NONACTIVE, Password = "******" }; TimeSpan ts = new TimeSpan(15, 50, 0); TimeSpan startTime = ts; TimeSpan endTime = ts.Add(new TimeSpan(0, 50, 0)); _session = new Session() { Id = 1, Endhour = endTime, Starthour = startTime, Maxattendee = 10, ClassroomClass = _dummyClassroom }; }
public IActionResult Index(int id, FeedbackViewModel feedbackViewModel) { //ItlabUser loggedInUser = IUserRepository.LoggedInUser; ItlabUser loggedInUser = _usersRepository.GetLoggedInUser(); Session session = _sessionRepository.GetById(id); if (session == null) { return(NotFound()); } try { if (!session.hasUserAttended(loggedInUser.Username)) { throw new InvalidOperationException(); } if (!session.Stateenum.Equals(State.FINISHED)) { throw new InvalidOperationException(); } session.AddFeedback(loggedInUser, feedbackViewModel.Feedback); _sessionRepository.SaveChanges(); TempData["message"] = $"Bedankt voor jouw feedback!"; } catch { TempData["error"] = "Sorry, er ging iets mis."; } return(RedirectToAction(nameof(Index), id)); }
private void addLoggedInUser() { //Because of cookies a user can already be signed in when the application opens, //when this is the case, the loggedInUser in this class won't be set. Therefor we have to check manually if this is the case. var user = _httpContextAccessor.HttpContext.User; IUserRepository.LoggedInUser = GetById(_userManager.GetUserId(user)); UserRepository.LoggedInUser = GetById(_userManager.GetUserId(user)); }
public void IndexuserLoggedInAndFeeback_GivesSessionBasedOnIdAndCorrectViewData() { Session session = new Session() { Id = 21, Title = "Testen testen testen", Description = "We testen live een SessionController klasse uit", Nameguest = "*****@*****.**", Eventdate = new DateTime(), Starthour = DateTime.Now.TimeOfDay.Add(TimeSpan.FromHours(2)), Endhour = DateTime.Now.TimeOfDay.Add(TimeSpan.FromHours(4)) }; ItlabUser user = new ItlabUser() { Firstname = "Mister", Lastname = "AdminMan", UserStatus = UserStatus.ACTIVE }; _sessionRepository.Setup(m => m.GetById(21)).Returns(session); IUserRepository.LoggedInUser = user; session.AddFeedback(user, "Top sessie"); var result = Assert.IsType <ViewResult>(_sessionController.Index(21)); var model = Assert.IsType <Session>(result.Model); Assert.Equal(session.Id, model.Id); Assert.Equal(session.Title, model.Title); Assert.Equal(session.Description, model.Description); Assert.Equal(session.Eventdate, model.Eventdate); var userLoggedIn = Assert.IsType <bool>(result.ViewData["UserLoggedIn"]); Assert.True(userLoggedIn); var userAlreadyRegistered = Assert.IsType <bool>(result.ViewData["UserAlreadyRegistered"]); Assert.False(userAlreadyRegistered); var userAttended = Assert.IsType <bool>(result.ViewData["UserAttended"]); Assert.False(userAttended); var sessionIsFinished = Assert.IsType <bool>(result.ViewData["SessionIsFinished"]); Assert.False(sessionIsFinished); var feedback = result.ViewData["Feedback"]; var feedbackList = Assert.IsAssignableFrom <ICollection <Feedback> >(feedback); Assert.Single(feedbackList); }
public IActionResult RegisterForSession(int id) { Session session = _sessionRepository.GetById(id); if (session == null) { return(NotFound()); } ItlabUser loggedInUser = IUserRepository.LoggedInUser; try { if (session.RegisterdUser.Any(e => e.UserUsernameNavigation.Equals(loggedInUser))) { session.RemoveRegisteredUser(loggedInUser); TempData["message"] = $"Je bent uitgeschreven voor deze sessie."; } else { session.AddRegisteredUser(loggedInUser); TempData["message"] = $"Je bent ingeschreven voor deze sessie."; } _sessionRepository.SaveChanges(); _usersRepository.SaveChanges(); } catch (Exception e) { if (e is ArgumentException) { TempData["error"] = e.Message; } else { TempData["error"] = "Sorry, er ging iets mis..."; } } return(RedirectToAction("index", new { id })); }
public IActionResult SessionAddAttendeesConfirmed(int id, UserAttendViewModel insertedUser) { Session session = _sessionRepository.GetById(id); ItlabUser userAttend = _userRepository.GetById(insertedUser.Email); if (userAttend != null && session != null) { try { if (session.AttendeeUser.Any(e => e.UserUsernameNavigation.Equals(userAttend))) { session.RemoveAttendeeUser(userAttend); _sessionRepository.SaveChanges(); TempData["message"] = $"{userAttend.Username} is afgemeld"; } else { session.AddAttendeeUser(userAttend); _sessionRepository.SaveChanges(); TempData["message"] = $"{userAttend.Username} is aangemeld"; } } catch (Exception e) { TempData["error"] = e.Message; } } else { TempData["error"] = $"Er ging iets fout {insertedUser.Email} niet gevonden"; } return(View(new UserAttendViewModel() { Session = session })); }
public IActionResult Index(int id) { Session session = _sessionRepository.GetById(id); if (session == null) { return(NotFound()); } ItlabUser loggedInUser = IUserRepository.LoggedInUser; if (loggedInUser == null) //wanneer er niemand ingelogd is { ViewData["UserLoggedIn"] = false; } else { ViewData["UserLoggedIn"] = true; ViewData["UserAlreadyRegistered"] = session.IsUserRegistered(IUserRepository.LoggedInUser.Username); //de ingelogde user is al geregistreerd voor deze sessie ViewData["UserAttended"] = session.AttendeeUser.Any(e => e.UserUsername == loggedInUser.Username); // ViewData["DeadlineForFeedback"] = session.GiveDeadlineForFeedback(); } ViewData["SessionIsFinished"] = session.Stateenum.Equals(State.FINISHED); if (session.Feedback.Count > 0) { ViewData["Feedback"] = session.Feedback; } List <Image> listImages = _sessionRepository.GetImages(id); ViewData["Images"] = listImages; ViewBag.Images = listImages; return(View(session)); }