ServerCredentials.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using MediaBrowser.Model.Extensions;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. namespace MediaBrowser.Model.ApiClient
  6. {
  7. public class ServerCredentials
  8. {
  9. public List<ServerInfo> Servers { get; set; }
  10. public string ConnectUserId { get; set; }
  11. public string ConnectAccessToken { get; set; }
  12. public ServerCredentials()
  13. {
  14. Servers = new List<ServerInfo>();
  15. }
  16. public void AddOrUpdateServer(ServerInfo server)
  17. {
  18. if (server == null)
  19. {
  20. throw new ArgumentNullException("server");
  21. }
  22. var list = Servers.ToList();
  23. var index = FindIndex(list, server.Id);
  24. if (index != -1)
  25. {
  26. list[index] = server;
  27. }
  28. else
  29. {
  30. list.Add(server);
  31. }
  32. Servers = list;
  33. }
  34. private int FindIndex(List<ServerInfo> servers, string id)
  35. {
  36. var index = 0;
  37. foreach (var server in servers)
  38. {
  39. if (StringHelper.Equals(id, server.Id))
  40. {
  41. return index;
  42. }
  43. index++;
  44. }
  45. return -1;
  46. }
  47. }
  48. }