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();
            }
        }
Beispiel #3
0
 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;
     }
 }