/// <inheritdoc/> public override void PostInitialize() { GlobalFilters.Filters.Add(IocManager.Resolve <StudioXMvcAuthorizeFilter>()); GlobalFilters.Filters.Add(IocManager.Resolve <StudioXAntiForgeryMvcFilter>()); GlobalFilters.Filters.Add(IocManager.Resolve <StudioXMvcAuditFilter>()); GlobalFilters.Filters.Add(IocManager.Resolve <StudioXMvcValidationFilter>()); GlobalFilters.Filters.Add(IocManager.Resolve <StudioXMvcUowFilter>()); var mvcDateTimeBinder = new StudioXMvcDateTimeBinder(); ModelBinders.Binders.Add(typeof(DateTime), mvcDateTimeBinder); ModelBinders.Binders.Add(typeof(DateTime?), mvcDateTimeBinder); }
private void DateTimeBinderLocalTestInternal(string sourceDate) { Clock.Provider = ClockProviders.Local; var resultDate = new DateTime(2016, 04, 13, 08, 58, 10, 526, DateTimeKind.Utc).ToLocalTime(); var fields = new NameValueCollection { { "date", sourceDate } }; var metaData = ModelMetadataProviders.Current.GetMetadataForType(null, typeof(DateTime?)); var binderContext = new ModelBindingContext { ModelName = "date", ModelMetadata = metaData, ValueProvider = new NameValueCollectionValueProvider(fields, null) }; var boundDate = new StudioXMvcDateTimeBinder().BindModel(new ControllerContext(), binderContext) as DateTime?; boundDate.ShouldNotBe(null); boundDate.ShouldBe(resultDate); boundDate.Value.Kind.ShouldBe(Clock.Kind); }