コード例 #1
0
 public static void ResolveAllBetsAsDraw(int eventID, String fighter1, String fighter2)
 {
     using (var session = RavenDocStore.Store.OpenSession())
     {
         var eventBets = session.Query <Bet>()
                         .Where(x => x.EventID == eventID)
                         .ToList();
         var bets = eventBets
                    .Where(x => x.IndividualBets.Select(b => b.FighterName).Contains(fighter1) ||
                           x.IndividualBets.Select(b => b.FighterName).Contains(fighter2))
                    .ToList();
         foreach (var bet in bets)
         {
             var indv1 = bet.IndividualBets.FirstOrDefault(x => x.FighterName == fighter1);
             var indv2 = bet.IndividualBets.FirstOrDefault(x => x.FighterName == fighter2);
             if (indv1 != null)
             {
                 indv1.Result = Result.Lose;
             }
             if (indv2 != null)
             {
                 indv2.Result = Result.Lose;
             }
         }
         session.SaveChanges();
     }
     BetService.ResolveAllFullBets(eventID);
 }
コード例 #2
0
        public static void ResolveAllBets(int eventID, String winnerName, String loserName)
        {
            using (var session = RavenDocStore.Store.OpenSession())
            {
                var eventBets = session.Query <Bet>()
                                .Where(x => x.EventID == eventID)
                                .ToList();
                var winBets = eventBets
                              .Where(x => x.IndividualBets.Select(b => b.FighterName).Contains(winnerName))
                              .ToList();
                var loseBets = eventBets
                               .Where(x => x.IndividualBets.Select(b => b.FighterName).Contains(loserName))
                               .ToList();

                foreach (var win in winBets)
                {
                    var bet = win.IndividualBets.FirstOrDefault(x => x.FighterName == winnerName);
                    bet.Result = Result.Win;
                }
                foreach (var lose in loseBets)
                {
                    var bet = lose.IndividualBets.FirstOrDefault(x => x.FighterName == loserName);
                    bet.Result = Result.Lose;
                }
                session.SaveChanges();
            }

            BetService.ResolveAllFullBets(eventID);
        }