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 }))); }
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 }))); }