From 4f207c43dd912b710345e083adfb6ad45c849b1d Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Fri, 17 Oct 2014 00:52:41 -0400 Subject: update connect methods --- MediaBrowser.Model/ApiClient/ServerCredentials.cs | 60 +++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 MediaBrowser.Model/ApiClient/ServerCredentials.cs (limited to 'MediaBrowser.Model/ApiClient/ServerCredentials.cs') diff --git a/MediaBrowser.Model/ApiClient/ServerCredentials.cs b/MediaBrowser.Model/ApiClient/ServerCredentials.cs new file mode 100644 index 000000000..787fb9a0d --- /dev/null +++ b/MediaBrowser.Model/ApiClient/ServerCredentials.cs @@ -0,0 +1,60 @@ +using MediaBrowser.Model.Extensions; +using System; +using System.Collections.Generic; +using System.Linq; + +namespace MediaBrowser.Model.ApiClient +{ + public class ServerCredentials + { + public List Servers { get; set; } + + public string ConnectUserId { get; set; } + public string ConnectAccessToken { get; set; } + + public ServerCredentials() + { + Servers = new List(); + } + + public void AddOrUpdateServer(ServerInfo server) + { + if (server == null) + { + throw new ArgumentNullException("server"); + } + + var list = Servers.ToList(); + + var index = FindIndex(list, server.Id); + + if (index != -1) + { + list[index] = server; + } + else + { + list.Add(server); + } + + Servers = list; + } + + private int FindIndex(List servers, string id) + { + var index = 0; + + foreach (var server in servers) + { + if (StringHelper.Equals(id, server.Id)) + { + return index; + } + + index++; + } + + return -1; + } + } +} -- cgit v1.2.3