public async Task <List <Program> > GetAllPrograms(ProgramQuery query, int count) { var programs = new List <Program>(); var updates = await GetLatestUpdates(); try { programs = await _context.Programs.Where(elem => updates.Contains(elem.Update.Id) && (!string.IsNullOrEmpty(query.Actor) ? elem.Actors.Contains(query.Actor) : true) && (!string.IsNullOrEmpty(query.Director) ? elem.Director.Contains(query.Director) : true) && (!string.IsNullOrEmpty(query.Genre) ? elem.Genre.Contains(query.Genre) : true) && (!string.IsNullOrEmpty(query.Language) ? elem.Language.Contains(query.Language) : true) && (query.MinRating.HasValue ? elem.ImdbRating >= query.MinRating : true) && (query.MaxRating.HasValue ? elem.ImdbRating <= query.MaxRating : true) && (query.Year.HasValue ? elem.Year >= query.Year : true)) .OrderByDescending(elem => elem.ImdbRating) .ProjectToListAsync <Program>(_mapper.ConfigurationProvider); programs = programs.Where(elem => query.MinVotes.HasValue ? ConvertToNumber(elem.ImdbVotes, VotesSeparator) >= query.MinVotes : true) .Take(count) .ToList(); } catch { } return(programs); }
public object Get(GetPrograms request) { var query = new ProgramQuery { ChannelIdList = (request.ChannelIds ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(), UserId = request.UserId }; if (!string.IsNullOrEmpty(request.MinStartDate)) { query.MinStartDate = DateTime.Parse(request.MinStartDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } if (!string.IsNullOrEmpty(request.MinEndDate)) { query.MinEndDate = DateTime.Parse(request.MinEndDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } if (!string.IsNullOrEmpty(request.MaxStartDate)) { query.MaxStartDate = DateTime.Parse(request.MaxStartDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } if (!string.IsNullOrEmpty(request.MaxEndDate)) { query.MaxEndDate = DateTime.Parse(request.MaxEndDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } var result = _liveTvManager.GetPrograms(query, CancellationToken.None).Result; return(ToOptimizedSerializedResultUsingCache(result)); }
private async Task GetProgrammes(bool refresh) { if (!NavigationService.IsNetworkAvailable || (_programmesLoaded && !refresh)) { return; } try { SetProgressBar(AppResources.SysTrayGettingProgrammes); var query = new ProgramQuery { UserId = AuthenticationService.Current.LoggedInUserId, ChannelIds = new[] { SelectedChannel.Id }, MaxEndDate = DateTime.Now.AddDays(1).Date }; var items = await ApiClient.GetLiveTvProgramsAsync(query); if (items != null && !items.Items.IsNullOrEmpty()) { Programmes = items.Items.ToObservableCollection(); } _programmesLoaded = true; } catch (HttpException ex) { Utils.HandleHttpException(ex, "GetProgrammes()", NavigationService, Log); } SetProgressBar(); }
public async Task MovieMeterService_WhenGetAllPrograms_ShouldCallRepository() { var query = new ProgramQuery(); var service = new MovieMeterService(_repository, _programProvider); var programs = await service.GetAllPrograms(query, 25); Assert.IsTrue(_repository.GetAllProgramsCalled); }
public async Task <IHttpActionResult> Get([FromBody] ProgramQuery query, int count = 25) { try { var result = await _service.GetAllPrograms(query, count); return(Ok(result)); } catch (Exception) { return(InternalServerError()); } }
public async Task <object> Get(GetPrograms request) { var query = new ProgramQuery { ChannelIds = (request.ChannelIds ?? string.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray(), UserId = request.UserId, HasAired = request.HasAired, EnableTotalRecordCount = request.EnableTotalRecordCount }; if (!string.IsNullOrEmpty(request.MinStartDate)) { query.MinStartDate = DateTime.Parse(request.MinStartDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } if (!string.IsNullOrEmpty(request.MinEndDate)) { query.MinEndDate = DateTime.Parse(request.MinEndDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } if (!string.IsNullOrEmpty(request.MaxStartDate)) { query.MaxStartDate = DateTime.Parse(request.MaxStartDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } if (!string.IsNullOrEmpty(request.MaxEndDate)) { query.MaxEndDate = DateTime.Parse(request.MaxEndDate, null, DateTimeStyles.RoundtripKind).ToUniversalTime(); } query.StartIndex = request.StartIndex; query.Limit = request.Limit; query.SortBy = (request.SortBy ?? String.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); query.SortOrder = request.SortOrder; query.IsMovie = request.IsMovie; query.IsKids = request.IsKids; query.IsSports = request.IsSports; query.Genres = (request.Genres ?? String.Empty).Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); var result = await _liveTvManager.GetPrograms(query, GetDtoOptions(request), CancellationToken.None).ConfigureAwait(false); return(ToOptimizedResult(result)); }
public async Task <List <Program> > GetAllPrograms(ProgramQuery query, int count) { var programs = await Repository.GetAllPrograms(query, count); return(programs); }
public ActionResult Edit(int id) { var query = new ProgramQuery { ProgramId = id }; return HandleBusResult(_bus.Request(query), result => View(result.Data)); }
public Task <List <Program> > GetAllPrograms(ProgramQuery query, int count) { throw new NotImplementedException(); }