This commit is contained in:
Paul Schneider 2026-02-14 16:54:27 +00:00
commit 45514010f2
3505 changed files with 154 additions and 523 deletions

View file

@ -0,0 +1,43 @@
using System;
using System.Globalization;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.ModelBinding;
namespace Yavsc
{
public class MyDecimalModelBinder : IModelBinder
{
async Task IModelBinder.BindModelAsync(ModelBindingContext bindingContext)
{
ValueProviderResult valueResult = bindingContext.ValueProvider
.GetValue(bindingContext.ModelName);
decimal actualValue ;
try {
bindingContext.Result = ModelBindingResult.Success(
Decimal.Parse(valueResult.FirstValue, System.Globalization.NumberStyles.AllowDecimalPoint));
}
catch (Exception ) {
bindingContext.Result = ModelBindingResult.Failed();
}
}
}
public class MyDateTimeModelBinder : IModelBinder
{
async Task IModelBinder.BindModelAsync(ModelBindingContext bindingContext)
{
ValueProviderResult valueResult = bindingContext.ValueProvider
.GetValue(bindingContext.ModelName);
DateTime actualValue ;
// DateTime are sent in the french format
if (DateTime.TryParse(valueResult.FirstValue,new CultureInfo("fr-FR"), DateTimeStyles.AllowInnerWhite, out actualValue))
{
bindingContext.Result = ModelBindingResult.Success(actualValue);
}
else bindingContext.Result = ModelBindingResult.Failed();
}
}
}