public MemberHistoryResult(GamePayoutEngine gamePayoutEngine, PaylineRepository paylineRepository, GameInfoRepository gameInfoRepository, HistoryDecoderFactory historyDecoderFactory) { this.gamePayoutEngine = gamePayoutEngine; this.paylineRepository = paylineRepository; this.gameInfoRepository = gameInfoRepository; this.historyDecoderFactory = historyDecoderFactory; WinTableByGame = new Dictionary <GameIdEnum, Func <Dictionary <int, List <PaylineConfig> >, SpinXml, List <byte[, ]> > > { { GameIdEnum.FortuneTree, gamePayoutEngine.PayoutWays }, { GameIdEnum.WorldSoccerSlot2, gamePayoutEngine.PayoutWays }, { GameIdEnum.MoneyMonkey, gamePayoutEngine.PayoutWays }, { GameIdEnum.JazzItUp, gamePayoutEngine.PayoutWays }, { GameIdEnum.WolvesSlot, gamePayoutEngine.PayoutWays } }; WinTableByPaylineType = new Dictionary <PaylineType, Func <Dictionary <int, List <PaylineConfig> >, SpinXml, List <byte[, ]> > > { { PaylineType.ThreeByThree, gamePayoutEngine.PayoutNormalIndependent }, { PaylineType.ThreeByThreeOutsource, gamePayoutEngine.PayoutNormalIndependent }, { PaylineType.ThreeByThree27Ways, gamePayoutEngine.PayoutWaysIndependent }, { PaylineType.ThreeByFive, gamePayoutEngine.PayoutNormal }, { PaylineType.ThreeByFive2, gamePayoutEngine.PayoutNormal }, { PaylineType.ThreeByFiveCollapsing, gamePayoutEngine.PayoutNormal }, { PaylineType.FourByFive, gamePayoutEngine.PayoutNormal }, { PaylineType.ThreeFourFiveSixSevenSevenReels, gamePayoutEngine.PayoutNormal }, { PaylineType.ThreeByThreeMatchingReels, gamePayoutEngine.PayoutNormalIndependent }, { PaylineType.SevenByFive, gamePayoutEngine.PayoutNormal } }; }
public MemberHistoryResult( GamePayoutEngine gamePayoutEngine, PaylineRepository paylineRepository, GameInfoRepository gameInfoRepository, GameHistory gameHistory, HistoryDecoderFactory historyDecoderFactory, SpinBetProfile spinBetProfile) : this(gamePayoutEngine, paylineRepository, gameInfoRepository, historyDecoderFactory) { this.gameHistory = gameHistory; this.spinBetProfile = spinBetProfile; RoundId = gameHistory.RoundId; TransactionId = GetTransactionId(this.gameHistory); TotalBet = GetTotalBet(); GameId = gameHistory.Game.Id; Game = gameHistory.Game.Name; TotalWin = gameHistory.Win; GameResultType = gameHistory.GameResultType; XmlType = gameHistory.XmlType; DateTimeUtc = gameHistory.CreatedOnUtc; DateTime = gameHistory.CreatedOnUtc.ToLocalTime(); IsSideBet = spinBetProfile?.IsSideBet == true; var historyXmlDecoder = historyDecoderFactory.Resolve((GameIdEnum)GameId); if (historyXmlDecoder != null) { historyXmlDecoder.AmendSpinHistory(this, gameHistory); } else { SetResultData(); } }