Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
 protected WorkItem(int id, GdbRowIdentity identity)
 {
     OID    = id;
     Proxy  = identity;
     Status = WorkItemStatus.Todo;
 }
Exemplo n.º 4
0
 public XmlGdbRowIdentity(GdbRowIdentity row)
 {
     OID       = row.ObjectId;
     TableId   = row.Table.Id;
     TableName = row.Table.Name;
 }