Files
ZuneShell.dll/ZuneShell/ZuneUI/BirthdayPropertyDescriptor.cs
T

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