store person sort order in xml
This commit is contained in:
parent
bce86c5022
commit
6ee94ee1a2
|
@ -1198,6 +1198,7 @@ namespace MediaBrowser.Controller.Entities
|
||||||
if (existing != null)
|
if (existing != null)
|
||||||
{
|
{
|
||||||
existing.Type = PersonType.GuestStar;
|
existing.Type = PersonType.GuestStar;
|
||||||
|
existing.SortOrder = person.SortOrder ?? existing.SortOrder;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1214,16 +1215,29 @@ namespace MediaBrowser.Controller.Entities
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Was there, if no role and we have one - fill it in
|
// Was there, if no role and we have one - fill it in
|
||||||
if (string.IsNullOrWhiteSpace(existing.Role) && !string.IsNullOrWhiteSpace(person.Role)) existing.Role = person.Role;
|
if (string.IsNullOrWhiteSpace(existing.Role) && !string.IsNullOrWhiteSpace(person.Role))
|
||||||
|
{
|
||||||
|
existing.Role = person.Role;
|
||||||
|
}
|
||||||
|
|
||||||
|
existing.SortOrder = person.SortOrder ?? existing.SortOrder;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var existing = People.FirstOrDefault(p =>
|
||||||
|
string.Equals(p.Name, person.Name, StringComparison.OrdinalIgnoreCase) &&
|
||||||
|
string.Equals(p.Type, person.Type, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
// Check for dupes based on the combination of Name and Type
|
// Check for dupes based on the combination of Name and Type
|
||||||
if (!People.Any(p => string.Equals(p.Name, person.Name, StringComparison.OrdinalIgnoreCase) && string.Equals(p.Type, person.Type, StringComparison.OrdinalIgnoreCase)))
|
if (existing == null)
|
||||||
{
|
{
|
||||||
People.Add(person);
|
People.Add(person);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
existing.SortOrder = person.SortOrder ?? existing.SortOrder;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1075,6 +1075,7 @@ namespace MediaBrowser.Controller.Providers
|
||||||
var names = new List<string>();
|
var names = new List<string>();
|
||||||
var type = "Actor"; // If type is not specified assume actor
|
var type = "Actor"; // If type is not specified assume actor
|
||||||
var role = string.Empty;
|
var role = string.Empty;
|
||||||
|
int? sortOrder = null;
|
||||||
|
|
||||||
reader.MoveToContent();
|
reader.MoveToContent();
|
||||||
|
|
||||||
|
@ -1109,6 +1110,20 @@ namespace MediaBrowser.Controller.Providers
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case "SortOrder":
|
||||||
|
{
|
||||||
|
var val = reader.ReadElementContentAsString();
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(val))
|
||||||
|
{
|
||||||
|
int intVal;
|
||||||
|
if (int.TryParse(val, NumberStyles.Integer, _usCulture, out intVal))
|
||||||
|
{
|
||||||
|
sortOrder = intVal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
default:
|
default:
|
||||||
reader.Skip();
|
reader.Skip();
|
||||||
|
@ -1117,7 +1132,7 @@ namespace MediaBrowser.Controller.Providers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return names.Select(n => new PersonInfo { Name = n.Trim(), Role = role, Type = type });
|
return names.Select(n => new PersonInfo { Name = n.Trim(), Role = role, Type = type, SortOrder = sortOrder });
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -463,6 +463,12 @@ namespace MediaBrowser.Providers.Savers
|
||||||
builder.Append("<Name>" + SecurityElement.Escape(person.Name) + "</Name>");
|
builder.Append("<Name>" + SecurityElement.Escape(person.Name) + "</Name>");
|
||||||
builder.Append("<Type>" + SecurityElement.Escape(person.Type) + "</Type>");
|
builder.Append("<Type>" + SecurityElement.Escape(person.Type) + "</Type>");
|
||||||
builder.Append("<Role>" + SecurityElement.Escape(person.Role) + "</Role>");
|
builder.Append("<Role>" + SecurityElement.Escape(person.Role) + "</Role>");
|
||||||
|
|
||||||
|
if (person.SortOrder.HasValue)
|
||||||
|
{
|
||||||
|
builder.Append("<SortOrder>" + SecurityElement.Escape(person.SortOrder.Value.ToString(UsCulture)) + "</SortOrder>");
|
||||||
|
}
|
||||||
|
|
||||||
builder.Append("</Person>");
|
builder.Append("</Person>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user