private PracticeAxis GetPracticeAxis(int indicatorId, TimePeriod period, int sexId, IndicatorMetadata metadata) { PracticeAxis axis = new PracticeAxis(); axis.IndicatorData = new PracticeDataAccess().GetPracticeCodeToValidValueMap(indicatorId, period, sexId); if (axis.IndicatorData.Count > 0) { axis.Limits = GetLimits(axis.IndicatorData); axis.Title = GetTitle(metadata); } return axis; }
public PracticeValueCollection Build(PracticeAxis axis1, PracticeAxis axis2) { bool isAreacode = !string.IsNullOrEmpty(AreaCode); // Indicator 1 IndicatorMetadata indicatorMetadata1 = indicatorMetadataRepository.GetIndicatorMetadata(IndicatorId1); Grouping grouping1 = reader.GetGroupings(GroupId1, IndicatorId1, AreaTypeIds.GpPractice, SexId1, AgeId1).FirstOrDefault(); TimePeriod period1 = new DataPointOffsetCalculator(grouping1, DataPointOffset, indicatorMetadata1.YearType).TimePeriod; if (axis1 == null) { axis1 = GetPracticeAxis(IndicatorId1, period1, SexId1, indicatorMetadata1); if (axis1 == null) { return collection; } } collection.PracticeAxis1 = axis1; if (isAreacode) { CoreDataSet practiceData = reader.GetCoreData(grouping1, period1, AreaCode).FirstOrDefault(); if (practiceData != null && practiceData.IsValueValid) { collection.PracticeValue1 = practiceData.Value; } } // Indicator 2 IndicatorMetadata indicatorMetadata2 = indicatorMetadataRepository.GetIndicatorMetadata(IndicatorId2); Grouping grouping2 = reader.GetGroupings(GroupId2, IndicatorId2, AreaTypeIds.GpPractice, SexId2, AgeId2).FirstOrDefault(); TimePeriod period2 = new DataPointOffsetCalculator(grouping2, DataPointOffset, indicatorMetadata2.YearType).TimePeriod; if (axis2 == null) { axis2 = GetPracticeAxis(IndicatorId2, period2, SexId2, indicatorMetadata2); if (axis2 == null) { return collection; } } collection.PracticeAxis2 = axis2; if (isAreacode) { CoreDataSet practiceData = reader.GetCoreData(grouping2, period2, AreaCode).FirstOrDefault(); if (practiceData != null && practiceData.IsValueValid) { collection.PracticeValue2 = practiceData.Value; } } AssignChildAreas(grouping1); return collection; }
private static void SetLimitsAndTitle(Axis axis, PracticeAxis practiceAxis) { axis.Minimum = practiceAxis.Limits.Min; axis.Maximum = practiceAxis.Limits.Max; axis.Title = practiceAxis.Title; }