protected static string[] RetrieveAll(string sql, string catalogView, RowProjection FormatRow)
        {
            string[] result;
            var      sqltoDistr = Kiss.GetTimeout(KissTimeout.DISTRIBUTION_SQL_RETRIEVE_ALL);

            using (var scope = new TransactionScope(TransactionScopeOption.Suppress))
                using (var kiss = new SqlConnection(Kiss.GetConnection(sql)))
                    using (var allIds = new SqlCommand(catalogView, kiss)
                    {
                        CommandTimeout = sqltoDistr,
                        CommandType = CommandType.Text
                    })
                    {
                        kiss.Open();

                        using (var idsTable = new DataTable())
                            using (var idsAdapter = new SqlDataAdapter(allIds))
                            {
                                idsAdapter.Fill(idsTable);
                                result = new string[idsTable.Rows.Count];

                                for (var i = 0; i < idsTable.Rows.Count; i++)
                                {
                                    result[i] = FormatRow(idsTable.Rows[i]);
                                }
                            }

                        kiss.Close();
                        scope.Complete();
                    }

            return(result);
        }
Exemplo n.º 2
0
 public AddColumn(string columnName, RowProjection <TResult> valueFactory)
 {
     ColumnName   = columnName;
     ValueFactory = valueFactory;
 }