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 UserAdditional() { Address = model.Address, Image = "default.jpg", DataRegister = DateTime.Now.ToShortDateString(), PublishCount = "0", 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.GetErrorByIdentityResult(result) }); } else { result = _userManager.AddToRoleAsync(user, "User").Result; userProFile.UserRole = "User"; _eFContext.UserAdditional.Add(userProFile); _eFContext.SaveChanges(); } return(new ResultDTO { Status = 200, Message = "OK" }); } catch (Exception e) { return(new ResultDTO { Status = 500, Message = e.Message }); } }