public async Task <IActionResult> Register(RegData data) { var err = new RegData(); if (await data.CheckRegData(err, _context)) { var user = new User() { Username = data.Username, Email = data.Email, Password = data.Password }; user.CreatePassword(); user.RegDate = DateTime.Now; await _context.AddUser(user); await user.Authenticate(HttpContext); return(CreatedAtAction(nameof(GetPublicUser), new { user.Username }, new PublicUser() { Username = user.Username, RegDate = user.RegDate })); } return(BadRequest(err)); }