public async Task AutoComplete(Dictionary <MediaAgent, PlexMediaItemRow> agentsByPlexId) { var incompleteRequests = await _requestService.GetIncompleteRequests(); foreach (var incompleteRequest in incompleteRequests) { var allAgents = incompleteRequest.MovieRequestAgents.Select(x => new MediaAgent(x.AgentType, x.AgentSourceId)); foreach (var requestAgent in allAgents) { if (!agentsByPlexId.TryGetValue(requestAgent, out var plexMediaItem)) { continue; } incompleteRequest.PlexMediaItem.MediaUri = plexMediaItem.MediaUri; incompleteRequest.RequestStatus = RequestStatuses.Completed; break; } } await _unitOfWork.CommitAsync(); }
private void GivenNoMatchingRequests() { _movieRequests = new MovieRequestRowBuilder().CreateMany(); _requestService.GetIncompleteRequests().Returns(_movieRequests); }