view Agendas/trunk/src/Agendas.Web/CustomModelMetadataProvider/ResolverThroughResource.cs @ 84:ee4e699e4551

refactoring menor
author nelopauselli
date Wed, 25 May 2011 01:18:29 -0300
parents
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;
		}

	}
}