Esempio n. 1
0
    public async Task <FinalizedActionProcessingResults> GetActionProcessingDryRun(SystemWideValues systemWideValues, int year, Instant processingTime, IReadOnlyList <LeagueYear> allLeagueYears)
    {
        IReadOnlyDictionary <LeagueYear, IReadOnlyList <PickupBid> > leaguesAndBids = await _fantasyCriticRepo.GetActivePickupBids(year, allLeagueYears);

        IReadOnlyDictionary <LeagueYear, IReadOnlyList <DropRequest> > leaguesAndDropRequests = await _fantasyCriticRepo.GetActiveDropRequests(year, allLeagueYears);

        var onlyLeaguesWithActions = leaguesAndBids
                                     .Where(x => x.Value.Any()).Select(x => x.Key)
                                     .Concat(leaguesAndDropRequests.Where(x => x.Value.Any()).Select(x => x.Key))
                                     .Distinct().Select(x => x.Key).ToHashSet();

        var publishersInLeagues = allLeagueYears.SelectMany(x => x.Publishers).Where(x => onlyLeaguesWithActions.Contains(x.LeagueYearKey));

        var masterGameYears = await _interLeagueService.GetMasterGameYears(year);

        var masterGameYearDictionary = masterGameYears.ToDictionary(x => x.MasterGame.MasterGameID);

        FinalizedActionProcessingResults results = _actionProcessingService.ProcessActions(systemWideValues, leaguesAndBids, leaguesAndDropRequests, publishersInLeagues, processingTime, masterGameYearDictionary);

        return(results);
    }
 public ActionProcessingSetEntity(FinalizedActionProcessingResults results)
 {
     ProcessSetID = results.ProcessSetID;
     ProcessTime  = results.ProcessTime;
     ProcessName  = results.ProcessName;
 }