private List <ContestDetailsResp> MapContestDetailsFromDict(Dictionary <string, Contest> dict) { List <ContestDetailsResp> contestDetailsLst = new List <ContestDetailsResp>(); List <Contest.ContestSection> contestList = dict["data"].contestSections; foreach (var items in contestList) { ContestDetailsResp contest = new ContestDetailsResp(); contest.ContestName = items.name; contest.ContestDesc = items.description; contest.ContestId = items.id; contest.ContestImg = items.artwork[0].src; contest.TotalContestCount = items.totalContestCount; List <ContestAdditionalDetails> additionalContest = new List <ContestAdditionalDetails>(); List <int> winnerLst = new List <int>(); foreach (var additionalItem in items.displayContests) { ContestAdditionalDetails addon = new ContestAdditionalDetails(); addon.WinnersList = new List <int>(); addon.EntryFee = additionalItem.entryFee.amount; addon.InviteCode = additionalItem.inviteCode; addon.PrizeAmount = additionalItem.prizeAmount.amount; addon.TotalWinners = additionalItem.numberOfWinners; addon.IsGuaranteed = additionalItem.isGuaranteed; addon.IsMultipleEntry = additionalItem.isMultipleEntry; winnerLst.Add(addon.TotalWinners); addon.WinnersList = winnerLst; additionalContest.Add(addon); } contest.AddonList = additionalContest; contestDetailsLst.Add(contest); } return(contestDetailsLst); }
public List <ContestDetailsResp> GetFullContestDetails(ContestRequest req) { List <ContestDetailsResp> contestLst = new List <ContestDetailsResp>(); string json = "{\"returnType\": \"response\",\"query\": \"query Contests( $site: String! $tourId: Int! $matchId: Int! $joiningAmount: CompareInt $category: ContestCategory $sectionIds: [Int]) { me { isGuestUser showOnboarding } site(slug: $site) { showWalletIcon maxTeamsAllowed tour(id: $tourId) { match(id: $matchId) { contests( category: $category joiningAmount: $joiningAmount contestSectionIds: $sectionIds ) { contestCategory contestSize currentSize entryFee { amount symbol } hasJoined id inviteCode isInfiniteEntry isGuaranteed isMultipleEntry numberOfWinners prizeAmount { amount symbol } showInvite isFreeEntry match { id status } tour { id name } site } name guru startTime status squads { shortName } } } }}\",\"variables\": {\"tourId\": " + req.TourId + ",\"matchId\": " + req.MatchId + ",\"site\": \"cricket\",\"sectionIds\": [" + req.SectionId + "]}}"; Dictionary <string, ContestDetails> dict = _contestRepo.ConstructContestDetailsJson(json); List <ContestAdditionalDetails> addOnLst = MapFullContestDetailsFromDict(dict); ContestDetailsResp contest = new ContestDetailsResp(); contest.AddonList = addOnLst; contestLst.Add(contest); return(contestLst); }