public static void SyncGames() { RuntimeAddGame.SyncDll(); List <IGame> loadedGames = RuntimeAddGame.LoadedGames; List <IGame> notYetSavedGames = loadedGames.Except(SavedAvailableGames).ToList(); notYetSavedGames.ForEach(AddGame); _allAvailableGames = SavedAvailableGames; SerializeHandling.Serialize(_allAvailableGames); }
public static IGame AddGame(IGame newGameProto) { if (_currentUser == null) { throw new ArgumentNullException(); } var newGame = new GamePlaceHolder(newGameProto, _currentUser.ID); _currentUser.OwnedGames.Add(newGame); SerializeHandling.Serialize(_users); return(newGame); }
public static void UserMenu(User currentUser) { PrintUnderlined($"What do you want to do, {currentUser.Name}?"); do { Console.WriteLine("1. List all my Games"); Console.WriteLine("2. List all Games i can buy"); Console.WriteLine("3. Enter command"); Console.WriteLine("4. List Games from friend"); Console.WriteLine("5. Borrow Game from friend"); Console.WriteLine("6. Any Borrow Requests?"); Console.WriteLine("7. Lend Games"); Console.WriteLine("8. Reclaim Games"); Console.WriteLine("9. Log out"); switch (Console.ReadLine()?.ToLower()) { case "1": case "1.": case "list all my games": { Console.WriteLine("Owned Games:"); ListGames(currentUser.OwnedGames, true); Console.WriteLine("Borrowed Games:"); ListGames(currentUser.BorrowedGames); break; } case "2": case "2.": case "list all games i can buy": { ListGames(currentUser.BuyableGames); break; } case "3": case "3.": case "command": case "enter command": { Configure(currentUser)?.Execute(); break; } case "4": case "4.": case "list games from friend": { User friend = InputFriendName(); if (friend != null) { ListGames(friend.OwnedGames); } break; } case "5": case "5.": case "borrow": case "borrow game from friend": { User friend = InputFriendName(); if (friend == null) { break; } IGame game = ChooseGameFromList(friend.OwnedGames); if (game != null) { game._userWhoWantsToBorrow = currentUser.ID; } break; } case "6": case "6.": case "requests": { ListGames(currentUser.WantsToBeBorrowed, true); break; } case "7": case "7.": case "lend": case "lend games": { ListGames(currentUser.WantsToBeBorrowed, true); IGame game = ChooseGameFromList(currentUser.WantsToBeBorrowed); currentUser.Lend(game); break; } case "8": case "8.": case "reclaim": case "reclaim games": { var borrowedOut = currentUser.OwnedGames.Where(g => g.IsLent).ToList(); ListGames(borrowedOut, true); IGame game = ChooseGameFromList(borrowedOut); currentUser.Reclaim(game); break; } case "9": case "9.": case "logout": case "log out": { return; } default: { PrintUnderlined($"{currentUser.Name}, please choose one of the following:"); break; } } SerializeHandling.SyncSerialize(); } while (true); }
public static User Intro() { PrintUnderlined("What do you want to do?"); do { Console.WriteLine("1. Login"); Console.WriteLine("2. Register"); Console.WriteLine("3. List all available Games"); Console.WriteLine("4. Sync Games"); Console.WriteLine("9. Exit Console"); string input = Console.ReadLine()?.ToLower(); User user; switch (input) { case "1": case "1.": case "login": { user = Login(); if (user != null) { Console.WriteLine($"Hi, {user.Name}!"); return(user); } break; } case "2": case "2.": case "register": { user = Register(); if (user != null) { Console.WriteLine($"Welcome, {user.Name}!"); return(user); } break; } case "3": case "3.": case "list": case "list all available games": { ListGames(GameManagement.AllAvailableGames); break; } case "4": case "4.": case "sync games": { GameManagement.SyncGames(); break; } case "9": case "9.": case "exit": case "exit console": return(null); default: { PrintUnderlined("Please choose one of the following:"); break; } } SerializeHandling.SyncSerialize(); } while (true); }
public static void AddGame(IGame newGame) { _savedAvailableGames.Add(newGame); SerializeHandling.Serialize(_savedAvailableGames); }
public static void AddUser(User newUser) { _users.Add(newUser); SerializeHandling.Serialize(_users); }