view Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/ResolverThroughResource.cs @ 186:71737419a839

Ticket 143: Test de unidad, y algo de configuración para acortar URL con servicio de Google.
author juanjose.montesdeocaarbos
date Tue, 09 Aug 2011 08:43:25 -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;
		}

	}
}