private IList<IFundPosition> getPositionsConvertedInstrument(IInstrument instrument, IFundPortfolio portfolio) { IList<IFundPosition> positions = null; if (portfolio != null) { foreach (IFundPosition pos in portfolio) { if (pos.InstrumentOfPosition.ParentInstrument != null && pos.InstrumentOfPosition.ParentInstrument.Equals(instrument)) { if (positions == null) positions = new List<IFundPosition>(); positions.Add(pos); } } } return positions; }
private bool isRebalanceNeeded(Money totalValue, IFundPortfolio portfolio) { bool retVal = false; if (totalValue != null && totalValue.IsNotZero && totalValue.Sign) retVal = true; else if (totalValue != null && totalValue.IsZero) { foreach (IFundPosition pos in portfolio) { if (pos.Size.IsNotZero && pos.Size.Sign) { retVal = true; break; } } } return retVal; }