view Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/ResolverThroughResource.cs @ 152:c57ca21064f2

Auto UIHint por el nombre de la propiedad, hay un TODO para mejorarlo
author Nelo@Guinea.neluz.int
date Wed, 03 Aug 2011 00:01:49 -0300
parents ee4e699e4551
children
line wrap: on
line source

using System;

namespace AltNetHispano.Agendas.Web.CustomModelMetadataProvider
{
	public class ResolverThroughResource<T> : IResolverByConvention
	{
		public string GetDisplayName(string propertyName)
		{
			return SearchResource(propertyName);
		}

		public string GetDescription(string propertyName)
		{
			return SearchResource(propertyName + "Description");
		}

		public Type ResourceType
		{
			get { return typeof(T); }
		}

		private static string SearchResource(string resourceName)
		{
			string displayName = null;
			var resourceType = typeof(T);
			var prop = resourceType.GetProperty(resourceName);
			if (prop != null)
			{
				var value = prop.GetValue(resourceType, null);
				displayName = value != null ? value.ToString() : resourceName;
			}
			return displayName;
		}

	}
}