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); }
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); }