public void TestGetCoreDataSetTimePeriods() { var grouping = new GroupingPlusName { YearRange = 1, IndicatorId = IndicatorIds.ObesityYear6, AgeId = AgeIds.Years10To11, SexId = SexIds.Persons, AreaTypeId = AreaTypeIds.CountyAndUnitaryAuthority }; IList<TimePeriod> periods = Reader().GetCoreDataSetTimePeriods(grouping); Assert.IsTrue(periods.Any()); Assert.IsTrue(periods.Count < 20, "distinct might not be included in query if too many results"); Assert.IsTrue(periods.First().Year < periods.Last().Year); }
public void TestGetLatestAvailableDatapoint() { var grouping = new GroupingPlusName { IndicatorId = IndicatorIds.ObesityYear6, SexId= SexIds.Persons, AgeId = AgeIds.Years10To11, DatapointYear = 2001, DatapointQuarter = TimePeriod.Undefined, DatapointMonth = TimePeriod.Undefined, YearRange = 1, AreaTypeId = AreaTypeIds.CountyAndUnitaryAuthority }; var timePeriodHelper = new TimePeriodHelper(grouping); Assert.IsTrue(timePeriodHelper.GetPeriodIfLaterThanDatapoint().Year > 2001); }
public void TestTimePeriodStrings() { var grouping = new GroupingPlusName { YearRange = 1, YearTypeId = YearTypeIds.Calendar, BaselineMonth = TimePeriod.Undefined, BaselineQuarter = TimePeriod.Undefined, BaselineYear = 2002, DatapointMonth = TimePeriod.Undefined, DatapointQuarter = TimePeriod.Undefined, DatapointYear = 2005 }; var timePeriodHelper = new TimePeriodHelper(grouping); Assert.AreEqual("2002", timePeriodHelper.GetBaselineString()); Assert.AreEqual("2005", timePeriodHelper.GetDatapointString()); }
public IList<TimePeriod> GetCoreDataSetTimePeriods(GroupingPlusName groupingPlusNames) { const string query = "select distinct d.Year, d.Quarter, d.Month from CoreDataSet d, Area a" + " where d.AreaCode = a.AreaCode and d.IndicatorId = :indicatorId and d.YearRange = :yearRange" + " and d.SexId = :sexId and d.AgeId = :ageId and a.AreaTypeId in (:areaTypeIds)" + " order by d.Year, d.Quarter, d.Month"; IQuery q = CurrentSession.CreateQuery(query); q.SetParameter("indicatorId", groupingPlusNames.IndicatorId); q.SetParameter("sexId", groupingPlusNames.SexId); q.SetParameter("ageId", groupingPlusNames.AgeId); q.SetParameter("yearRange", groupingPlusNames.YearRange); q.SetParameterList("areaTypeIds", new AreaTypeIdSplitter(new List<int> { groupingPlusNames.AreaTypeId }).Ids); var rows = q.List<object[]>(); List<TimePeriod> periods = new List<TimePeriod>(); if (rows.LongCount() > 0 && rows[0] != null) { foreach (object[] row in rows) { periods.Add(new TimePeriod { YearRange = groupingPlusNames.YearRange, Year = (int) row[0], Quarter = (int) row[1], Month = (int) row[2] }); } } return periods; }
public TimePeriodHelper(GroupingPlusName grouping) { this.grouping = grouping; this.baseline = TimePeriod.GetBaseline(grouping); this.datapoint = TimePeriod.GetDataPoint(grouping); }