Ejemplo n.º 1
0
        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;
                }
            }
        }
Ejemplo n.º 2
0
        public IActionResult Register([FromBody] RegisterQO reg)
        {
            try
            {
                _userService.Register(reg);
            }
            catch (InvalidCastException e)
            {
                return(NotFound(new { msg = e.Message }));
            }

            return(Ok(new { msg = "注册成功" }));
        }