public void SaveGameResult(TrainOfWordsParams tParams)
        {
            using (var context = new GameModelContainer())
            {
                var game = context.Games.FirstOrDefault(game1 => game1.Name == "TrainOfWords");

                if (game == null)
                    return;

                var date = DateTime.Now;

                var historyParams = new List<HistoryParam>
                {
                    new HistoryParam
                    {
                        GameParam = game.GameParams.FirstOrDefault(param => param.Name == "Level"),
                        Value = tParams.Level.ToString(CultureInfo.InvariantCulture)
                    }
                };

                var historyResults = new List<HistoryResult>
                {
                    new HistoryResult
                    {
                        GameResult = game.GameResults.FirstOrDefault(param => param.Name == "Correct Trials"),
                        Value = tParams.CorrectTrials
                    },
                    new HistoryResult
                    {
                        GameResult = game.GameResults.FirstOrDefault(param => param.Name == "Failures"),
                        Value = tParams.Failures
                    },
                    new HistoryResult
                    {
                        GameResult = game.GameResults.FirstOrDefault(param => param.Name == "Time"),
                        Value = tParams.Time
                    }
                };

                var history = new History
                {
                    Game = game,
                    Date = date,
                    HistoryParams = historyParams,
                    HistoryResults = historyResults
                };

                var player = context.Players.FirstOrDefault(player1 => player1.Id == _player.Id);

                if (player == null) 
                    return;
                player.Histories.Add(history);
                context.SaveChanges();
            }
        }
Exemple #2
0
        protected virtual void SaveToDatabase()
        {
            Score.Time = DateTime.Now - StartTime;
            var results = new TrainOfWordsParams
            {
                Level = Config.Level,
                CorrectTrials = Score.CorrectTrials,
                Failures = Score.Failures,
                Time = (int)Score.Time.TotalMilliseconds
            };

            var manager = new TrainOfWordsManager(Config.Player);
            manager.SaveGameResult(results);
        }