コード例 #1
0
        public void UpdateTable()
        {
            var contest = new Contest {
                ContestId = 1011, ManagerId = 4002, ContestTypeId = 1, TimePeriodId = 1, WinnerId = 2026
            };
            var database = new DataBaseRepo();
            var result   = database.Update(contest);

            Assert.Equal(ExecuteCodes.SuccessToExecute, result);
        }
コード例 #2
0
        public Contest GetWinnerOfContest(Contest contest)
        {
            var result   = 0;
            var database = new DataBaseRepo();

            var players = database
                          .GetAll(new ContestParticipants())
                          .Cast <ContestParticipants>()
                          .Where(p => contest.ContestId == p.ContestId)
                          .ToList();

            var series = database
                         .GetAll(new Serie())
                         .Cast <Serie>()
                         .Where(s => contest.ContestId == s.ContestId)
                         .ToList();

            var scores = database.GetAll(new Score())
                         .Cast <Score>()
                         .ToList();

            var higherScore  = 0;
            var currentScore = 0;

            foreach (var serie in series)
            {
                var listOfSerieIdsAndPartyIds = new Dictionary <int, int>();
                if (players.FirstOrDefault(p => serie.PartyId == p.CompetitorId) != null)
                {
                    listOfSerieIdsAndPartyIds.Add(serie.PartyId, serie.SerieId);
                }

                if (listOfSerieIdsAndPartyIds.Count != 0)
                {
                    foreach (var item in listOfSerieIdsAndPartyIds)
                    {
                        var quantity = (Quantity)database.GetObject(scores.First(sco => item.Value == sco.SerieId).QuantityId.ToString(), new Quantity());
                        higherScore = quantity.Amount;
                        if (higherScore > currentScore)
                        {
                            currentScore = higherScore;
                            result       = item.Key;
                        }
                    }
                }
            }
            contest.WinnerId = result;
            database.Update(contest);
            return(contest);
        }