/***
         * 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"));
        }
Beispiel #2
0
        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));
        }
Beispiel #5
0
 //Access method
 public void AddSpin(SpinItViewModel s)
 {
     spins.Add(s);
 }