public void Register(RegisterQO reg) { var number = reg.Number; var password = reg.Password; var username = reg.Username; var imgUrl = reg.ImgUrl; var stu = _context.StudentMeta.FirstOrDefault(s => s.Number == number); if (stu == null) { throw new InvalidCastException("学号不存在"); } var studentId = _context.Students.FirstOrDefault(s => s.Number == number); if (studentId != null) { throw new InvalidCastException("此学号已注册"); } var name = _context.Users.FirstOrDefault(u => u.UserName == username); if (name != null) { throw new InvalidCastException("此用户名已存在"); } using (var transaction = _context.Database.BeginTransaction()) { try { var newUser = new Users { UserName = username, Password = password, UserType = 0, ImgUrl = imgUrl }; _context.Users.Add(newUser); _context.SaveChanges(); var newStudent = new Students { StudentId = _context.Users.First(u => u.UserName == username).UserId, Number = number }; _context.Students.Add(newStudent); _context.SaveChanges(); transaction.Commit(); } catch (Exception e) { Console.WriteLine(e); throw; } } }
public IActionResult Register([FromBody] RegisterQO reg) { try { _userService.Register(reg); } catch (InvalidCastException e) { return(NotFound(new { msg = e.Message })); } return(Ok(new { msg = "注册成功" })); }