private void HandleLevels(AbsRowData rowdata, SourceMappingsElement item, List <KeyValuePair <T, T> > retlist) { for (var i = 0; i < item.Labels.Length; i++) { var dimension = _schema.Dimensions[item.Labels[i]]; if (dimension.TypeOf == DimensionType.Date) { var dtDimension = (DimensionDateTime <T>)dimension; var value = ((DateTime?)rowdata[item.Field]).Value; T segment = DateTimeMemberGenerator.TransformToDateId <T>(value, dtDimension.DateLevel); KeyValuePair <T, T> pair = new KeyValuePair <T, T>(dimension.ID, segment); retlist.Add(pair); if (!dtDimension.Members.ContainsKey(segment)) { dtDimension.Members.Add(new Member <T> { ID = segment, Name = DateTimeMemberGenerator.GetLevelName(value, dtDimension.DateLevel) }); } } } }
private IEnumerable <Tuple <T, string> > PrePopulate() { var tempDate = DateTime.Now; switch (DateLevel) { case DateTimeLevels.YEAR: return(new Tuple <T, string>[] { new Tuple <T, string>(DateTimeMemberGenerator.TransformToDateId <T>(tempDate, DateLevel), DateTimeMemberGenerator.GetLevelName(tempDate, DateLevel)) }); case DateTimeLevels.MONTH_WITH_YEAR: return(DateTimeMemberGenerator.GetAllMonthsInYear <T>(tempDate)); case DateTimeLevels.MONTH: return(DateTimeMemberGenerator.GetAllMonthsInYear <T>()); case DateTimeLevels.DAY: return(DateTimeMemberGenerator.GetAllDays <T>()); default: return(new Tuple <T, string>[] { }); } }