- Timestamp:
- 01/14/09 21:27:54 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/DataAdapterBase.cs
r1128 r1131 21 21 22 22 using System; 23 using System.Data; 23 24 using System.Collections.Generic; 24 25 using System.Linq; … … 32 33 where RowT : System.Data.DataRow 33 34 where ObjT : IHiveObject, new() { 34 protected AdapterT adapter = 35 new AdapterT(); 35 protected AdapterT Adapter { 36 get { 37 return new AdapterT(); 38 } 39 } 36 40 37 41 #region Abstract methods 38 protected abstract RowT Convert (ObjT obj, RowT row);42 protected abstract RowT ConvertObj(ObjT obj, RowT row); 39 43 40 protected abstract ObjT Convert (RowT row, ObjT obj);44 protected abstract ObjT ConvertRow(RowT row, ObjT obj); 41 45 42 46 [MethodImpl(MethodImplOptions.Synchronized)] … … 46 50 protected abstract void UpdateRow(RowT row); 47 51 48 [MethodImpl(MethodImplOptions.Synchronized)]49 52 protected abstract IEnumerable<RowT> FindById(long id); 50 53 51 [MethodImpl(MethodImplOptions.Synchronized)]52 54 protected abstract IEnumerable<RowT> FindAll(); 53 55 #endregion … … 55 57 protected delegate IEnumerable<RowT> Selector(); 56 58 57 [MethodImpl(MethodImplOptions.Synchronized)] 59 protected ObjT Convert(RowT row, ObjT obj) { 60 try { 61 obj = ConvertRow(row, obj); 62 return obj; 63 } 64 catch (DeletedRowInaccessibleException) { 65 return default(ObjT); 66 } 67 catch (RowNotInTableException) { 68 return default(ObjT); 69 } 70 } 71 58 72 protected virtual RowT FindSingleRow(Selector selector) { 59 73 RowT row = default(RowT); … … 73 87 if (row != null) { 74 88 ObjT obj = new ObjT(); 75 Convert(row, obj);89 obj = Convert(row, obj); 76 90 77 91 return obj; … … 81 95 } 82 96 83 [MethodImpl(MethodImplOptions.Synchronized)]84 97 protected virtual ICollection<ObjT> FindMultiple(Selector selector) { 85 98 IEnumerable<RowT> found = … … 91 104 foreach (RowT row in found) { 92 105 ObjT obj = new ObjT(); 93 Convert(row, obj); 94 result.Add(obj); 106 obj = Convert(row, obj); 107 if(obj != null) 108 result.Add(obj); 95 109 } 96 110 … … 115 129 } 116 130 117 Convert (obj, row);131 ConvertObj(obj, row); 118 132 119 133 UpdateRow(row);
Note: See TracChangeset
for help on using the changeset viewer.