public IEnumerable <RemotePosition> GetPositions(int accountID, int?fromID) { var posList = _positionBL.GetAllPositions(accountID); if (fromID != null) { posList = posList.Where(r => r.PosID >= fromID); } var posTrades = _positionBL.GetPosTrades(posList.Select(r => r.PosID).ToList()); var list = posList.Select(r => new RemotePosition() { PosID = r.PosID, InsID = r.InsID, Count = r.Count, OpenTime = r.OpenTime, OpenPrice = r.OpenPrice, CloseTime = r.CloseTime, ClosePrice = r.ClosePrice, PosType = (byte)r.PosType, AccountID = r.AccountID, TradeIDs = posTrades.Where(p => p.PosID == r.PosID).Select(p => p.TradeID).ToList() }).ToList(); return(list); }
public IEnumerable <RemotePosition> GetPositions(string ids) { var posList = _positionBL.GetPositions(Lib.Str2Ids(ids)); var posTrades = _positionBL.GetPosTrades(posList.Select(r => r.PosID).ToList()); var list = posList.Select(r => new RemotePosition() { PosID = r.PosID, InsID = r.InsID, Count = r.Count, OpenTime = r.OpenTime, OpenPrice = r.OpenPrice, CloseTime = r.CloseTime, ClosePrice = r.ClosePrice, PosType = (byte)r.PosType, AccountID = r.AccountID, TradeIDs = posTrades.Where(p => p.PosID == r.PosID).Select(p => p.TradeID).ToList() }).ToList(); return(list); }