From 7a3068661cafe27ce5536f736b2aa610a099844a Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 17 May 2021 22:56:07 +0800 Subject: [PATCH 1/2] Handle the case where datetime is null. --- .../AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs index 66124748cc..fd18f21e60 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs @@ -22,8 +22,9 @@ namespace Volo.Abp.AspNetCore.Mvc.ModelBinding await _dateTimeModelBinder.BindModelAsync(bindingContext); if (bindingContext.Result.IsModelSet) { - // ReSharper disable once PossibleNullReferenceException - bindingContext.Result = ModelBindingResult.Success(_clock.Normalize((DateTime) bindingContext.Result.Model)); + bindingContext.Result = ModelBindingResult.Success(bindingContext.Result.Model != null + ? _clock.Normalize((DateTime) bindingContext.Result.Model) + : bindingContext.Result.Model); } } } From 4549d714c813793293db092c8e83955d8fd3797c Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 17 May 2021 23:01:55 +0800 Subject: [PATCH 2/2] Merge sequential checks. --- .../AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs index fd18f21e60..cf2203a8e9 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/ModelBinding/AbpDateTimeModelBinder.cs @@ -20,11 +20,9 @@ namespace Volo.Abp.AspNetCore.Mvc.ModelBinding public async Task BindModelAsync(ModelBindingContext bindingContext) { await _dateTimeModelBinder.BindModelAsync(bindingContext); - if (bindingContext.Result.IsModelSet) + if (bindingContext.Result.IsModelSet && bindingContext.Result.Model is DateTime dateTime) { - bindingContext.Result = ModelBindingResult.Success(bindingContext.Result.Model != null - ? _clock.Normalize((DateTime) bindingContext.Result.Model) - : bindingContext.Result.Model); + bindingContext.Result = ModelBindingResult.Success(_clock.Normalize(dateTime)); } } }