public async Task <ActionResult <ICollection <Guid> > > PostStatements(PostStatementContent model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ICollection <Guid> guids = await _mediator.Send(CreateStatementsCommand.Create(model.Statements));

            return(Ok(guids));
        }
        public async Task BindModelAsync(ModelBindingContext bindingContext)
        {
            if (bindingContext.ModelType != typeof(PostStatementContent))
            {
                return;
            }

            var model = new PostStatementContent();

            var request = bindingContext.ActionContext.HttpContext.Request;

            //string strContentType = request.ContentType ?? MediaTypes.Application.Json;

            //try
            //{
            //    var mediaTypeHeaderValue = MediaTypeHeaderValue.Parse(strContentType);
            //}
            //catch (FormatException ex)
            //{
            //    throw new BadRequestException(ex.InnerException?.Message ?? ex.Message, ex);
            //}

            try
            {
                var jsonModelReader = new JsonModelReader(request.Headers, request.Body);
                model.Statements = await jsonModelReader.ReadAs <StatementCollection>();
            }
            catch (JsonModelReaderException ex)
            {
                throw new BadRequestException(ex.InnerException?.Message ?? ex.Message, ex);
            }

            if (model.Statements == null)
            {
                bindingContext.Result = ModelBindingResult.Failed();
            }
            else
            {
                bindingContext.Result = ModelBindingResult.Success(model);
            }
        }