public UserCreationResultModel CreateUser([FromBody]UserCreationModel model) { if (!ModelState.IsValid) { return new UserCreationResultModel(false, ModelState); } // Check if user exists using (var db = new StatisticsDbContext()) { var existingUsers = db.Users.Where(user => String.Equals(user.Username, model.Username)); if (existingUsers.Any()) { return new UserCreationResultModel(false, new[] { String.Format("User with name '{0}' already exists.", model.Username) }); } db.Users.Add(new User { Username = model.Username, Password = PasswordHash.CreateHashWithRandomSalt(model.Password), Country = model.Country, RegisteredDate = DateTime.Now, LastLoginDate = DateTime.Now }); db.SaveChanges(); return new UserCreationResultModel(true); } }
public LeaderBoard GetLeaderBoard() { using (var stats = new StatisticsDbContext()) { return new LeaderBoard(); } }
public static User GetUserByUsername(string username) { var db = new StatisticsDbContext(); { var currentUser = db.Users.Where(u => String.Equals(u.Username, username)); if (!currentUser.Any()) { return null; } var user = currentUser.ToList().First(); user.Password = String.Empty; return user; } }
public bool AddGame([FromBody]Game game) { if (!ModelState.IsValid) { return false; } using (var db = new StatisticsDbContext()) { var username = RequestContext.Principal.Identity.Name; var user = UserUtils.GetUserByUsername(username); game.GameID = 0; game.UserID = user.UserID; game.PlayedDate = DateTime.Now; var newGame = db.Games.Add(game); db.SaveChanges(); Debug.WriteLine("GameID:{0}, UserID:{1}", newGame.GameID, newGame.UserID); } return true; }
public IPrincipal CreatePrincipal(string username, string password) { var loginModel = new UserLoginModel(username, password); var context = new ValidationContext(loginModel); var results = new List<ValidationResult>(); if (!Validator.TryValidateObject(loginModel, context, results)) { return null; } using (var db = new StatisticsDbContext()) { var existingUsers = db.Users.Where(user => String.Equals(user.Username, loginModel.Username)); if (!existingUsers.Any()) { return null; } var identity = new GenericIdentity(loginModel.Username); IPrincipal principal = new GenericPrincipal(identity, new[] { "User" }); return principal; } }