Skip to content

Instantly share code, notes, and snippets.

@msiddiqi
Created March 29, 2012 01:28
Show Gist options
  • Save msiddiqi/2232206 to your computer and use it in GitHub Desktop.
Save msiddiqi/2232206 to your computer and use it in GitHub Desktop.
namespace EFCodeFirstValidation.Helpers
{
using System.Linq;
using System.Text;
using System.Data.Entity.Validation;
using System.Collections.Generic;
class DbEntityValidationMessageParser
{
internal static string GetErrorMessage(DbEntityValidationException validationException)
{
StringBuilder messageBuilder = new StringBuilder("Validation Errors").AppendLine();
var messages = from validationResult in validationException.EntityValidationErrors
select GetErrorMessage(validationResult);
messages.ToList<string>().ForEach(m => messageBuilder.AppendLine(m));
return messageBuilder.ToString();
}
internal static string GetErrorMessage(IEnumerable<DbEntityValidationResult> validationResults)
{
StringBuilder errorMessagBuilder = new StringBuilder();
validationResults.ToList<DbEntityValidationResult>()
.ForEach(result => errorMessagBuilder.AppendLine(GetErrorMessage(result)));
return errorMessagBuilder.ToString();
}
internal static string GetErrorMessage(DbEntityValidationResult validationResult)
{
return GetErrorMessage(validationResult.ValidationErrors);
}
internal static string GetErrorMessage(ICollection<DbValidationError> validationErrors)
{
StringBuilder errorMessageBuilder = new StringBuilder();
List<string> errorMessages = (from validationError in validationErrors
select string.Format(
"Property: {0}, Error Message: {1}",
validationError.PropertyName,
validationError.ErrorMessage)).ToList<string>();
errorMessages.ToList<string>().ForEach(m => errorMessageBuilder.AppendLine(m));
return errorMessageBuilder.ToString();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment