public bool IsTeacher(string id) { var user = _database.UserManager.FindById(id); var role = _database.RoleManager.FindByName(RoleDistributer.GetTeacherRole()); if (user.Roles.First().RoleId == role.Id) { return(true); } return(false); }
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(); }