|
|
|
@ -136,12 +136,26 @@ namespace MediaBrowser.Model.Dlna
|
|
|
|
|
return !condition.IsRequired;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (int.TryParse(condition.Value, NumberStyles.Any, CultureInfo.InvariantCulture, out var expected))
|
|
|
|
|
var conditionType = condition.Condition;
|
|
|
|
|
if (condition.Condition == ProfileConditionType.EqualsAny)
|
|
|
|
|
{
|
|
|
|
|
switch (condition.Condition)
|
|
|
|
|
foreach (var singleConditionString in condition.Value.AsSpan().Split('|'))
|
|
|
|
|
{
|
|
|
|
|
if (int.TryParse(singleConditionString, NumberStyles.Integer, CultureInfo.InvariantCulture, out int conditionValue)
|
|
|
|
|
&& conditionValue.Equals(currentValue))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (int.TryParse(condition.Value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var expected))
|
|
|
|
|
{
|
|
|
|
|
switch (conditionType)
|
|
|
|
|
{
|
|
|
|
|
case ProfileConditionType.Equals:
|
|
|
|
|
case ProfileConditionType.EqualsAny:
|
|
|
|
|
return currentValue.Value.Equals(expected);
|
|
|
|
|
case ProfileConditionType.GreaterThanEqual:
|
|
|
|
|
return currentValue.Value >= expected;
|
|
|
|
@ -212,9 +226,24 @@ namespace MediaBrowser.Model.Dlna
|
|
|
|
|
return !condition.IsRequired;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (double.TryParse(condition.Value, NumberStyles.Any, CultureInfo.InvariantCulture, out var expected))
|
|
|
|
|
var conditionType = condition.Condition;
|
|
|
|
|
if (condition.Condition == ProfileConditionType.EqualsAny)
|
|
|
|
|
{
|
|
|
|
|
switch (condition.Condition)
|
|
|
|
|
foreach (var singleConditionString in condition.Value.AsSpan().Split('|'))
|
|
|
|
|
{
|
|
|
|
|
if (double.TryParse(singleConditionString, NumberStyles.Float | NumberStyles.AllowThousands, CultureInfo.InvariantCulture, out double conditionValue)
|
|
|
|
|
&& conditionValue.Equals(currentValue))
|
|
|
|
|
{
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (double.TryParse(condition.Value, NumberStyles.Float | NumberStyles.AllowThousands, CultureInfo.InvariantCulture, out var expected))
|
|
|
|
|
{
|
|
|
|
|
switch (conditionType)
|
|
|
|
|
{
|
|
|
|
|
case ProfileConditionType.Equals:
|
|
|
|
|
return currentValue.Value.Equals(expected);
|
|
|
|
|