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)); } }