예제 #1
0
        public async Task <IHttpActionResult> RegisterTeacher(TeacherRegistrationDto userModel)
        {
            var userData = IdentityHelper.GetLoggedInUser(RequestContext);

            logger.Trace("Register Teacher {@teacherReg} by {@userData}", userModel, userData);

            var result = await service.RegisterTeacher(userModel);

            logger.Info("Created Teacher {@userId}", result.TeacherId);

            return(CreatedAtRoute("GetTeacherById", new { teacherId = result.TeacherId }, result));
        }
예제 #2
0
 /// <summary>
 /// Convert a registration dto to full entity
 /// </summary>
 /// <param name="teacherReg"></param>
 /// <returns></returns>
 public static TeacherUser TeacherRegistrationDtoToTeacher(TeacherRegistrationDto teacherReg)
 {
     return(new TeacherUser()
     {
         UserName = teacherReg.UserName,
         FirstName = teacherReg.FirstName,
         LastName = teacherReg.LastName,
         Gender = teacherReg.Gender,
         Email = teacherReg.Email,
         PhoneNumber = teacherReg.PhoneNumber,
         Degree = teacherReg.Degree,
         Title = teacherReg.Title
     });
 }
예제 #3
0
        /// <summary>
        /// Register a teacher
        /// </summary>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public async Task <TeacherDto> RegisterTeacher(TeacherRegistrationDto userModel)
        {
            TeacherUser user = TeachersConverter.TeacherRegistrationDtoToTeacher(userModel);

            var result = await db.AuthRepository.RegisterTeacherUser(user, userModel.Password);

            if (!result.Succeeded)
            {
                var ex = new UserRegistrationException(result.Errors.ToArray());
                ex.Data.Add("IdentityResultErrors", result.Errors.ToArray());
                throw ex;
            }

            user = await db.AuthRepository.FindUserByUserName(userModel.UserName) as TeacherUser;

            return(TeachersConverter.TeacherToTeacherDto(user));
        }