private static GroupRootTrendBuilderBase GetAppropriateBuilderType(Grouping grouping) { if (grouping.IsDataMonthly()) { return new GroupRootTrendBuilderMonthly(); } if (grouping.IsDataQuarterly()) { return new GroupRootTrendBuilderQuarterly(); } return new GroupRootTrendBuilderYearly(); }
private static void AddTimePeriodRestriction(Grouping grouping, ICriteria criteria) { if (grouping.IsDataQuarterly()) { criteria.Add(Restrictions.Gt("Quarter", 0)); } else if (grouping.IsDataMonthly()) { criteria.Add(Restrictions.Gt("Month", 0)); } else { criteria.Add(Restrictions.Eq("Quarter", -1)); criteria.Add(Restrictions.Eq("Month", -1)); criteria.Add(Restrictions.Eq("YearRange", grouping.YearRange)); } }
private IQuery GetQueryLimitedByTimePeriodInterval(Grouping grouping, string query) { IQuery q; if (grouping.IsDataQuarterly()) { q = CurrentSession.CreateQuery(string.Format(query, " and d.Quarter > 0")); } else if (grouping.IsDataMonthly()) { q = CurrentSession.CreateQuery(string.Format(query, " and d.Month > 0")); } else { q = CurrentSession.CreateQuery(string.Format(query, " and d.YearRange = :yearRange and d.Quarter = :quarter")); q.SetParameter("yearRange", grouping.YearRange); q.SetParameter("quarter", grouping.BaselineQuarter); } return q; }