public BadRequestWithErrorsResult(Exception ex)
 {
     Errors = new ErrorDetailCollection();
     if (ex is ExceptionBase)
     {
         Errors.Add(new ErrorDetail((ExceptionBase)ex));
     }
     else
     {
         Errors.Add(new ErrorDetail(HttpStatusCode.BadRequest, "", Util.AnErrorHasOccured));
     }
 }
        public BadRequestWithErrorsResult(ModelStateDictionary modelStateDictionary, string errorMessage = null)
        {
            Errors = new ErrorDetailCollection();
            foreach (var key in modelStateDictionary.Keys)
            {
                var modelStateItem = modelStateDictionary[key];
                var stringErrors   = string.Join("<br/>",
                                                 modelStateItem.Errors.Where(m => m.ErrorMessage.IsNotEmpty()).Select(m => m.ErrorMessage).Distinct());
                var error = new ErrorDetail(HttpStatusCode.BadRequest, key, stringErrors);
                Errors.Add(error);
            }

            if (!Errors.Any(m => m.Key == string.Empty))
            {
                Errors.Insert(0, new ErrorDetail(HttpStatusCode.BadRequest, "", errorMessage ?? Util.ValidationIssues));
            }
        }