Beispiel #1
0
        protected override PropertyLookupInformation GetInfo(StorageLookupTable slt)
        {
            var propInfo    = base.GetInfo(slt);
            var rowKeyBytes = Convert.FromBase64String(slt.rowKey.Replace('_', '/'));
            var stringValue = rowKeyBytes.GetString(System.Text.Encoding.UTF8);

            propInfo.value = stringValue;
            return(propInfo);
        }
        protected override PropertyLookupInformation GetInfo(StorageLookupTable slt)
        {
            var info     = base.GetInfo(slt);
            var value    = (string)info.value;
            var timeSpan = this.Row;

            info.value = GetValue();
            return(info);

            object GetValue()
            {
                var yearStr = value.Substring(0, 4);

                if (!int.TryParse(yearStr, out int year))
                {
                    return(value);
                }
                if (timeSpan == TimeSpanUnits.years)
                {
                    return(new DateTime(year, 0, 0));
                }

                var monthStr = value.Substring(4, 2);

                if (!int.TryParse(monthStr, out int month))
                {
                    return(new DateTime(year, 0, 0));
                }
                if (timeSpan == TimeSpanUnits.months)
                {
                    return(new DateTime(year, month, 0));
                }

                var dayStr = value.Substring(6, 2);

                if (!int.TryParse(dayStr, out int day))
                {
                    return(new DateTime(year, month, 0));
                }
                if (timeSpan == TimeSpanUnits.days)
                {
                    return(new DateTime(year, month, day));
                }

                var hourStr = value.Substring(8, 2);

                if (!int.TryParse(hourStr, out int hour))
                {
                    return(new DateTime(year, month, day));
                }
                if (timeSpan == TimeSpanUnits.hours)
                {
                    return(new DateTime(year, month, day, hour, 0, 0));
                }

                var minStr = value.Substring(10, 2);

                if (!int.TryParse(minStr, out int min))
                {
                    return(new DateTime(year, month, day, hour, 0, 0));
                }
                if (timeSpan == TimeSpanUnits.minutes)
                {
                    return(new DateTime(year, month, day, hour, min, 0));
                }

                var secondsStr = value.Substring(12, 2);

                if (!int.TryParse(secondsStr, out int seconds))
                {
                    return(new DateTime(year, month, day, hour, min, 0));
                }
                return(new DateTime(year, month, day, hour, min, seconds));
            }
        }