private void ProcessUpdates(GdbTableIdentity tableId, IEnumerable <long> oids, ICollection <long> invalidItems) { foreach (long oid in oids) { var rowId = new GdbRowIdentity(oid, tableId); if (_rowMap.TryGetValue(rowId, out IWorkItem item)) { Refresh(item); _invalidRows.Add(rowId); invalidItems.Add(item.OID); } } }
private void ProcessDeletes(GdbTableIdentity tableId, List <long> oids, ICollection <long> invalidItems) { foreach (long oid in oids) { // todo daro: refactor, simplify var rowId = new GdbRowIdentity(oid, tableId); if (HasCurrentItem && Current != null && Current.Proxy.Equals(rowId)) { ClearCurrentItem(Current); } if (_rowMap.TryGetValue(rowId, out IWorkItem item)) { RemoveWorkItem(item); invalidItems.Add(item.OID); } } // todo daro: update work list extent? Extent = GetExtentFromItems(_items); }
protected WorkItem(int id, GdbRowIdentity identity) { OID = id; Proxy = identity; Status = WorkItemStatus.Todo; }
public XmlGdbRowIdentity(GdbRowIdentity row) { OID = row.ObjectId; TableId = row.Table.Id; TableName = row.Table.Name; }