public async Task <User> CreateUser(string username, string email, string passwordHash) { User result = null; IMobileServiceTable <User> userTable = m_MobileService.GetTable <User>(); User match = await GetUser(username); //if this user doesn't exist, create it if (match == null) { User newUser = new User(); newUser.UserName = username; newUser.Email = email; newUser.PasswordHash = passwordHash; newUser.IsEligible = false; await userTable.InsertAsync(newUser); List <User> matches = await userTable.Where(item => item.UserName == username).ToListAsync(); result = matches.First(); } else { //user shouldn't exist, return null return(null); } List <UserGame> userGames = await m_MobileService.GetTable <UserGame>().Where(item => item.UserId == result.Id).ToListAsync(); if (userGames.Count == 0) { //new user, must create UserGames int confidence = 1; foreach (Game game in await GetGames()) { UserGame newUserGame = new UserGame(); newUserGame.UserId = result.Id; newUserGame.Confidence = confidence; newUserGame.WinnerTeamId = string.Empty; newUserGame.GameId = game.Id; await m_MobileService.GetTable <UserGame>().InsertAsync(newUserGame); confidence++; } } return(result); }
public async Task DeleteUserGame(UserGame userGame) { IMobileServiceTable <UserGame> userGameTable = m_MobileService.GetTable <UserGame>(); await userGameTable.DeleteAsync(userGame); }