public JObject Login([FromBody] UserModel userModel)
        {
            if (!ModelState.IsValid)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet
                {
                    ResultCode = ResultCode.Error,
                    Message = string.Join("\n", ModelState.Values.Select(x => x.Errors).SelectMany(x => x).Select(x => x.ErrorMessage))
                })));
            }
            MainDBContext mainDBContext = new MainDBContext();
            var           user          = mainDBContext.Users.FirstOrDefault(x => x.Nickname == userModel.Login);

            if (user != null)
            {
                if (CryptService.GetMd5Hash(userModel.Password) == user.PasswordHash)
                {
                    return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet
                    {
                        ResultCode = ResultCode.Success,
                        WorkID = user.ID,
                        IsTestWork = mainDBContext.Statisics.Where(x => x.User == user).Count() > 0
                    })));
                }
            }
            return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                ResultCode = ResultCode.ErrorLoginPassword
            })));
        }
Exemple #2
0
        public JObject Register([FromBody] RegisterModel registerModel)
        {
            if (!ModelState.IsValid)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet
                {
                    ResultCode = ResultCode.Error,
                    Message = string.Join("\n", ModelState.Values.Select(x => x.Errors).SelectMany(x => x).Select(x => x.ErrorMessage))
                })));
            }
            if (registerModel.Password != registerModel.PasswordConfirmed)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                    ResultCode = ResultCode.ErrorLoginPassword
                })));
            }
            MainDBContext mainDBContext = new MainDBContext();

            if (mainDBContext.Users.FirstOrDefault(x => x.Nickname == registerModel.Login) != null)
            {
                return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                    ResultCode = ResultCode.ErrorLoginPassword, WorkID = 0
                })));
            }
            var user = new User
            {
                Nickname     = registerModel.Login,
                PasswordHash = CryptService.GetMd5Hash(registerModel.Password),
                Birthday     = registerModel.Birthday,
                Sex          = registerModel.Sex
            };

            mainDBContext.Entry(user).State = Microsoft.EntityFrameworkCore.EntityState.Added;
            mainDBContext.SaveChanges();
            return(JObject.Parse(JsonConvert.SerializeObject(new UniversalActionNet {
                ResultCode = ResultCode.Success, WorkID = user.ID
            })));
        }