예제 #1
0
 public AdministratorsList()
 {
     Paging = new ListPagination(this, 10)
     {
         UseAjaxGet = true
     };
     Sort = new ListSortExpression(this);
 }
        public static ListPagination GetNextPageListPagination(this ListResponsePagination listResponsePagination)
        {
            if (!listResponsePagination.HasMoreContent())
            {
                throw new Exception("No more content available.");
            }

            return(ListPagination.WithPageAndSize(listResponsePagination.CurrentPage + 1, listResponsePagination.CurrentPageSize));
        }
예제 #3
0
        // GET: Employee
        public ActionResult Index(int?pageIndex)
        {
            blResultEmployee = employeeManager.GetAllEmployees();


            if (blResultEmployee.BlResultList != null)
            {
                listPaginationEmployeeRecords = ListPagination <Employee> .Create(blResultEmployee.BlResultList, pageIndex ?? 1, 3);
            }

            return(View(listPaginationEmployeeRecords));
        }
예제 #4
0
        public ActionResult Index(int?pageIndex)
        {
            blResultPaymentRecord = payComputationManager.GetAllPayments();
            ListPagination <PaymentRecord> listPaginationPaymentRecords = null;

            if (blResultPaymentRecord.BlResultList != null)
            {
                listPaginationPaymentRecords = ListPagination <PaymentRecord> .Create(blResultPaymentRecord.BlResultList, pageIndex ?? 1, 3);
            }

            return(View(listPaginationPaymentRecords));
        }
예제 #5
0
        public async Task GetEpisodes_MojangAndMicrosoft()
        {
            // Act
            var result = await ApiClient.GetEpisodesAsync(new []
            {
                SampleIds.EpisodeId_MicrosoftDatacenter,
                SampleIds.EpisodeId_Mojang,
            }, ListPagination.Disabled());

            // Assert
            Assert.Equal(SampleIds.EpisodeId_MicrosoftDatacenter, result.Episodes[0].Id);
            Assert.Equal(2, result.Episodes.Count);
        }
예제 #6
0
        public async Task <List <Episode> > List(int programId, int count)
        {
            var episodesResult = await _sverigesRadioApiClient.ListEpisodesAsync(programId, pagination : ListPagination.TakeFirst(count));

            return(episodesResult.Episodes);
        }
예제 #7
0
        public static async Task Main(string[] args)
        {
            Console.WriteLine("Orneholm.SverigesRadio.ConsoleSample");
            Console.WriteLine("########################################################");
            Console.WriteLine();

            var apiClient = SverigesRadioApiClient.CreateClient(new AudioSettings
            {
                OnDemandAudioTemplateId = SverigesRadioApiIds.OnDemandAudioTemplates.Html5_Desktop,
                LiveAudioTemplateId     = SverigesRadioApiIds.LiveAudioTemplates.MP3,

                AudioQuality = AudioQuality.High
            });

            Console.WriteLine();
            Console.WriteLine("List programs:");
            var programsResult = await apiClient.ListProgramsAsync();

            foreach (var program in programsResult.Programs)
            {
                Console.WriteLine($"{program.Name} ({program.Id}): {program.Description}");
            }

            Console.WriteLine();
            Console.WriteLine("Get latest episode for P3 Dokumentär:");
            var episodeResult = await apiClient.GetLatestEpisodeAsync(SverigesRadioApiIds.Programs.P3_Dokumentar);

            Console.WriteLine($"{episodeResult.Episode.Title} ({episodeResult.Episode.Id}): {episodeResult.Episode.Description}");

            Console.WriteLine();
            Console.WriteLine("List podfiles for Så funkar det (last 3):");
            var podfilesResult = await apiClient.ListPodfilesAsync(SverigesRadioApiIds.Programs.Sa_Funkar_Det, ListPagination.TakeFirst(5));

            foreach (var podfile in podfilesResult.Podfiles)
            {
                Console.WriteLine($"{podfile.Title} ({podfile.Id}): {podfile.Url}");
            }

            Console.WriteLine();
            Console.WriteLine("Search episodes:");
            var episodeSearchResult = await apiClient.SearchEpisodesAsync("Microsoft");

            foreach (var episode in episodeSearchResult.Episodes)
            {
                Console.WriteLine($"{episode.Title} ({episode.Id}) - {episode.Description}");
            }

            Console.WriteLine();
            Console.ReadLine();
        }
예제 #8
0
        private async Task WriteEpisodeInfos(SrStoredEpisodePhases?phase, string?state)
        {
            var allErrorEpisodes = await _storage.GetEpisodesWithStatus(phase?.ToString(), state);

            if (!allErrorEpisodes.Any())
            {
                return;
            }

            var episodeInfos = await _sverigesRadioApiClient.GetEpisodesAsync(allErrorEpisodes.Select(x => x.EpisodeId).ToList(), ListPagination.TakeFirst(allErrorEpisodes.Count));

            var ids = new StringBuilder();

            foreach (var episode in episodeInfos.Episodes.OrderBy(x => x.PublishDateUtc))
            {
                ids.AppendLine($"{episode.Id} - {episode.PublishDateUtc} - {episode.Title}...");
            }

            var idsString = ids.ToString();

            Console.Write(idsString);

            Console.ReadLine();
        }
예제 #9
0
        private async Task ReRunWith(SrStoredEpisodePhases?phase, string?state, CancellationToken stoppingToken)
        {
            var allErrorEpisodes = await _storage.GetEpisodesWithStatus(phase?.ToString(), state);

            if (!allErrorEpisodes.Any())
            {
                return;
            }

            var episodeInfos = await _sverigesRadioApiClient.GetEpisodesAsync(allErrorEpisodes.Select(x => x.EpisodeId).ToList(), ListPagination.TakeFirst(allErrorEpisodes.Count));

            var ids = new StringBuilder();

            foreach (var episode in episodeInfos.Episodes.OrderBy(x => x.PublishDateUtc))
            {
                await _storage.DeleteEpisodeStatus(episode.Id);

                await _storage.DeleteStoredEpisode(episode.Id);

                _logger.LogInformation($"Deleting {episode.Id} - {episode.PublishDateUtc} - {episode.Title}...");
            }

            await _srWorker.Work(allErrorEpisodes.Select(x => x.EpisodeId).ToList(), true, stoppingToken);
        }
 private static async IAsyncEnumerable <TItem> ListAllAsync <TItem, TRequest>(this ISverigesRadioApiClient apiClient, TRequest request, Func <TRequest, ListPagination, Task <(IEnumerable <TItem>, ListResponsePagination)> > getItems) where TRequest : ListRequestBase