public async Task <ActionResult <List <ChannelViewModel> > > Get()
        {
            var command = new GetAllChannelsViewModelsRequest();
            var list    = await this.mediator.Send(command);

            return(list);
        }
        public async Task <List <ChannelViewModel> > Handle(
            GetAllChannelsViewModelsRequest _,
            CancellationToken __)
        {
            using (var connection = new SqlConnection(this.connectionString))
            {
                var sqlQuery =
                    "select c.id, c.title, c.description, c.Url, count(n.Id) as NewsCount from Channels c left join News n on n.ChannelId = c.Id group by c.Id,c.Title,c.Description, c.Url";
                var result = await connection.QueryAsync <ChannelViewModel>(sqlQuery);

                return(result.ToList());
            }
        }
Example #3
0
        public async Task <List <ChannelViewModel> > Handle(
            GetAllChannelsViewModelsRequest _,
            CancellationToken __)
        {
            using (var connection = new SqlConnection(this.connectionString))
            {
                var sqlQuery =
                    "SELECT c.id, c.title, c.description, c.Url, count(n.Id) as NewsCount" +
                    " FROM Channels c" +
                    " LEFT JOIN News n ON" +
                    " (n.ChannelId = c.Id AND n.OriginalPostId IS NULL )" +
                    " GROUP BY c.Id,c.Title,c.Description, c.Url";
                var result = await connection.QueryAsync <ChannelViewModel>(sqlQuery);

                return(result.ToList());
            }
        }