private async Task <StatisticInDbModel> ReturnStatistic(SqlCommand command)
        {
            SqlDataReader reader = await command.ExecuteReaderAsync();

            StatisticInDbModel statistic = reader.Read()
                ? new StatisticInDbModel(
                (int)reader["Id"],
                (string)reader["Name"],
                (string)reader["Description"],
                (string)reader["SqlExpression"])
                : null;

            reader.Close();
            return(statistic);
        }
 public async Task <int> CreateAsync(StatisticInDbModel info)
 => await ExecuteSqlCommand(
     "INSERT INTO CatStatistics (Name, Description, SqlExpression) VALUES (@name, @description, @sqlExpression); SELECT SCOPE_IDENTITY();",
     async command => Convert.ToInt32(await command.ExecuteScalarAsync()),
     new SqlParameter[]
 {
     new SqlParameter("@name", info.Name),
     new SqlParameter("@description", info.Description),
     new SqlParameter("@sqlExpression", info.Description),
     new SqlParameter
     {
         ParameterName = "@id",
         SqlDbType     = SqlDbType.Int,
         Direction     = ParameterDirection.Output
     }
 });