Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/27/09 14:04:47 (15 years ago)
Author:
svonolfe
Message:

Refactored DAL (now using GUIDs as IDs instead of longs) (#527)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.DataAccess.ADOHelper/CachedDataAdapter.cs

    r1377 r1449  
    145145    protected abstract bool PutInCache(ObjT obj);
    146146
    147     protected abstract RowT FindCachedById(long id);
     147    protected abstract RowT FindCachedById(Guid id);
    148148
    149149    public void SyncWithDb() {
     
    169169        cacheLock.EnterReadLock();
    170170
    171         bool cached = FindCachedById((long)row[row.Table.PrimaryKey[0]]) != null;
     171        bool cached = FindCachedById((Guid)row[row.Table.PrimaryKey[0]]) != null;
    172172
    173173        cacheLock.ExitReadLock();
     
    177177    }
    178178
    179     protected override RowT GetRowById(long id) {
     179    protected override RowT GetRowById(Guid id) {
    180180      cacheLock.EnterReadLock();
    181181
     
    227227      if (obj != null) {
    228228        RowT row = null;
    229         long locked = default(long);
    230 
    231         if (obj.Id != default(long)) {
     229        Guid locked = Guid.Empty;
     230
     231        if (obj.Id != Guid.Empty) {
    232232          LockRow(obj.Id);
    233233          locked = obj.Id;
    234234
    235235          row = GetRowById(obj.Id);
     236        } else {
     237          obj.Id = Guid.NewGuid();
    236238        }
    237239
     
    241243          } else {
    242244            row = InsertNewRow(obj);
     245            UpdateRow(row);
    243246          }
    244 
    245           UpdateRow(row);
    246           obj.Id = (long)row[row.Table.PrimaryKey[0]];
    247         }
    248 
    249         if (locked == default(long)) {
     247        }
     248
     249        if (locked == Guid.Empty)
     250        {
    250251          LockRow(obj.Id);
    251252          locked = obj.Id;
Note: See TracChangeset for help on using the changeset viewer.