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"));
            }
        }
Beispiel #3
0
        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));
        }
Beispiel #4
0
 public RegisterStudentActionTests()
 {
     mediatorSpy = new MediatorSpy();
     controller  = new StudentsController(mediatorSpy);
     request     = new RegisterStudentRequest();
 }