summaryrefslogtreecommitdiff
path: root/slips/src/app/Marina/DataAccess/DatabaseRow.cs
blob: 53d0b453bf6f221f9996248f8e54fb0ffc393725 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
using System;
using System.Data;

namespace Marina.DataAccess {
	public class DatabaseRow : IDatabaseRow {
		public DatabaseRow( DataRow row ) {
			_row = row;
		}

		public static readonly IDatabaseRow Blank = new BlankDatabaseRow( );

		public T From< T >( DatabaseColumn column ) {
			return ( T )Convert.ChangeType( _row[ column.ColumnName ], typeof( T ) );
		}

		private readonly DataRow _row;

		public class BlankDatabaseRow : IDatabaseRow {
			public T From< T >( DatabaseColumn column ) {
				return default( T );
			}
		}
	}
}