public async Task <ResultDTO> Register([FromBody] UserRegisterDTO model) { try { if (!ModelState.IsValid) { return(new ResultErrorDTO { Status = 403, Message = "ERROR", Errors = CustomValidator.GetErrorsByModel(ModelState) }); } var user = new User() { UserName = model.Email, Email = model.Email, PhoneNumber = model.Phone }; var userProfile = new UserAdditionalInfo() { Address = model.Address, Image = "default.jpg", FullName = model.FullName, Id = user.Id }; IdentityResult result = await _userManager.CreateAsync(user, model.Password); if (!result.Succeeded) { return(new ResultErrorDTO { Message = "ERROR", Status = 500, Errors = CustomValidator.GetErrorsByIdentotyResult(result) }); } else { result = _userManager.AddToRoleAsync(user, "User").Result; _context.UserAdditionalInfos.Add(userProfile); _context.SaveChanges(); } return(new ResultDTO { Status = 200, Message = "OK" }); } catch (Exception e) { return(new ResultDTO { Status = 500, Message = e.Message, }); } }