mirror of https://github.com/lidarr/Lidarr
50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
|
using System;
|
|||
|
using System.ComponentModel;
|
|||
|
using System.Linq;
|
|||
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|