예제 #1
0
        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);
                }
            }
        }
예제 #2
0
파일: Account.cs 프로젝트: dreamsql/Outter
 internal OrderChange(Order source, Protocal.Commands.OrderChangeType changeType, PropertyChangeType changeProperties = PropertyChangeType.None)
     : base(changeType, source)
 {
     this.PropertyType  = changeProperties;
     this.AffectedTrans = new List <Transaction>();
 }
예제 #3
0
 protected override Protocal.Commands.OrderPhaseChange CreateOrderChange(Protocal.Commands.OrderChangeType changeType, Protocal.Commands.Order order)
 {
     return(new OrderChange((Order)order, changeType));
 }
예제 #4
0
파일: Account.cs 프로젝트: dreamsql/Outter
 protected override Protocal.Commands.OrderPhaseChange CreateOrderPhaseChange(Protocal.Commands.OrderChangeType type)
 {
     return(new OrderChange(null, type));
 }