This commit is contained in:
ScottIsAFool Scott Lovegrove ScottIsAFool 2012-09-07 10:44:44 +01:00
commit 59c844fa7d
6 changed files with 67 additions and 47 deletions

View File

@ -1,13 +1,60 @@
using System; using MediaBrowser.Model.DTO;
using System.Collections.Generic; using System;
using System.Linq;
using System.Text;
using System.Net;
using System.IO; using System.IO;
using System.Net;
namespace MediaBrowser.ApiInteraction.Portable namespace MediaBrowser.ApiInteraction.Portable
{ {
public class ApiClient : BaseApiClient public class ApiClient : BaseApiClient
{ {
private HttpWebRequest GetNewRequest(string url)
{
return HttpWebRequest.CreateHttp(url);
}
/// <summary>
/// Gets all users
/// </summary>
public void GetAllUsersAsync(Action<DTOUser[]> callback)
{
string url = ApiUrl + "/users";
GetDataAsync<DTOUser[]>(url, callback);
}
private void GetDataAsync<T>(string url, Action<T> callback)
{
GetDataAsync<T>(url, callback, SerializationFormat);
}
private void GetDataAsync<T>(string url, Action<T> callback, SerializationFormats serializationFormat)
{
if (url.IndexOf('?') == -1)
{
url += "?dataformat=" + serializationFormat.ToString();
}
else
{
url += "&dataformat=" + serializationFormat.ToString();
}
HttpWebRequest request = GetNewRequest(url);
request.BeginGetResponse(new AsyncCallback(result =>
{
T value;
using (WebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result))
{
using (Stream stream = response.GetResponseStream())
{
value = DeserializeFromStream<T>(stream);
}
}
callback(value);
}), request);
}
} }
} }

View File

@ -1,13 +1,12 @@
using System; using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Weather;
using System;
using System.IO; using System.IO;
using System.Net; using System.Net;
using System.Net.Http; using System.Net.Http;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using MediaBrowser.Model.Configuration;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Weather;
namespace MediaBrowser.ApiInteraction namespace MediaBrowser.ApiInteraction
{ {
@ -62,35 +61,6 @@ namespace MediaBrowser.ApiInteraction
} }
} }
public void GetAllUsersAsync(Action<DTOUser[]> callback)
{
string url = ApiUrl + "/users";
HttpWebRequest request = HttpWebRequest.CreateHttp(url);
request.BeginGetResponse(new AsyncCallback(result =>
{
HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
Stream stream = response.GetResponseStream();
}), request);
}
public void GetData<T>(string url, SerializationFormats serializationFormat, Action<T> callback)
{
HttpWebRequest request = HttpWebRequest.CreateHttp(url);
//request.AutomaticDecompression = DecompressionMethods.Deflate;
request.BeginGetResponse(new AsyncCallback(result =>
{
HttpWebResponse response = (result.AsyncState as HttpWebRequest).EndGetResponse(result) as HttpWebResponse;
Stream stream = response.GetResponseStream();
}), request);
}
/// <summary> /// <summary>
/// Gets all Genres /// Gets all Genres
/// </summary> /// </summary>

View File

@ -1,7 +1,7 @@
using System; using MediaBrowser.Model.DTO;
using System.IO;
using MediaBrowser.Model.DTO;
using MediaBrowser.Model.Entities; using MediaBrowser.Model.Entities;
using System;
using System.IO;
namespace MediaBrowser.ApiInteraction namespace MediaBrowser.ApiInteraction
{ {

View File

@ -236,7 +236,7 @@ namespace MediaBrowser.Controller
user.Name = "Default User"; user.Name = "Default User";
user.Id = Guid.Parse("5d1cf7fce25943b790d140095457a42b"); user.Id = Guid.Parse("5d1cf7fce25943b790d140095457a42b");
user.PrimaryImagePath = @"g:\Mel.jpg";
list.Add(user); list.Add(user);
user = new User(); user = new User();
@ -245,16 +245,19 @@ namespace MediaBrowser.Controller
user.LastLoginDate = DateTime.UtcNow.AddDays(-1); user.LastLoginDate = DateTime.UtcNow.AddDays(-1);
user.LastActivityDate = DateTime.UtcNow.AddHours(-3); user.LastActivityDate = DateTime.UtcNow.AddHours(-3);
user.Password = GetMD5("1234").ToString(); user.Password = GetMD5("1234").ToString();
user.PrimaryImagePath = @"g:\abobader.jpg";
list.Add(user); list.Add(user);
user = new User(); user = new User();
user.Name = "Scottisafool"; user.Name = "Scottisafool";
user.Id = Guid.NewGuid(); user.Id = Guid.NewGuid();
user.PrimaryImagePath = @"g:\Scott.jpg";
list.Add(user); list.Add(user);
user = new User(); user = new User();
user.Name = "Redshirt"; user.Name = "Redshirt";
user.Id = Guid.NewGuid(); user.Id = Guid.NewGuid();
user.PrimaryImagePath = @"g:\redshirt.png";
list.Add(user); list.Add(user);
/*user = new User(); /*user = new User();

View File

@ -1,5 +1,5 @@
using System; using ProtoBuf;
using ProtoBuf; using System;
namespace MediaBrowser.Model.DTO namespace MediaBrowser.Model.DTO
{ {

View File

@ -1,6 +1,6 @@
using System.ComponentModel.Composition; using MediaBrowser.Common.Plugins;
using MediaBrowser.Common.Plugins;
using MediaBrowser.Model.Plugins; using MediaBrowser.Model.Plugins;
using System.ComponentModel.Composition;
namespace MediaBrowser.WebDashboard namespace MediaBrowser.WebDashboard
{ {