/// <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)); }
/// <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)); }