private void FilterChanges(List <Protocal.Commands.OrderPhaseChange> changes, Protocal.Commands.OrderChangeType changeType) { Dictionary <Guid, Protocal.Commands.OrderPhaseChange> result = new Dictionary <Guid, Protocal.Commands.OrderPhaseChange>(changes.Count); foreach (var eachChange in changes) { if (eachChange.ChangeType == changeType) { if (!result.ContainsKey(eachChange.Tran.Id)) { result.Add(eachChange.Tran.Id, eachChange); } } } if (result.Count > 0) { changes.Clear(); foreach (var eachItem in result.Values) { changes.Add(eachItem); } } }
internal OrderChange(Order source, Protocal.Commands.OrderChangeType changeType, PropertyChangeType changeProperties = PropertyChangeType.None) : base(changeType, source) { this.PropertyType = changeProperties; this.AffectedTrans = new List <Transaction>(); }
protected override Protocal.Commands.OrderPhaseChange CreateOrderChange(Protocal.Commands.OrderChangeType changeType, Protocal.Commands.Order order) { return(new OrderChange((Order)order, changeType)); }
protected override Protocal.Commands.OrderPhaseChange CreateOrderPhaseChange(Protocal.Commands.OrderChangeType type) { return(new OrderChange(null, type)); }