/*** * Spin Action - Game Play **/ public IActionResult SpinIt(SpinItViewModel spinViewModel) //TODO: replace the parameter with a ViewModel { SpinItViewModel spin = new SpinItViewModel { Luck = spinViewModel.Luck, A = random.Next(1, 10), B = random.Next(1, 10), C = random.Next(1, 10) }; spin.Winning = (spin.A == spin.Luck || spin.B == spin.Luck || spin.C == spin.Luck); //Add to Spin Repository _repository.AddSpin(spin); //Update Balance _repository.CurrentPlayer.ChargeSpin(); if (spin.Winning == true) { _repository.CurrentPlayer.CollectWinnings(); } //TODO: Clean up ViewBag using a SpinIt ViewModel instead ViewBag.ImgDisplay = (spin.Winning) ? "block" : "none"; ViewBag.FirstName = spinViewModel.FirstName; ViewBag.Balance = _repository.CurrentPlayer.Balance; if (_repository.CurrentPlayer.Balance.CompareTo(0.5m) >= 0) { return(View(spin)); } return(RedirectToAction("LuckList")); }
public IActionResult SpinIt(long id) { //** Gets the Player belonging to the given id //TODO: Modify the code to use the SingleOrDefault Lamda Extension method //TODO: Then Include the Players Spins collection Player player = _dbc.Players .Include(p => p.Spins) .SingleOrDefault(x => x.Id == id); // Populates a new SpinItViewModel for this spin // using the player information SpinItViewModel spinItVM = new SpinItViewModel() { FirstName = player.FirstName, Luck = player.Luck, Balance = player.Balance }; //Checks if enough balance to play, if not drop out to LuckList if (!spinItVM.ChargeSpin()) { return(RedirectToAction("LuckList", new { id = player.Id })); } // Checks for Winnings if (spinItVM.Winner) { spinItVM.CollectWinnings(); } //** Updates Player Balance player.Balance = spinItVM.Balance; Spin spin = new Spin() { IsWinning = spinItVM.Winner }; //** Adds the Spin to the Database Context //TODO: Modify the next line to use the player's Spins collection instead //_dbc.Spins.Add(spin); player.Spins.Add(spin); _dbc.Add(spin); //**** Saves all the changes to the Database at once _dbc.SaveChanges(); return(View("SpinIt", spinItVM)); }
public IActionResult Index(Player player) { if (!ModelState.IsValid) { return(View()); } // TODO: Add the Player to the Repository _repository.CurrentPlayer = player; // TODO: Build a new SpinItViewModel object with data from the Player and pass it to the View SpinItViewModel spinViewModel = new SpinItViewModel(); spinViewModel.FirstName = player.FirstName; spinViewModel.Balance = player.Balance; return(RedirectToAction("SpinIt", spinViewModel)); }
/*** * Spin Action - Game Play **/ public IActionResult SpinIt(SpinItViewModel spinItView) //TODO: replace the parameter with a ViewModel { SpinItViewModel spin = new SpinItViewModel { Luck = spinItView.Luck, A = random.Next(1, 10), B = random.Next(1, 10), C = random.Next(1, 10) }; spin.Winning = (spin.A == spin.Luck || spin.B == spin.Luck || spin.C == spin.Luck); //Add to Spin Repository _repository.AddSpin(spin); //TODO: Clean up ViewBag using a SpinIt ViewModel instead ViewBag.ImgDisplay = (spin.Winning) ? "block" : "none"; ViewBag.FirstName = spinItView.FirstName; ViewBag.Balance = spinItView.Balance; return(View(spin)); }
//Access method public void AddSpin(SpinItViewModel s) { spins.Add(s); }