public async Task <int> GetAllProductCountAsync(GetAllProductCount query)
        {
            const string sql =
                @"SELECT COUNT(Id)
        FROM Products;";

            await using var connection = new SqlConnection(_connectionString);

            await using var command = new SqlCommand(sql, connection);

            await connection.EnsureIsOpenAsync().ConfigureAwait(false);

            await using var reader = await command.ExecuteReaderAsync().ConfigureAwait(false);

            if (!await reader.ReadAsync().ConfigureAwait(false))
            {
                return(0);
            }

            var count = reader.AsInt32(0);

            return(count);
        }
Example #2
0
 public Task <int> HandleAsync(GetAllProductCount query)
 {
     return(_readRepository.GetAllProductCountAsync(query));
 }
        public async Task <IActionResult> GetAllProductCountAsync([FromQuery] GetAllProductCount query)
        {
            var data = await Mediator.QueryAsync(query).ConfigureAwait(false);

            return(Ok(data));
        }
        public async Task <IActionResult> GetAllProductCount(GetAllProductCount query)
        {
            var count = await _queryProcessor.QueryAsync(query);

            return(Ok(count));
        }