public ActionProcessingResults Combine(ActionProcessingResults subProcessingResults) { return(new ActionProcessingResults( SuccessBids.Concat(subProcessingResults.SuccessBids).DistinctBy(x => x.PickupBid.BidID), FailedBids.Concat(subProcessingResults.FailedBids).DistinctBy(x => x.PickupBid.BidID), SuccessDrops.Concat(subProcessingResults.SuccessDrops).DistinctBy(x => x.DropRequestID), FailedDrops.Concat(subProcessingResults.FailedDrops).DistinctBy(x => x.DropRequestID), LeagueActions.Concat(subProcessingResults.LeagueActions).DistinctBy(x => x.ActionInternalID), subProcessingResults.PublisherStateSet, AddedPublisherGames.Concat(subProcessingResults.AddedPublisherGames).DistinctBy(x => x.PublisherGameID), RemovedPublisherGames.Concat(subProcessingResults.RemovedPublisherGames).DistinctBy(x => x.PublisherGame.PublisherGameID))); }
public IReadOnlyList <LeagueYearPublisherPair> GetAllAffectedPublisherPairs() { var publisherPairsToInclude = SuccessBids.Select(x => x.PickupBid.GetLeagueYearPublisherPair()) .Concat(FailedBids.Select(x => x.PickupBid.GetLeagueYearPublisherPair())) .Concat(SuccessDrops.Select(x => x.GetLeagueYearPublisherPair())) .Concat(FailedDrops.Select(x => x.GetLeagueYearPublisherPair())); List <LeagueYearPublisherPair> updatedPublisherPairs = new List <LeagueYearPublisherPair>(); foreach (var publisherPair in publisherPairsToInclude) { var updatedPublisher = PublisherStateSet.GetPublisher(publisherPair.Publisher.PublisherID); updatedPublisherPairs.Add(new LeagueYearPublisherPair(publisherPair.LeagueYear, updatedPublisher)); } return(updatedPublisherPairs); }