| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- using System.Collections;
- using System.Collections.Generic;
- namespace VberZero.Workflow.Persistence
- {
- public class ExecutionPointerCollection : ICollection<WorkflowExecutionPointerInfo>
- {
- private readonly Dictionary<string, WorkflowExecutionPointerInfo> _dictionary;
- public ExecutionPointerCollection()
- {
- _dictionary = new Dictionary<string, WorkflowExecutionPointerInfo>();
- }
- public ExecutionPointerCollection(int capacity)
- {
- _dictionary = new Dictionary<string, WorkflowExecutionPointerInfo>(capacity);
- }
- public IEnumerator<WorkflowExecutionPointerInfo> GetEnumerator()
- {
- return _dictionary.Values.GetEnumerator();
- }
- IEnumerator IEnumerable.GetEnumerator()
- {
- return GetEnumerator();
- }
- public WorkflowExecutionPointerInfo FindById(string id)
- {
- if (!_dictionary.ContainsKey(id))
- return null;
- return _dictionary[id];
- }
- public void Add(WorkflowExecutionPointerInfo item)
- {
- _dictionary.Add(item.Id, item);
- }
- public void Clear()
- {
- _dictionary.Clear();
- }
- public bool Contains(WorkflowExecutionPointerInfo item)
- {
- return _dictionary.ContainsValue(item);
- }
- public void CopyTo(WorkflowExecutionPointerInfo[] array, int arrayIndex)
- {
- _dictionary.Values.CopyTo(array, arrayIndex);
- }
- public bool Remove(WorkflowExecutionPointerInfo item)
- {
- return _dictionary.Remove(item.Id);
- }
- public int Count => _dictionary.Count;
- public bool IsReadOnly => false;
- }
- }
|