public ActionResult Index(string order = "asc", string teacherSortId = "all", int subjectSortId = 0) { var coursesDto = _courseService.GetCourses(order, teacherSortId, subjectSortId); if (!User.Identity.IsAuthenticated) { coursesDto = _courseService.GetNotStartedCourses(coursesDto); } if (User.IsInRole(RoleDistributer.GetStudentRole())) { coursesDto = _courseService.CheckSubscribe(User.Identity.GetUserId(), coursesDto); coursesDto = _courseService.GetNotStartedCourses(coursesDto); } var coursesViewModel = _mapper.Map <List <CourseViewModel> >(coursesDto); SortCoursesPanelViewModel sortCoursesPanelViewModel = new SortCoursesPanelViewModel() { OrderParams = _courseService.GetParametersAsListForFilter().ToList(), SubjectSortParams = _subjectService.GetSubjectsAsListForFilter().ToList(), TeacherSortParams = _teacherService.GetTeachersAsListForFilter().ToList() }; var coursesList = new CourseListViewModel() { Course = new CourseViewModel(), Courses = coursesViewModel, PanelViewModel = sortCoursesPanelViewModel }; if (User.IsInRole(RoleDistributer.GetAdminRole())) { return(View("AdminIndex", coursesList)); } return(View("StudentIndex", coursesList)); }
public static MvcHtmlString RenderLayout(this HtmlHelper helper, bool isAuthorize, string role) { StringBuilder builder = new StringBuilder(); if (isAuthorize) { if (role == RoleDistributer.GetAdminRole()) { builder.Append(helper.Partial("_AdminLayout")); } else if (role == RoleDistributer.GetStudentRole()) { builder.Append(helper.Partial("_StudentLayout")); } else if (role == RoleDistributer.GetTeacherRole()) { builder.Append(helper.Partial("_TeacherLayout")); } else if (role == RoleDistributer.GetBlockRole()) { builder.Append(helper.Partial("_BlockedLayout")); } } else { builder.Append(helper.Partial("_NotAuthorizeLayout")); } return(MvcHtmlString.Create(builder.ToString())); }
public IEnumerable <UserDTO> GetUnblockStudents() { var role = _database.RoleManager.FindByName(RoleDistributer.GetStudentRole()); var users = _database.UserManager.Users.Where(x => x.Roles.Select(u => u.RoleId).Contains(role.Id)).ToList() .OrderBy(x => x.SecondName).ThenBy(x => x.FirstName).ThenBy(x => x.Patronymic); var usersDto = _mapper.Map <List <UserDTO> >(users); return(usersDto); }
public OperationDetails CreateStudent(UserDTO userDto) { var userManager = _database.UserManager; ApplicationUser user = userManager.FindByEmail(userDto.Email); if (user != null) { return(new OperationDetails(false, "User with such an email already exists", "Email")); } var userwithSameNumber = userManager.Users.Where(x => x.PhoneNumber == userDto.PhoneNumber).ToList(); if (userwithSameNumber.Count > 0) { return(new OperationDetails(false, "User with such phone number already exists", "PhoneNumber")); } user = new ApplicationUser { Email = userDto.Email, UserName = userDto.Email, FirstName = userDto.FirstName, SecondName = userDto.SecondName, Patronymic = userDto.Patronymic, PhoneNumber = userDto.PhoneNumber, DateOfBirth = userDto.DateOfBirth, Photo = userDto.Photo }; var result = _database.UserManager.Create(user, userDto.Password); if (result.Errors.Count() > 0) { return(new OperationDetails(false, result.Errors.FirstOrDefault(), "")); } _database.UserManager.AddToRole(user.Id, RoleDistributer.GetStudentRole()); _database.Save(); _database.StudentRepository.Create(new Student() { ApplicationUser = user }); _database.Save(); return(new OperationDetails(true, "", "")); }
public ActionResult Profile(string id) { string userId; if (User.IsInRole(RoleDistributer.GetAdminRole()) && id != null) { userId = id; } else { userId = User.Identity.GetUserId(); } var userDto = _userService.GetById(userId); var userViewModel = _mapper.Map <UserViewModel>(userDto); if (User.IsInRole(RoleDistributer.GetStudentRole()) || User.IsInRole(RoleDistributer.GetBlockRole()) || User.IsInRole(RoleDistributer.GetAdminRole()) && User.Identity.GetUserId() != userId && !_teacherService.IsTeacher(userId)) { var notStartedCoursesDto = _courseService.GetNotStartedCourses(userId); var notStartedCoursesViewModel = _mapper.Map <List <CourseViewModel> >(notStartedCoursesDto); var inProcessCoursesDto = _courseService.GetInProcessCourses(userId); var inProcessCoursesViewModel = _mapper.Map <List <CourseViewModel> >(inProcessCoursesDto); var finishedCoursesDto = _courseService.GetFinishedCourses(userId); var finishedCoursesViewModel = _mapper.Map <List <CourseViewModel> >(finishedCoursesDto); var profile = new ProfileCourseViewModel() { UserViewModel = userViewModel, NotStartedCourses = notStartedCoursesViewModel, InProcessCourses = inProcessCoursesViewModel, FinishedCourses = finishedCoursesViewModel }; return(View("StudentProfile", profile)); } return(View(userViewModel)); }
public void Unblock(string userId) { _database.UserManager.RemoveFromRole(userId, RoleDistributer.GetBlockRole()); _database.UserManager.AddToRole(userId, RoleDistributer.GetStudentRole()); _database.Save(); }