public void DateTimeUtcValueAndDateTimeLocalValueSetCorrectlyFromLocalTime() { var timeZoneId = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time").StandardName; var form = new FormCollection { { "test.LocalTime", "1:00" }, { "test.TimeZoneName", "Eastern Standard Time" } }; var bindingContext = new ModelBindingContext() { ModelName = "test", ValueProvider = form.ToValueProvider() }; var b = new UiDateTimeModelBinder() { DateFieldName = StaticReflection.GetMemberName <UiDateTimeModel>(x => x.LocalDate), TimeFieldName = StaticReflection.GetMemberName <UiDateTimeModel>(x => x.LocalTime), TimeZoneFieldName = StaticReflection.GetMemberName <UiDateTimeModel>(x => x.TimeZoneName) }; var result = (UiDateTimeModel)b.BindModel(null, bindingContext); Assert.AreEqual(DateTime.Parse("01/01/1753 1:00").ToUniversalTime(timeZoneId), result.DateTimeUtcValue); Assert.AreEqual(DateTime.Parse("01/01/1753 1:00"), result.DateTimeLocalValue); }
public void DateTimeCanBePulledViaProvidedMonthDayYearHourMinuteSecondAlternateNames() { var form = new FormCollection { { "test.month", "2" }, { "test.day", "12" }, { "test.year", "1964" }, { "test.hour", "13" }, { "test.minute", "44" }, { "test.second", "00" }, { "test.TimeZoneName", "Eastern Standard Time" } }; var bindingContext = new ModelBindingContext() { ModelName = "test", ValueProvider = form.ToValueProvider() }; var b = new UiDateTimeModelBinder() { MonthFieldName = "month", DayFieldName = "day", YearFieldName = "year", HourFieldName = "hour", MinuteFieldName = "minute", SecondFieldName = "second" }; var result = (UiDateTimeModel)b.BindModel(null, bindingContext); Assert.AreEqual(DateTime.Parse("1964-02-12 13:44"), result.DateTimeLocalValue); }
public void DateCanBePulledViaProvidedMonthDayYear() { var timeZoneId = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time").StandardName; var form = new FormCollection { { "test.month", "2" }, { "test.day", "12" }, { "test.year", "1964" }, { "test.TimeZoneName", "Eastern Standard Time" } }; var bindingContext = new ModelBindingContext() { ModelName = "test", ValueProvider = form.ToValueProvider() }; var b = new UiDateTimeModelBinder() { MonthFieldName = "month", DayFieldName = "day", YearFieldName = "year" }; var result = (UiDateTimeModel)b.BindModel(null, bindingContext); Assert.AreEqual(DateTime.Parse("1964-02-12 12:00 am"), result.DateTimeLocalValue); Assert.AreEqual(DateTime.Parse("1964-02-12 12:00 am").ToUniversalTime(timeZoneId), result.DateTimeUtcValue); }
public void DateCanBePulledViaProvidedMonthDayYear() { var timeZoneId = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time").StandardName; var form = new FormCollection { {"test.month", "2"}, {"test.day", "12"}, {"test.year", "1964"}, {"test.TimeZoneName", "Eastern Standard Time"} }; var bindingContext = new ModelBindingContext() {ModelName = "test", ValueProvider = form.ToValueProvider()}; var b = new UiDateTimeModelBinder() {MonthFieldName = "month", DayFieldName = "day", YearFieldName = "year"}; var result = (UiDateTimeModel) b.BindModel(null, bindingContext); Assert.AreEqual(DateTime.Parse("1964-02-12 12:00 am"), result.DateTimeLocalValue); Assert.AreEqual(DateTime.Parse("1964-02-12 12:00 am").ToUniversalTime(timeZoneId), result.DateTimeUtcValue); }
public void DateTimeCanBePulledViaProvidedMonthDayYearHourMinuteSecondAlternateNames() { var form = new FormCollection { {"test.month", "2"}, {"test.day", "12"}, {"test.year", "1964"}, {"test.hour", "13"}, {"test.minute", "44"}, {"test.second", "00"}, {"test.TimeZoneName", "Eastern Standard Time"} }; var bindingContext = new ModelBindingContext() {ModelName = "test", ValueProvider = form.ToValueProvider()}; var b = new UiDateTimeModelBinder() {MonthFieldName = "month", DayFieldName = "day", YearFieldName = "year", HourFieldName = "hour", MinuteFieldName = "minute", SecondFieldName = "second"}; var result = (UiDateTimeModel) b.BindModel(null, bindingContext); Assert.AreEqual(DateTime.Parse("1964-02-12 13:44"), result.DateTimeLocalValue); }
public void DateTimeUtcValueAndDateTimeLocalValueSetCorrectlyFromLocalDate() { var timeZoneId = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time").StandardName; var form = new FormCollection { {"test.LocalDate", "01/16/2012"}, {"test.TimeZoneName", "Eastern Standard Time"} }; var bindingContext = new ModelBindingContext() {ModelName = "test", ValueProvider = form.ToValueProvider()}; var b = new UiDateTimeModelBinder() { DateFieldName = StaticReflection.GetMemberName<UiDateTimeModel>(x => x.LocalDate), TimeFieldName = StaticReflection.GetMemberName<UiDateTimeModel>(x => x.LocalTime), TimeZoneFieldName = StaticReflection.GetMemberName<UiDateTimeModel>(x => x.TimeZoneName) }; var result = (UiDateTimeModel) b.BindModel(null, bindingContext); Assert.AreEqual(DateTime.Parse("01/16/2012 00:00").ToUniversalTime(timeZoneId), result.DateTimeUtcValue); Assert.AreEqual(DateTime.Parse("01/16/2012 00:00"), result.DateTimeLocalValue); }