示例#1
0
        public UserDisplayDto CreateUser(UserRegisterDto user)
        {
            User createdUser = new User
            {
                FirstName    = user.FirstName,
                LastName     = user.LastName,
                Email        = user.Email,
                PasswordHash = Util.HashHelper.GetMD5HashData(user.Password),
                UserName     = user.UserName,
                CreatedOn    = DateTime.Now
            };

            createdUser = _userRepository.Add(createdUser);

            UserDisplayDto displayUser = new UserDisplayDto
            {
                Id        = user.Id,
                UserName  = user.UserName,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                Email     = user.Email,
            };

            return(displayUser);
        }
示例#2
0
        public UserDisplayDto GetUser(int Id)
        {
            var            user        = _userRepository.GetById(Id);
            UserDisplayDto displayUser = Mapper.Map <User, UserDisplayDto>(user);

            return(displayUser);
        }
示例#3
0
        public List <Course> getCourseFromUser(UserDisplayDto user)
        {
            var courses = new List <Course>();

            if (user.AccountType == "lecturer")
            {
                var personnel = _linkUserWithStudent(user);
                var courseIds = _lecturerCourseRepository.Records.Where(sc => sc.LecturerId == personnel.Id).Select(sc => sc.CourseId).ToList();

                foreach (int id in courseIds)
                {
                    courses.Add(_courseRepository.GetById(id));
                }
            }
            if (user.AccountType == "student")
            {
                var personnel = _linkUserWithStudent(user);
                var courseIds = _studentCourseRepository.Records.Where(sc => sc.StudentId == personnel.Id).Select(sc => sc.CourseId).ToList();

                foreach (int id in courseIds)
                {
                    courses.Add(_courseRepository.GetById(id));
                }
            }
            return(courses);
        }
        public UserDisplayDto CreateUser(UserRegisterDto user)
        {
            User createdUser = new User
            {
                FirstName    = user.FirstName,
                LastName     = user.LastName,
                Email        = user.Email,
                PasswordHash = Utils.HashHelper.GetMD5HashData(user.Password),
                UserName     = user.UserName,
                CreatedOn    = DateTime.Now
            };
            LMSEntities    context        = new LMSEntities();
            UserRepository userRepository = new UserRepository(context);

            createdUser = userRepository.Add(createdUser);

            UserDisplayDto displayUser = new UserDisplayDto
            {
                UserName  = user.UserName,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                Email     = user.Email,
            };

            return(displayUser);
        }
示例#5
0
        public UserDisplayDto UpdateUser(int Id, UserDisplayDto user)
        {
            User updatedUser = Mapper.Map <UserDisplayDto, User>(user);

            updatedUser = _userRepository.Update(updatedUser);
            UserDisplayDto displayUser = Mapper.Map <User, UserDisplayDto>(updatedUser);

            return(displayUser);
        }
示例#6
0
 private Lecturer _linkUserWithLecturer(UserDisplayDto user)
 {
     if (_lecturerRepository.Records.Any(lc => lc.Id == user.PersonalId))
     {
         return(_lecturerRepository.GetById(user.PersonalId));
     }
     else
     {
         return(null);
     }
 }
示例#7
0
 private Student _linkUserWithStudent(UserDisplayDto user)
 {
     if (_studentRepository.Records.Any(st => st.Id == user.PersonalId))
     {
         return(_studentRepository.GetById(user.PersonalId));
     }
     else
     {
         return(null);
     }
 }
示例#8
0
        public IHttpActionResult GetCourseListByUser(UserDisplayDto user)
        {
            if (_userManager.getCourseFromUser(user).Count != 0)
            {
                return(Ok(Mapper.Map <List <Course>, List <CourseDto> >(_userManager.getCourseFromUser(user))));
            }

            else
            {
                return(Ok("You don't have any courses enrolled"));
            }
        }
        public IHttpActionResult UpdateUser(int id, UserDisplayDto user)
        {
            //authentication
            var auth = new CustomAuthentication(ControllerContext);

            if (!auth.AuthenticateUser(User.Identity as ClaimsIdentity, id, out IHttpActionResult result))
            {
                return(result);
            }

            var updatedUser = _userManager.UpdateUser(id, user);

            return(Ok(updatedUser));
        }
示例#10
0
        public UserDisplayDto CreateUser(UserRegisterDto user)
        {
            //User createdUser = new User
            //{
            //    Email = user.Email,
            //    PasswordHash = HashHelper.GetMD5HashData(user.Password),
            //    UserName = user.UserName,
            //    CreateOn = DateTime.Now
            //};

            User createdUser = Mapper.Map <UserRegisterDto, User>(user);

            createdUser = _userRepository.Add(createdUser);

            UserDisplayDto displayUser = Mapper.Map <User, UserDisplayDto>(createdUser);

            return(displayUser);
        }
示例#11
0
        public UserDisplayDto CreateUser(UserRegisterDto user)
        {
            var  isAvailableToCreate = false;
            User createdUser         = new User
            {
                FirstName    = user.FirstName,
                LastName     = user.LastName,
                Email        = user.Email,
                PasswordHash = Util.HashHelper.GetMD5HashData(user.Password),
                UserName     = user.UserName,
                CreatedOn    = DateTime.Now,
                AccountType  = user.AccountType,
                PersonalId   = user.PersonalId
            };

            if (_isStudent(user.AccountType))
            {
                isAvailableToCreate = _studentRepository.Records.Any(st => st.Id == user.PersonalId);
            }
            if (_isLecturer(user.AccountType))
            {
                isAvailableToCreate = _lecturerRepository.Records.Any(st => st.Id == user.PersonalId);
            }
            if (isAvailableToCreate)
            {
                createdUser = _userRepository.Add(createdUser);

                UserDisplayDto displayUser = new UserDisplayDto
                {
                    UserName    = user.UserName,
                    FirstName   = user.FirstName,
                    LastName    = user.LastName,
                    Email       = user.Email,
                    PersonalId  = user.PersonalId,
                    AccountType = user.AccountType
                };

                return(displayUser);
            }
            else
            {
                return(null);
            }
        }
示例#12
0
        public void CreateUser(UserRegisterDto newUser, int id, string userName, string email)
        {
            //set up a in-memory-test-db
            var options = new DbContextOptionsBuilder <MyPetContext>()
                          .UseInMemoryDatabase("Add_users_to_db")
                          .Options;

            //init context
            using (var myPetContext = new MyPetContext(options)) {
                var            userRepository = new UserRepository(myPetContext);
                var            userManager    = new UserManager(userRepository, mapper);
                UserDisplayDto createdUser    = userManager.CreateUser(newUser);

                //verify properties
                Assert.Equal(id, myPetContext.Users.Count());
                Assert.Equal(userName, createdUser.UserName);
                Assert.Equal(email, createdUser.Email);
            }
        }