public static IList GetAverageHoldings(IDalSession session, IAccountTypeInternal account, DateTime startDate, DateTime endDate, ValuationTypesFilterOptions filterOption) { Hashtable parameters = new Hashtable(1); parameters.Add("account", account); parameters.Add("startDate", startDate); parameters.Add("endDate", endDate); string instrumentFilter = ""; switch (filterOption) { case ValuationTypesFilterOptions.Security: instrumentFilter = "and I.Key in (select S.Key from TradeableInstrument S) "; break; case ValuationTypesFilterOptions.Monetary: instrumentFilter = "and I.Key in (select C.Key from Currency C) "; break; } string hql = string.Format(@"from AverageHolding A left join fetch A.Instrument I where A.Account = :account and (A.BeginDate between :startDate and :endDate ) {0} order by I.Key, A.BeginDate", instrumentFilter); return session.GetListByHQL(hql, parameters); }
public static IList<IValuation> GetValuations(IDalSession session, int accountID, DateTime[] dates, bool includeClosedPositions, ValuationTypesFilterOptions filterOption) { Hashtable parameters = new Hashtable(1); Hashtable parameterLists = new Hashtable(1); parameters.Add("accountID", accountID); parameterLists.Add("dates", dates); if (includeClosedPositions) parameters.Add("includeClosedPositions", 1); switch (filterOption) { case ValuationTypesFilterOptions.Security: parameters.Add("instrumentFilterTradeableInstruments", 1); break; case ValuationTypesFilterOptions.Monetary: parameters.Add("instrumentFilterCurrencies", 1); break; } return session.GetTypedListByNamedQuery<IValuation>( "B4F.TotalGiro.Valuations.GetValuationData", parameters, parameterLists); }