diff options
| author | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-24 16:53:54 -0500 |
|---|---|---|
| committer | LukePulverenti <luke.pulverenti@gmail.com> | 2013-02-24 16:53:54 -0500 |
| commit | 8ce3e74e8112a94773df22827849bf274fc88198 (patch) | |
| tree | a4ce1edf34466be697e2e432609f6be80b6c6df6 /MediaBrowser.Api/UserService.cs | |
| parent | 6c86721f6de2acbe68e9419064ff21111ff3a223 (diff) | |
More DI
Diffstat (limited to 'MediaBrowser.Api/UserService.cs')
| -rw-r--r-- | MediaBrowser.Api/UserService.cs | 45 |
1 files changed, 39 insertions, 6 deletions
diff --git a/MediaBrowser.Api/UserService.cs b/MediaBrowser.Api/UserService.cs index c76479d19..d4490d856 100644 --- a/MediaBrowser.Api/UserService.cs +++ b/MediaBrowser.Api/UserService.cs @@ -1,16 +1,16 @@ using MediaBrowser.Common.Extensions; using MediaBrowser.Common.Net; -using MediaBrowser.Common.Serialization; using MediaBrowser.Controller; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Serialization; using ServiceStack.ServiceHost; +using ServiceStack.Text.Controller; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; -using ServiceStack.Text.Controller; namespace MediaBrowser.Api { @@ -136,6 +136,39 @@ namespace MediaBrowser.Api public class UserService : BaseRestService { /// <summary> + /// The _XML serializer + /// </summary> + private readonly IXmlSerializer _xmlSerializer; + + /// <summary> + /// The _json serializer + /// </summary> + private readonly IJsonSerializer _jsonSerializer; + + /// <summary> + /// Initializes a new instance of the <see cref="UserService" /> class. + /// </summary> + /// <param name="xmlSerializer">The XML serializer.</param> + /// <param name="jsonSerializer">The json serializer.</param> + /// <exception cref="System.ArgumentNullException">xmlSerializer</exception> + public UserService(IXmlSerializer xmlSerializer, IJsonSerializer jsonSerializer) + : base() + { + if (jsonSerializer == null) + { + throw new ArgumentNullException("jsonSerializer"); + } + + if (xmlSerializer == null) + { + throw new ArgumentNullException("xmlSerializer"); + } + + _jsonSerializer = jsonSerializer; + _xmlSerializer = xmlSerializer; + } + + /// <summary> /// Gets the specified request. /// </summary> /// <param name="request">The request.</param> @@ -262,10 +295,10 @@ namespace MediaBrowser.Api // https://code.google.com/p/servicestack/source/browse/trunk/Common/ServiceStack.Text/ServiceStack.Text/Controller/PathInfo.cs var pathInfo = PathInfo.Parse(Request.PathInfo); var id = new Guid(pathInfo.GetArgumentValue<string>(1)); - + var kernel = (Kernel)Kernel; - var dtoUser = JsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream); + var dtoUser = _jsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream); var user = kernel.GetUserById(id); @@ -273,7 +306,7 @@ namespace MediaBrowser.Api Task.WaitAll(task); - user.UpdateConfiguration(dtoUser.Configuration); + user.UpdateConfiguration(dtoUser.Configuration, _xmlSerializer); } /// <summary> @@ -285,7 +318,7 @@ namespace MediaBrowser.Api { var kernel = (Kernel)Kernel; - var dtoUser = JsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream); + var dtoUser = _jsonSerializer.DeserializeFromStream<UserDto>(request.RequestStream); var newUser = kernel.UserManager.CreateUser(dtoUser.Name).Result; |
