示例#1
0
        public async Task <IHttpActionResult> PutScoreboard(int id, Scoreboard scoreboard)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != scoreboard.ScoreboardID)
            {
                return(BadRequest());
            }

            db.Entry(scoreboard).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ScoreboardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            await updateTextElements(scoreboard.TextElements);
            await UpdatePlayerElements(scoreboard.PlayerElements);

            return(StatusCode(HttpStatusCode.NoContent));
        }
        public ActionResult Edit(Player_Score playerScore)
        {
            if (ModelState.IsValid)
            {
                _context.Entry(playerScore).State = EntityState.Modified;
                playerScore.ModifiedDate          = DateTime.Now;
                _context.SaveChanges();
                return(RedirectToAction("ShowPlayerDetails"));
            }

            return(View(playerScore));
        }
        public async Task <IActionResult> PutScoreBoard(long id, ScoreBoard scoreBoard)
        {
            if (id != scoreBoard.PlayerId)
            {
                return(BadRequest());
            }

            _context.Entry(scoreBoard).State = EntityState.Modified;

            try
            {
                BowlingGame game   = new BowlingGame();
                Frames      frames = JsonConvert.DeserializeObject <Frames>(scoreBoard.FramesData);

                scoreBoard.TotalScore = 0;

                for (int frameIndex = 0; frameIndex < frames.frames.Count; frameIndex++)
                {
                    Frame eachframe = new Frame();
                    eachframe.Roll_1 = frames.frames[frameIndex].Roll_1;
                    eachframe.Roll_2 = frames.frames[frameIndex].Roll_2;
                    if (game.isStrike(eachframe.Roll_1, eachframe.Roll_2))
                    {
                        scoreBoard.TotalScore += 10 + frames.frames[frameIndex + 1].Roll_1 + frames.frames[frameIndex + 1].Roll_2;
                    }
                    else if (game.isSpare(eachframe.Roll_1, eachframe.Roll_2))
                    {
                        scoreBoard.TotalScore += 10 + frames.frames[frameIndex + 1].Roll_1;
                    }
                    else
                    {
                        scoreBoard.TotalScore += frames.frames[frameIndex].Roll_1 + frames.frames[frameIndex].Roll_2;
                    }
                }

                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ScoreBoardExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }