Example #1
0
        public async Task HandleAsync(MyLyricsInput input, IMyLyricsOutputHandler <T> output)
        {
            var lyrics = await _lyricRepository.GetAllQueryAsync(x => x.Author.Username == input.AuthorUsername, input.Page, input.PageSize);

            var result = lyrics.Select(x => new MyLyricOutput(x.Id, x.Text, x.Title, x.Singer, x.AuthorId, x.Author.Username));

            output.Success(new MyLyricsOutput(result, input.IncludeCount ? await _lyricRepository.CountAsync(x => x.Author.Username == input.AuthorUsername) : 0));
        }
Example #2
0
        public async Task HandleAsync(AllLyricsInput input, IAllLyricsOutputHandler <T> output)
        {
            IEnumerable <Lyric> lyrics;

            if (string.IsNullOrEmpty(input.SearchTerm))
            {
                lyrics = await _lyricRepository.GetAllNonDeletedAsync(input.Page, input.PageSize);
            }
            else
            {
                lyrics = await _lyricRepository.GetAllQueryAsync(x => x.Singer.Contains(input.SearchTerm), input.Page, input.PageSize);
            }
            var result = lyrics.Select(x => new AllLyricOutput(x.Id, x.Text, x.Title, x.Singer, x.AuthorId, x.Author.Username));

            output.Success(new AllLyricsOutput(result, input.IncludeCount ? await _lyricRepository.CountAsync() : 0));
        }