# HG changeset patch # User nelopauselli # Date 1306297224 10800 # Node ID 8a4135f019dd4a2430a152b6a225f67e07b41cb2 # Parent ee4e699e455131edf500ccb76ac19f26cd1ffc23 cambio de nombre de una clase diff -r ee4e699e4551 -r 8a4135f019dd Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj --- a/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Wed May 25 01:18:29 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Agendas.Web.csproj Wed May 25 01:20:24 2011 -0300 @@ -69,7 +69,7 @@ Global.asax - + diff -r ee4e699e4551 -r 8a4135f019dd Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/DataAnnotationAndConventionModelMetadataProvider.cs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/DataAnnotationAndConventionModelMetadataProvider.cs Wed May 25 01:20:24 2011 -0300 @@ -0,0 +1,56 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Web.Mvc; + +namespace AltNetHispano.Agendas.Web.CustomModelMetadataProvider +{ + public class DataAnnotationAndConventionModelMetadataProvider : DataAnnotationsModelMetadataProvider + { + private readonly IResolverByConvention _resolverByConvention; + private List _attributeList; + + public DataAnnotationAndConventionModelMetadataProvider(IResolverByConvention resolverByConvention) + { + _resolverByConvention = resolverByConvention; + } + + protected override ModelMetadata CreateMetadata(IEnumerable attributes, Type containerType, Func modelAccessor, Type modelType, string propertyName) + { + _attributeList = new List(attributes); + + var modelMetadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName); + + if (propertyName != null) + { + if (string.IsNullOrWhiteSpace(modelMetadata.DisplayName)) + modelMetadata.DisplayName = _resolverByConvention.GetDisplayName(propertyName); + + if (string.IsNullOrWhiteSpace(modelMetadata.Description)) + modelMetadata.Description = _resolverByConvention.GetDescription(propertyName); + + var validators = _attributeList.OfType(); + foreach (var validator in validators) + { + if (string.IsNullOrWhiteSpace(validator.ErrorMessage) && + string.IsNullOrWhiteSpace(validator.ErrorMessageResourceName)) + { + var resourceName = propertyName + validator.GetType().Name; + if (resourceName.EndsWith("Attribute")) + resourceName = resourceName.Substring(0, resourceName.Length - 9); + var resourceType = validator.ErrorMessageResourceType ?? _resolverByConvention.ResourceType; + var prop = resourceType.GetProperty(resourceName); + if (prop != null) + { + validator.ErrorMessageResourceType = resourceType; + validator.ErrorMessageResourceName = resourceName; + } + } + } + } + + return modelMetadata; + } + } +} \ No newline at end of file diff -r ee4e699e4551 -r 8a4135f019dd Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/DataAnnotationAndResolveByConventionModelMetadataProvider.cs --- a/Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/DataAnnotationAndResolveByConventionModelMetadataProvider.cs Wed May 25 01:18:29 2011 -0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,56 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using System.Linq; -using System.Web.Mvc; - -namespace AltNetHispano.Agendas.Web.CustomModelMetadataProvider -{ - public class DataAnnotationAndResolveByConventionModelMetadataProvider : DataAnnotationsModelMetadataProvider - { - private readonly IResolverByConvention _resolverByConvention; - private List _attributeList; - - public DataAnnotationAndResolveByConventionModelMetadataProvider(IResolverByConvention resolverByConvention) - { - _resolverByConvention = resolverByConvention; - } - - protected override ModelMetadata CreateMetadata(IEnumerable attributes, Type containerType, Func modelAccessor, Type modelType, string propertyName) - { - _attributeList = new List(attributes); - - var modelMetadata = base.CreateMetadata(attributes, containerType, modelAccessor, modelType, propertyName); - - if (propertyName != null) - { - if (string.IsNullOrWhiteSpace(modelMetadata.DisplayName)) - modelMetadata.DisplayName = _resolverByConvention.GetDisplayName(propertyName); - - if (string.IsNullOrWhiteSpace(modelMetadata.Description)) - modelMetadata.Description = _resolverByConvention.GetDescription(propertyName); - - var validators = _attributeList.OfType(); - foreach (var validator in validators) - { - if (string.IsNullOrWhiteSpace(validator.ErrorMessage) && - string.IsNullOrWhiteSpace(validator.ErrorMessageResourceName)) - { - var resourceName = propertyName + validator.GetType().Name; - if (resourceName.EndsWith("Attribute")) - resourceName = resourceName.Substring(0, resourceName.Length - 9); - var resourceType = validator.ErrorMessageResourceType ?? _resolverByConvention.ResourceType; - var prop = resourceType.GetProperty(resourceName); - if (prop != null) - { - validator.ErrorMessageResourceType = resourceType; - validator.ErrorMessageResourceName = resourceName; - } - } - } - } - - return modelMetadata; - } - } -} \ No newline at end of file diff -r ee4e699e4551 -r 8a4135f019dd Agendas/trunk/src/Agendas.Web/Global.asax.cs --- a/Agendas/trunk/src/Agendas.Web/Global.asax.cs Wed May 25 01:18:29 2011 -0300 +++ b/Agendas/trunk/src/Agendas.Web/Global.asax.cs Wed May 25 01:20:24 2011 -0300 @@ -33,7 +33,7 @@ protected void Application_Start() { ModelMetadataProviders.Current = - new DataAnnotationAndResolveByConventionModelMetadataProvider( + new DataAnnotationAndConventionModelMetadataProvider( new ResolverThroughResource()); AreaRegistration.RegisterAllAreas();