You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.2 KiB
52 lines
1.2 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Xml.Linq;
|
|
|
|
namespace NzbDrone.Core.Helpers
|
|
{
|
|
public static class XElementHelper
|
|
{
|
|
public static T ConvertTo<T>(this XElement element)
|
|
{
|
|
if (element == null)
|
|
return default(T);
|
|
|
|
if (String.IsNullOrEmpty(element.Value))
|
|
return default(T);
|
|
|
|
var converter = TypeDescriptor.GetConverter(typeof(T));
|
|
try
|
|
{
|
|
return (T)converter.ConvertFromString(element.Value);
|
|
}
|
|
|
|
catch
|
|
{
|
|
return default(T);
|
|
}
|
|
}
|
|
|
|
public static DayOfWeek? ConvertToDayOfWeek(this XElement element)
|
|
{
|
|
if (element == null)
|
|
return null;
|
|
|
|
if (String.IsNullOrWhiteSpace(element.Value))
|
|
return null;
|
|
|
|
try
|
|
{
|
|
return (DayOfWeek)Enum.Parse(typeof(DayOfWeek), element.Value);
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
|
|
return null;
|
|
}
|
|
}
|
|
}
|