Castle.Components.Binder.DataBinder.TrySpecialDateTimeBinding C# (CSharp) Method

TrySpecialDateTimeBinding() private method

private TrySpecialDateTimeBinding ( Type desiredType, Castle.Components.Binder.CompositeNode treeRoot, String paramName, bool &conversionSucceeded ) : object
desiredType System.Type
treeRoot Castle.Components.Binder.CompositeNode
paramName String
conversionSucceeded bool
return object
		private object TrySpecialDateTimeBinding(Type desiredType, CompositeNode treeRoot,
		                                         String paramName, out bool conversionSucceeded)
		{
			string dateUtc = TryGetDateWithUTCFormat(treeRoot, paramName, out conversionSucceeded);

			if (dateUtc != null)
			{
				conversionSucceeded = true;

				DateTime dt = DateTime.Parse(dateUtc);

				if (desiredType.Name == "NullableDateTime")
				{
					TypeConverter typeConverter = TypeDescriptor.GetConverter(desiredType);

					return typeConverter.ConvertFrom(dateUtc);
				}
				else
				{
					return DateTime.Parse(dateUtc);
				}
			}

			conversionSucceeded = false;
			return null;
		}