dotnet-object-storage/PoweredSoft.ObjectStorage.MongoDB.AspNetCore/ObjectIdModelBinder.cs
2019-02-15 11:08:37 -06:00

19 lines
554 B
C#

using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc.ModelBinding;
using MongoDB.Bson;
namespace PoweredSoft.ObjectStorage.MongoDB.AspNetCore
{
public class ObjectIdModelBinder : IModelBinder
{
public Task BindModelAsync(ModelBindingContext bindingContext)
{
var result = bindingContext.ValueProvider.GetValue(bindingContext.FieldName);
bindingContext.Result = ModelBindingResult.Success(new ObjectId(result.FirstValue));
return Task.CompletedTask;
}
}
}