public static WebStatus GetStatus(this ModelStateDictionary modelState, HttpStatusCode errorStatusCode = HttpStatusCode.BadRequest)
        {
            var status = new WebStatus();

            foreach (var error in modelState.Values.SelectMany(modelStateEntry => modelStateEntry.Errors))
            {
                status.AddError(error.ErrorMessage ?? "Internal Server Error"); // if an exception, don't leak the potentially sensitive details
            }

            if (status.HasError)
            {
                status.StatusCode = errorStatusCode;
            }
            return(status);
        }