public async Task <IActionResult> Register([FromBody] RegisterStudentRequest request) { var command = new RegisterStudentCommand(request.Name, request.Email); var result = await mediator.Send(command); return(FromPresenter(new RegisterStudentPresenter(result))); }
public async Task <ApiResult <bool> > Register(RegisterStudentRequest request) { var user = await _userManager.FindByNameAsync(request.UserName); if (user != null) { return(new ApiErrorResult <bool>("Tài khoản đã tồn tại")); } if (await _userManager.FindByEmailAsync(request.Email) != null) { return(new ApiErrorResult <bool>("Email đã tồn tại")); } var role = await _roleManager.FindByNameAsync("student"); user = new AppUser() { UserName = request.UserName, Email = request.Email, FullName = request.FullName, Type = "student", //UrlImg= await this.SaveFile(request.ThumbnailImage), DateCreate = DateTime.UtcNow.AddHours(7), DateUpdate = DateTime.UtcNow.AddHours(7) }; var resultCreateUser = await _userManager.CreateAsync(user, request.Password); var resultRole = await _userManager.AddToRoleAsync(user, role.Name); if (resultCreateUser.Succeeded && resultRole.Succeeded) { var newUser = await _userManager.FindByNameAsync(request.UserName); if (newUser != null) { var student = new Student() { Id = newUser.Id, FullName = request.FullName, Email = request.Email, //UrlImg = newUser.UrlImg, DateCreate = DateTime.UtcNow.AddHours(7), DateUpdate = DateTime.UtcNow.AddHours(7) }; _context.Students.Add(student); await _context.SaveChangesAsync(); } return(new ApiSuccessResult <bool>("Đăng ký tài khoản thành công")); } else { return(new ApiErrorResult <bool>("Đăng ký tài khoản không thành công")); } }
public async Task <IActionResult> Register([FromBody] RegisterStudentRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var result = await _studentService.Register(request); if (!result.IsSuccessed) { return(BadRequest(result)); } return(Ok(result)); }
public RegisterStudentActionTests() { mediatorSpy = new MediatorSpy(); controller = new StudentsController(mediatorSpy); request = new RegisterStudentRequest(); }