aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Helpers/InvalidModelResponseFactory.cs
blob: 0927365786c4c75439edb31c65e258dc19457c08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
using Microsoft.AspNetCore.Mvc;
using System.Text;
using TimelineApp.Models.Http;

namespace TimelineApp.Helpers
{
    public static class InvalidModelResponseFactory
    {
        public static IActionResult Factory(ActionContext context)
        {
            var modelState = context.ModelState;

            var messageBuilder = new StringBuilder();
            foreach (var model in modelState)
                foreach (var error in model.Value.Errors)
                {
                    messageBuilder.Append(model.Key);
                    messageBuilder.Append(" : ");
                    messageBuilder.AppendLine(error.ErrorMessage);
                }

            return new BadRequestObjectResult(ErrorResponse.Common.CustomMessage_InvalidModel(messageBuilder.ToString()));
        }
    }
}