public static INavCalculation GetLastNavCalculation(IDalSession session, IVirtualFund fund) { Hashtable parameters = new Hashtable(); parameters.Add("fund", fund); IList navCalculations = session.GetListByNamedQuery("B4F.TotalGiro.Instruments.Nav.GetLastNavCalculation", parameters); return (navCalculations.Count > 0 ? (INavCalculation)navCalculations[0] : null); }
public NavCalculation(INavCalculation lastNavCalculation, IVirtualFund fund) : this() { Fund = fund; if (lastNavCalculation != null) { ValuationDate = getNextWorkingDay(lastNavCalculation.ValuationDate); if (ValuationDate > DateTime.Today) throw new ApplicationException( string.Format("Fund '{0}' is up-to-date: a NAV Calculation for the last working day already exists.", fund.Name)); PrevNavCalculation = lastNavCalculation; TotalParticipationsBeforeFill = lastNavCalculation.TotalParticipationsAfterFill; TotalParticipationsAfterFill = lastNavCalculation.TotalParticipationsAfterFill; GrossAssetValue = lastNavCalculation.GrossAssetValue; NettAssetValue = lastNavCalculation.NettAssetValue; NavPerUnit = lastNavCalculation.NavPerUnit; Status = NavCalculationStati.New; PublicOfferPrice = lastNavCalculation.PublicOfferPrice; } }
public static IList GetNavCalculations(IDalSession session, IVirtualFund fund, DateTime navDateFrom, DateTime navDateTo) { Hashtable parameters = new Hashtable(); string hql = string.Format("FROM NavCalculation S WHERE (1 = 1"); if (navDateFrom != DateTime.MinValue) { parameters.Add("NavDateFrom", navDateFrom); hql += " AND S.ValuationDate >= :NavDateFrom"; } if (navDateTo != DateTime.MinValue) { parameters.Add("NavDateTo", navDateTo); hql += " AND S.ValuationDate <= :NavDateTo"; } hql += ")"; return session.GetListByHQL(hql, parameters); }
public FundDetails(IVirtualFund Fund) { this.Key = Fund.Key; this.FundName = Fund.Name; this.HoldingsAccountName = (Fund.HoldingsAccount != null) ? Fund.HoldingsAccount.ShortName : ""; this.TradingAccountName = (Fund.TradingAccount != null) ? Fund.TradingAccount.ShortName : ""; if (Fund.LastNavDate != new DateTime(1, 1, 1)) this.LastNavDate = Fund.LastNavDate; this.LastNavPerUnit = Fund.LastNavPerUnit; this.LastNavPerUnitDisplayString = Fund.LastNavPerUnit.Get(x => x.DisplayString); }