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>[] { });
            }
        }