Example #1
0
        /// <summary>
        /// Register a student
        /// </summary>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public async Task <StudentDto> RegisterStudent(StudentRegistrationDto userModel)
        {
            StudentUser user = StudentsConverter.StudentRegistrationDtoToStudent(userModel);

            var result = await db.AuthRepository.RegisterStudentUser(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 StudentUser;

            return(StudentsConverter.StudentToStudentDto(user));
        }
Example #2
0
        /// <summary>
        /// Register an admin
        /// </summary>
        /// <param name="userModel"></param>
        /// <returns></returns>
        public async Task <AdminDto> RegisterAdmin(AdminRegistrationDto userModel)
        {
            logger.Trace("layer={0} class={1} method={2} stage={3}", "service", "users", "registerAdmin", "init");

            AdminUser user = Converters.AdminsConverter.AdminRegistrationDtoToAdmin(userModel);

            var result = await db.AuthRepository.RegisterAdminUser(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 AdminUser;

            return(Converters.AdminsConverter.AdminToAdminDto(user));
        }