private void AdjustSecurity(List <SourceHoldingItem> selectedItems) { foreach (var selectItem in selectedItems) { var transferedAmount = selectItem.TransferedAmount; var srcItem = _srcDataSource.ToList() .Find(p => p.SecuCode.Equals(selectItem.SecuCode) && p.SecuType == selectItem.SecuType); if (srcItem != null) { srcItem.AvailableTransferedAmount = srcItem.AvailableTransferedAmount - transferedAmount; srcItem.CurrentAmount = srcItem.CurrentAmount - transferedAmount; if (srcItem.CurrentAmount == 0) { _srcDataSource.Remove(srcItem); } else { srcItem.Seletion = false; srcItem.TransferedAmount = 0; srcItem.PriceType = string.Empty; } } var destItem = _destDataSource.ToList() .Find(p => p.SecuCode.Equals(selectItem.SecuCode) && p.SecuType == selectItem.SecuType); if (destItem != null) { destItem.CurrentAmount = destItem.CurrentAmount + transferedAmount; } else { destItem = new DestinationHoldingItem { SecuCode = selectItem.SecuCode, SecuType = selectItem.SecuType, PositionType = selectItem.PositionType, PortfolioCode = selectItem.PortfolioCode, PortfolioName = selectItem.PortfolioName, SecuName = selectItem.SecuName, ExchangeCode = selectItem.ExchangeCode, CurrentAmount = transferedAmount, }; _destDataSource.Add(destItem); } } }
private void FillDestGridView(SortableBindingList <DestinationHoldingItem> dataSource, List <TradeInstanceSecurity> secuItems, TradeInstance tradeInstance) { foreach (var secuItem in secuItems) { DestinationHoldingItem destItem = new DestinationHoldingItem { SecuCode = secuItem.SecuCode, SecuType = secuItem.SecuType, CurrentAmount = secuItem.PositionAmount, PositionType = secuItem.PositionType, PortfolioCode = tradeInstance.PortfolioCode, PortfolioName = tradeInstance.PortfolioName }; var findItem = SecurityInfoManager.Instance.Get(secuItem.SecuCode, secuItem.SecuType); if (findItem != null) { destItem.SecuName = findItem.SecuName; destItem.ExchangeCode = findItem.ExchangeCode; } dataSource.Add(destItem); } }