diff options
Diffstat (limited to 'MediaBrowser.Model/ApiClient/ServerCredentials.cs')
| -rw-r--r-- | MediaBrowser.Model/ApiClient/ServerCredentials.cs | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/MediaBrowser.Model/ApiClient/ServerCredentials.cs b/MediaBrowser.Model/ApiClient/ServerCredentials.cs index 787fb9a0d..dbde4a29a 100644 --- a/MediaBrowser.Model/ApiClient/ServerCredentials.cs +++ b/MediaBrowser.Model/ApiClient/ServerCredentials.cs @@ -30,7 +30,32 @@ namespace MediaBrowser.Model.ApiClient if (index != -1) { - list[index] = server; + var existing = list[index]; + + // Merge the data + existing.DateLastAccessed = new[] { existing.DateLastAccessed, server.DateLastAccessed }.Max(); + + if (!string.IsNullOrEmpty(server.AccessToken)) + { + existing.AccessToken = server.AccessToken; + existing.UserId = server.UserId; + } + if (!string.IsNullOrEmpty(server.RemoteAddress)) + { + existing.RemoteAddress = server.RemoteAddress; + } + if (!string.IsNullOrEmpty(server.LocalAddress)) + { + existing.LocalAddress = server.LocalAddress; + } + if (!string.IsNullOrEmpty(server.Name)) + { + existing.Name = server.Name; + } + if (server.WakeOnLanInfos != null && server.WakeOnLanInfos.Count > 0) + { + existing.WakeOnLanInfos = server.WakeOnLanInfos.ToList(); + } } else { |
