BuildFeed/BuildFeed/Code/DateTimeModelBinder.cs
2016-08-30 11:39:52 +01:00

26 lines
866 B
C#

using System;
using System.Globalization;
using System.Web.Mvc;
namespace BuildFeed.Code
{
public class DateTimeModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
ValueProviderResult value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
DateTime retValue;
bool success = DateTime.TryParse(value.AttemptedValue, CultureInfo.CurrentUICulture.DateTimeFormat, DateTimeStyles.AllowWhiteSpaces, out retValue);
if (!success)
{
success = DateTime.TryParseExact(value.AttemptedValue, "yyMMdd-HHmm", CultureInfo.InvariantCulture, DateTimeStyles.AllowWhiteSpaces, out retValue);
}
return success
? retValue as DateTime?
: null;
}
}
}