Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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, "", ""));
        }
Esempio n. 3
0
        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));
        }
Esempio n. 4
0
 public void Unblock(string userId)
 {
     _database.UserManager.RemoveFromRole(userId, RoleDistributer.GetBlockRole());
     _database.UserManager.AddToRole(userId, RoleDistributer.GetStudentRole());
     _database.Save();
 }