mirror of
https://github.com/ZuneDev/ZuneShell.dll.git
synced 2026-07-27 13:11:51 -07:00
71 lines
2.4 KiB
C#
71 lines
2.4 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: ZuneUI.BirthdayPropertyDescriptor
|
|
// Assembly: ZuneShell, Version=4.7.0.0, Culture=neutral, PublicKeyToken=ddd0da4d3e678217
|
|
// MVID: FC8028F3-A47B-4FB4-B35B-11D1752D8264
|
|
// Assembly location: C:\Program Files\Zune\ZuneShell.dll
|
|
|
|
using System;
|
|
|
|
namespace ZuneUI
|
|
{
|
|
public class BirthdayPropertyDescriptor : DatePropertyDescriptor
|
|
{
|
|
public BirthdayPropertyDescriptor(string name, string multiValueString, string unknownString)
|
|
: base(name, multiValueString, unknownString)
|
|
{
|
|
}
|
|
|
|
public BirthdayPropertyDescriptor(
|
|
string name,
|
|
string multiValueString,
|
|
string unknownString,
|
|
bool required)
|
|
: base(name, multiValueString, unknownString, required)
|
|
{
|
|
}
|
|
|
|
public override bool IsValidInternal(string value) => this.IsValidInternal(value, null);
|
|
|
|
public override string ConvertToString(object value, object state)
|
|
{
|
|
string unknownString = this.UnknownString;
|
|
DateTime? nullable = (DateTime?)value;
|
|
if (nullable.HasValue && nullable.Value != DateTime.MinValue)
|
|
unknownString = DateTimeHelper.ToString((DateTime)value, state as string, DateTimeFormatType.ShortDate);
|
|
return unknownString;
|
|
}
|
|
|
|
public override object ConvertFromString(string value, object state)
|
|
{
|
|
DateTime dateTime = DateTime.MinValue;
|
|
string cultureString = state as string;
|
|
DateTimeHelper.TryParse(value, cultureString, out dateTime);
|
|
return dateTime;
|
|
}
|
|
|
|
public override bool IsValidInternal(string value, object state)
|
|
{
|
|
string cultureString = state as string;
|
|
bool flag;
|
|
if (StringParserHelper.IsNullOrEmptyOrBlank(value))
|
|
{
|
|
flag = !this.IsRequired(state);
|
|
}
|
|
else
|
|
{
|
|
DateTime dateTime;
|
|
flag = DateTimeHelper.TryParse(value, cultureString, out dateTime);
|
|
if (flag && dateTime > DateTime.Now)
|
|
flag = false;
|
|
}
|
|
return flag;
|
|
}
|
|
|
|
internal override string GetOverlayString(object state)
|
|
{
|
|
string cultureString = state as string;
|
|
return !string.IsNullOrEmpty(cultureString) ? DateTimeHelper.GetDisplayPattern(cultureString) : null;
|
|
}
|
|
}
|
|
}
|