Browse Source

More code cleanups

LukePulverenti Luke Pulverenti luke pulverenti 12 năm trước cách đây
mục cha
commit
f1e668bad8
58 tập tin đã thay đổi với 296 bổ sung298 xóa
  1. 14 14
      MediaBrowser.Api/ApiService.cs
  2. 3 3
      MediaBrowser.Api/HttpHandlers/BaseMediaHandler.cs
  3. 7 7
      MediaBrowser.Api/HttpHandlers/GenreHandler.cs
  4. 9 9
      MediaBrowser.Api/HttpHandlers/GenresHandler.cs
  5. 1 4
      MediaBrowser.Api/HttpHandlers/ImageHandler.cs
  6. 2 5
      MediaBrowser.Api/HttpHandlers/ItemListHandler.cs
  7. 2 5
      MediaBrowser.Api/HttpHandlers/MovieSpecialFeaturesHandler.cs
  8. 7 7
      MediaBrowser.Api/HttpHandlers/PersonHandler.cs
  9. 8 11
      MediaBrowser.Api/HttpHandlers/PluginsHandler.cs
  10. 7 7
      MediaBrowser.Api/HttpHandlers/StudioHandler.cs
  11. 10 10
      MediaBrowser.Api/HttpHandlers/StudiosHandler.cs
  12. 1 1
      MediaBrowser.Api/HttpHandlers/UserHandler.cs
  13. 2 2
      MediaBrowser.Api/HttpHandlers/VideoHandler.cs
  14. 7 7
      MediaBrowser.Api/HttpHandlers/YearHandler.cs
  15. 9 9
      MediaBrowser.Api/HttpHandlers/YearsHandler.cs
  16. 1 1
      MediaBrowser.Api/ImageProcessor.cs
  17. 1 1
      MediaBrowser.ApiInteraction/ApiClient.cs
  18. 5 5
      MediaBrowser.ApiInteraction/BaseApiClient.cs
  19. 15 15
      MediaBrowser.ApiInteraction/BaseHttpApiClient.cs
  20. 6 6
      MediaBrowser.ApiInteraction/DataSerializer.cs
  21. 2 1
      MediaBrowser.Common/Kernel/BaseApplicationPaths.cs
  22. 3 3
      MediaBrowser.Common/Kernel/BaseKernel.cs
  23. 1 1
      MediaBrowser.Common/Kernel/KernelContext.cs
  24. 2 2
      MediaBrowser.Common/Logging/BaseLogger.cs
  25. 18 18
      MediaBrowser.Common/Net/Handlers/BaseHandler.cs
  26. 10 9
      MediaBrowser.Common/Net/Handlers/BaseSerializationHandler.cs
  27. 14 14
      MediaBrowser.Common/Net/Handlers/StaticFileHandler.cs
  28. 9 9
      MediaBrowser.Common/Net/HttpServer.cs
  29. 21 21
      MediaBrowser.Common/Plugins/BasePlugin.cs
  30. 3 3
      MediaBrowser.Common/Serialization/JsonSerializer.cs
  31. 2 2
      MediaBrowser.Common/Serialization/XmlSerializer.cs
  32. 2 2
      MediaBrowser.Common/UI/BaseApplication.cs
  33. 5 5
      MediaBrowser.Common/UI/SingleInstance.cs
  34. 4 4
      MediaBrowser.Common/UI/Splash.xaml.cs
  35. 3 3
      MediaBrowser.Controller/Entities/UserItemData.cs
  36. 6 6
      MediaBrowser.Controller/FFMpeg/FFProbe.cs
  37. 3 3
      MediaBrowser.Controller/IO/DirectoryWatchers.cs
  38. 3 3
      MediaBrowser.Controller/IO/Shortcut.cs
  39. 8 8
      MediaBrowser.Controller/Kernel.cs
  40. 6 10
      MediaBrowser.Controller/Library/ItemController.cs
  41. 1 1
      MediaBrowser.Controller/Providers/AudioInfoProvider.cs
  42. 3 3
      MediaBrowser.Controller/Providers/BaseItemXmlParser.cs
  43. 1 1
      MediaBrowser.Controller/Providers/FolderProviderFromXml.cs
  44. 3 3
      MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs
  45. 2 2
      MediaBrowser.Controller/Providers/LocalTrailerProvider.cs
  46. 1 1
      MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs
  47. 2 2
      MediaBrowser.Controller/Providers/Movies/MovieSpecialFeaturesProvider.cs
  48. 3 3
      MediaBrowser.Controller/Providers/TV/EpisodeImageFromMediaLocationProvider.cs
  49. 1 1
      MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs
  50. 1 1
      MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs
  51. 3 3
      MediaBrowser.Controller/Providers/VideoInfoProvider.cs
  52. 2 2
      MediaBrowser.Controller/Resolvers/Movies/MovieResolver.cs
  53. 2 9
      MediaBrowser.Controller/Resolvers/TV/SeasonResolver.cs
  54. 2 2
      MediaBrowser.Controller/Weather/WeatherClient.cs
  55. 1 1
      MediaBrowser.Model/DTO/IBNItem.cs
  56. 1 1
      MediaBrowser.Model/MediaBrowser.Model.csproj
  57. 24 3
      MediaBrowser.ServerApplication/App.xaml.cs
  58. 1 3
      MediaBrowser.ServerApplication/MainWindow.xaml.cs

+ 14 - 14
MediaBrowser.Api/ApiService.cs

@@ -76,9 +76,9 @@ namespace MediaBrowser.Api
             bool includeChildren = true,
             bool includePeople = true)
         {
-            DtoBaseItem dto = new DtoBaseItem();
+            var dto = new DtoBaseItem();
 
-            List<Task> tasks = new List<Task>();
+            var tasks = new List<Task>();
 
             tasks.Add(AttachStudios(dto, item));
 
@@ -134,7 +134,7 @@ namespace MediaBrowser.Api
             dto.OfficialRating = item.OfficialRating;
             dto.Overview = item.Overview;
 
-            // If there are no backdrops, indicate what parent has them in case the UI wants to allow inheritance
+            // If there are no backdrops, indicate what parent has them in case the Ui wants to allow inheritance
             if (dto.BackdropCount == 0)
             {
                 int backdropCount;
@@ -149,7 +149,7 @@ namespace MediaBrowser.Api
 
             dto.ParentIndexNumber = item.ParentIndexNumber;
 
-            // If there is no logo, indicate what parent has one in case the UI wants to allow inheritance
+            // If there is no logo, indicate what parent has one in case the Ui wants to allow inheritance
             if (!dto.HasLogo)
             {
                 dto.ParentLogoItemId = GetParentLogoItemId(item);
@@ -174,7 +174,7 @@ namespace MediaBrowser.Api
 
             dto.UserData = GetDtoUserItemData(item.GetUserData(user, false));
 
-            Folder folder = item as Folder;
+            var folder = item as Folder;
 
             if (folder != null)
             {
@@ -185,7 +185,7 @@ namespace MediaBrowser.Api
             }
 
             // Add AudioInfo
-            Audio audio = item as Audio;
+            var audio = item as Audio;
 
             if (audio != null)
             {
@@ -200,7 +200,7 @@ namespace MediaBrowser.Api
             }
 
             // Add VideoInfo
-            Video video = item as Video;
+            var video = item as Video;
 
             if (video != null)
             {
@@ -225,11 +225,11 @@ namespace MediaBrowser.Api
             }
 
             // Add SeriesInfo
-            Series series = item as Series;
+            var series = item as Series;
 
             if (series != null)
             {
-                DayOfWeek[] airDays = series.AirDays == null ? new DayOfWeek[] { } : series.AirDays.ToArray(); ;
+                DayOfWeek[] airDays = series.AirDays == null ? new DayOfWeek[] { } : series.AirDays.ToArray(); 
 
                 dto.SeriesInfo = new SeriesInfo
                 {
@@ -240,7 +240,7 @@ namespace MediaBrowser.Api
             }
 
             // Add MovieInfo
-            Movie movie = item as Movie;
+            var movie = item as Movie;
 
             if (movie != null)
             {
@@ -268,7 +268,7 @@ namespace MediaBrowser.Api
                 for (int i = 0; i < entities.Length; i++)
                 {
                     Studio entity = entities[i];
-                    BaseItemStudio baseItemStudio = new BaseItemStudio();
+                    var baseItemStudio = new BaseItemStudio{};
 
                     baseItemStudio.Name = entity.Name;
 
@@ -317,7 +317,7 @@ namespace MediaBrowser.Api
 
                 dto.People = item.People.Select(p =>
                 {
-                    BaseItemPerson baseItemPerson = new BaseItemPerson();
+                    var baseItemPerson = new BaseItemPerson{};
 
                     baseItemPerson.Name = p.Key;
                     baseItemPerson.Overview = p.Value.Overview;
@@ -381,9 +381,9 @@ namespace MediaBrowser.Api
         /// <summary>
         /// Gets an ImagesByName entity along with the number of items containing it
         /// </summary>
-        public static IBNItem GetIBNItem(BaseEntity entity, int itemCount)
+        public static IbnItem GetIbnItem(BaseEntity entity, int itemCount)
         {
-            return new IBNItem
+            return new IbnItem
             {
                 Id = entity.Id,
                 BaseItemCount = itemCount,

+ 3 - 3
MediaBrowser.Api/HttpHandlers/BaseMediaHandler.cs

@@ -147,7 +147,7 @@ namespace MediaBrowser.Api.HttpHandlers
 
         protected async override Task WriteResponseToOutputStream(Stream stream)
         {
-            ProcessStartInfo startInfo = new ProcessStartInfo();
+            var startInfo = new ProcessStartInfo{};
 
             startInfo.CreateNoWindow = true;
 
@@ -163,7 +163,7 @@ namespace MediaBrowser.Api.HttpHandlers
 
             Logger.LogInfo(startInfo.FileName + " " + startInfo.Arguments);
 
-            Process process = new Process();
+            var process = new Process{};
             process.StartInfo = startInfo;
 
             // FFMpeg writes debug/error info to stderr. This is useful when debugging so let's put it in the log directory.
@@ -208,7 +208,7 @@ namespace MediaBrowser.Api.HttpHandlers
                 LogFileStream.Dispose();
             }
 
-            Process process = sender as Process;
+            var process = sender as Process;
 
             Logger.LogInfo("FFMpeg exited with code " + process.ExitCode);
 

+ 7 - 7
MediaBrowser.Api/HttpHandlers/GenreHandler.cs

@@ -15,17 +15,17 @@ namespace MediaBrowser.Api.HttpHandlers
     /// Gets a single genre
     /// </summary>
     [Export(typeof(BaseHandler))]
-    public class GenreHandler : BaseSerializationHandler<IBNItem>
+    public class GenreHandler : BaseSerializationHandler<IbnItem>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("genre", request);
         }
-        
-        protected override Task<IBNItem> GetObjectToSerialize()
+
+        protected override Task<IbnItem> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
-            User user = ApiService.GetUserById(QueryString["userid"], true);
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var user = ApiService.GetUserById(QueryString["userid"], true);
 
             string name = QueryString["name"];
 
@@ -35,7 +35,7 @@ namespace MediaBrowser.Api.HttpHandlers
         /// <summary>
         /// Gets a Genre
         /// </summary>
-        private async Task<IBNItem> GetGenre(Folder parent, User user, string name)
+        private async Task<IbnItem> GetGenre(Folder parent, User user, string name)
         {
             int count = 0;
 
@@ -51,7 +51,7 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the original entity so that we can also supply the PrimaryImagePath
-            return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetGenre(name).ConfigureAwait(false), count);
+            return ApiService.GetIbnItem(await Kernel.Instance.ItemController.GetGenre(name).ConfigureAwait(false), count);
         }
     }
 }

+ 9 - 9
MediaBrowser.Api/HttpHandlers/GenresHandler.cs

@@ -11,16 +11,16 @@ using System.Threading.Tasks;
 namespace MediaBrowser.Api.HttpHandlers
 {
     [Export(typeof(BaseHandler))]
-    public class GenresHandler : BaseSerializationHandler<IBNItem[]>
+    public class GenresHandler : BaseSerializationHandler<IbnItem[]>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("genres", request);
         }
-        
-        protected override Task<IBNItem[]> GetObjectToSerialize()
+
+        protected override Task<IbnItem[]> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
             User user = ApiService.GetUserById(QueryString["userid"], true);
 
             return GetAllGenres(parent, user);
@@ -30,9 +30,9 @@ namespace MediaBrowser.Api.HttpHandlers
         /// Gets all genres from all recursive children of a folder
         /// The CategoryInfo class is used to keep track of the number of times each genres appears
         /// </summary>
-        private async Task<IBNItem[]> GetAllGenres(Folder parent, User user)
+        private async Task<IbnItem[]> GetAllGenres(Folder parent, User user)
         {
-            Dictionary<string, int> data = new Dictionary<string, int>();
+            var data = new Dictionary<string, int>();
 
             // Get all the allowed recursive children
             IEnumerable<BaseItem> allItems = parent.GetParentalAllowedRecursiveChildren(user);
@@ -60,16 +60,16 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the Genre objects
-            Genre[] entities = await Task.WhenAll(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetGenre(key); })).ConfigureAwait(false);
+            Genre[] entities = await Task.WhenAll(data.Keys.Select(key => Kernel.Instance.ItemController.GetGenre(key))).ConfigureAwait(false);
 
             // Convert to an array of IBNItem
-            IBNItem[] items = new IBNItem[entities.Length];
+            var items = new IbnItem[entities.Length];
 
             for (int i = 0; i < entities.Length; i++)
             {
                 Genre e = entities[i];
 
-                items[i] = ApiService.GetIBNItem(e, data[e.Name]);
+                items[i] = ApiService.GetIbnItem(e, data[e.Name]);
             }
 
             return items;

+ 1 - 4
MediaBrowser.Api/HttpHandlers/ImageHandler.cs

@@ -24,10 +24,7 @@ namespace MediaBrowser.Api.HttpHandlers
         private string _imagePath;
         private async Task<string> GetImagePath()
         {
-            if (_imagePath == null)
-            {
-                _imagePath = await DiscoverImagePath();
-            }
+            _imagePath = _imagePath ?? await DiscoverImagePath();
 
             return _imagePath;
         }

+ 2 - 5
MediaBrowser.Api/HttpHandlers/ItemListHandler.cs

@@ -22,15 +22,12 @@ namespace MediaBrowser.Api.HttpHandlers
         {
             User user = ApiService.GetUserById(QueryString["userid"], true);
 
-            return Task.WhenAll(GetItemsToSerialize(user).Select(i =>
-            {
-                return ApiService.GetDtoBaseItem(i, user, includeChildren: false, includePeople: false);
-            }));
+            return Task.WhenAll(GetItemsToSerialize(user).Select(i => ApiService.GetDtoBaseItem(i, user, includeChildren: false, includePeople: false)));
         }
 
         private IEnumerable<BaseItem> GetItemsToSerialize(User user)
         {
-            Folder parent = ApiService.GetItemById(ItemId) as Folder;
+            var parent = ApiService.GetItemById(ItemId) as Folder;
 
             if (ListType.Equals("inprogressitems", StringComparison.OrdinalIgnoreCase))
             {

+ 2 - 5
MediaBrowser.Api/HttpHandlers/MovieSpecialFeaturesHandler.cs

@@ -24,7 +24,7 @@ namespace MediaBrowser.Api.HttpHandlers
         {
             User user = ApiService.GetUserById(QueryString["userid"], true);
 
-            Movie movie = ApiService.GetItemById(ItemId) as Movie;
+            var movie = ApiService.GetItemById(ItemId) as Movie;
 
             // If none
             if (movie.SpecialFeatures == null)
@@ -32,10 +32,7 @@ namespace MediaBrowser.Api.HttpHandlers
                 return Task.FromResult(new DtoBaseItem[] { });
             }
 
-            return Task.WhenAll(movie.SpecialFeatures.Select(i =>
-            {
-                return ApiService.GetDtoBaseItem(i, user, includeChildren: false);
-            }));
+            return Task.WhenAll(movie.SpecialFeatures.Select(i => ApiService.GetDtoBaseItem(i, user, includeChildren: false)));
         }
 
         protected string ItemId

+ 7 - 7
MediaBrowser.Api/HttpHandlers/PersonHandler.cs

@@ -13,17 +13,17 @@ namespace MediaBrowser.Api.HttpHandlers
     /// Gets a single Person
     /// </summary>
     [Export(typeof(BaseHandler))]
-    public class PersonHandler : BaseSerializationHandler<IBNItem>
+    public class PersonHandler : BaseSerializationHandler<IbnItem>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("person", request);
         }
-        
-        protected override Task<IBNItem> GetObjectToSerialize()
+
+        protected override Task<IbnItem> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
-            User user = ApiService.GetUserById(QueryString["userid"], true);
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var user = ApiService.GetUserById(QueryString["userid"], true);
 
             string name = QueryString["name"];
 
@@ -33,7 +33,7 @@ namespace MediaBrowser.Api.HttpHandlers
         /// <summary>
         /// Gets a Person
         /// </summary>
-        private async Task<IBNItem> GetPerson(Folder parent, User user, string name)
+        private async Task<IbnItem> GetPerson(Folder parent, User user, string name)
         {
             int count = 0;
 
@@ -49,7 +49,7 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the original entity so that we can also supply the PrimaryImagePath
-            return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetPerson(name).ConfigureAwait(false), count);
+            return ApiService.GetIbnItem(await Kernel.Instance.ItemController.GetPerson(name).ConfigureAwait(false), count);
         }
     }
 }

+ 8 - 11
MediaBrowser.Api/HttpHandlers/PluginsHandler.cs

@@ -19,20 +19,17 @@ namespace MediaBrowser.Api.HttpHandlers
         {
             return ApiService.IsApiUrlMatch("plugins", request);
         }
-        
+
         protected override Task<IEnumerable<PluginInfo>> GetObjectToSerialize()
         {
-            var plugins = Kernel.Instance.Plugins.Select(p =>
+            var plugins = Kernel.Instance.Plugins.Select(p => new PluginInfo
             {
-                return new PluginInfo
-                {
-                    Name = p.Name,
-                    Enabled = p.Enabled,
-                    DownloadToUI = p.DownloadToUI,
-                    Version = p.Version.ToString(),
-                    AssemblyFileName = p.AssemblyFileName,
-                    ConfigurationDateLastModified = p.ConfigurationDateLastModified
-                };
+                Name = p.Name,
+                Enabled = p.Enabled,
+                DownloadToUI = p.DownloadToUi,
+                Version = p.Version.ToString(),
+                AssemblyFileName = p.AssemblyFileName,
+                ConfigurationDateLastModified = p.ConfigurationDateLastModified
             });
 
             return Task.FromResult(plugins);

+ 7 - 7
MediaBrowser.Api/HttpHandlers/StudioHandler.cs

@@ -15,17 +15,17 @@ namespace MediaBrowser.Api.HttpHandlers
     /// Gets a single studio
     /// </summary>
     [Export(typeof(BaseHandler))]
-    public class StudioHandler : BaseSerializationHandler<IBNItem>
+    public class StudioHandler : BaseSerializationHandler<IbnItem>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("studio", request);
         }
-        
-        protected override Task<IBNItem> GetObjectToSerialize()
+
+        protected override Task<IbnItem> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
-            User user = ApiService.GetUserById(QueryString["userid"], true);
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var user = ApiService.GetUserById(QueryString["userid"], true);
 
             string name = QueryString["name"];
 
@@ -35,7 +35,7 @@ namespace MediaBrowser.Api.HttpHandlers
         /// <summary>
         /// Gets a Studio
         /// </summary>
-        private async Task<IBNItem> GetStudio(Folder parent, User user, string name)
+        private async Task<IbnItem> GetStudio(Folder parent, User user, string name)
         {
             int count = 0;
 
@@ -51,7 +51,7 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the original entity so that we can also supply the PrimaryImagePath
-            return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetStudio(name).ConfigureAwait(false), count);
+            return ApiService.GetIbnItem(await Kernel.Instance.ItemController.GetStudio(name).ConfigureAwait(false), count);
         }
     }
 }

+ 10 - 10
MediaBrowser.Api/HttpHandlers/StudiosHandler.cs

@@ -11,17 +11,17 @@ using System.Threading.Tasks;
 namespace MediaBrowser.Api.HttpHandlers
 {
     [Export(typeof(BaseHandler))]
-    public class StudiosHandler : BaseSerializationHandler<IBNItem[]>
+    public class StudiosHandler : BaseSerializationHandler<IbnItem[]>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("studios", request);
         }
-        
-        protected override Task<IBNItem[]> GetObjectToSerialize()
+
+        protected override Task<IbnItem[]> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
-            User user = ApiService.GetUserById(QueryString["userid"], true);
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var user = ApiService.GetUserById(QueryString["userid"], true);
 
             return GetAllStudios(parent, user);
         }
@@ -30,9 +30,9 @@ namespace MediaBrowser.Api.HttpHandlers
         /// Gets all studios from all recursive children of a folder
         /// The CategoryInfo class is used to keep track of the number of times each studio appears
         /// </summary>
-        private async Task<IBNItem[]> GetAllStudios(Folder parent, User user)
+        private async Task<IbnItem[]> GetAllStudios(Folder parent, User user)
         {
-            Dictionary<string, int> data = new Dictionary<string, int>();
+            var data = new Dictionary<string, int>();
 
             // Get all the allowed recursive children
             IEnumerable<BaseItem> allItems = parent.GetParentalAllowedRecursiveChildren(user);
@@ -60,16 +60,16 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the Studio objects
-            Studio[] entities = await Task.WhenAll(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetStudio(key); })).ConfigureAwait(false);
+            Studio[] entities = await Task.WhenAll(data.Keys.Select(key => Kernel.Instance.ItemController.GetStudio(key))).ConfigureAwait(false);
 
             // Convert to an array of IBNItem
-            IBNItem[] items = new IBNItem[entities.Length];
+            var items = new IbnItem[entities.Length];
 
             for (int i = 0; i < entities.Length; i++)
             {
                 Studio e = entities[i];
 
-                items[i] = ApiService.GetIBNItem(e, data[e.Name]);
+                items[i] = ApiService.GetIbnItem(e, data[e.Name]);
             }
 
             return items;

+ 1 - 1
MediaBrowser.Api/HttpHandlers/UserHandler.cs

@@ -19,7 +19,7 @@ namespace MediaBrowser.Api.HttpHandlers
         {
             string id = QueryString["id"];
 
-            User user = string.IsNullOrEmpty(id) ? ApiService.GetDefaultUser(false) : ApiService.GetUserById(id, false); ;
+            User user = string.IsNullOrEmpty(id) ? ApiService.GetDefaultUser(false) : ApiService.GetUserById(id, false);
 
             DtoUser dto = ApiService.GetDtoUser(user);
 

+ 2 - 2
MediaBrowser.Api/HttpHandlers/VideoHandler.cs

@@ -81,7 +81,7 @@ namespace MediaBrowser.Api.HttpHandlers
         /// <summary>
         /// Translates the output file extension to the format param that follows "-f" on the ffmpeg command line
         /// </summary>
-        private string GetFFMpegOutputFormat(VideoOutputFormats outputFormat)
+        private string GetFfMpegOutputFormat(VideoOutputFormats outputFormat)
         {
             if (outputFormat == VideoOutputFormats.Mkv)
             {
@@ -110,7 +110,7 @@ namespace MediaBrowser.Api.HttpHandlers
                 LibraryItem.Path,
                 GetVideoArguments(outputFormat),
                 GetAudioArguments(outputFormat),
-                GetFFMpegOutputFormat(outputFormat)
+                GetFfMpegOutputFormat(outputFormat)
                 );
         }
 

+ 7 - 7
MediaBrowser.Api/HttpHandlers/YearHandler.cs

@@ -13,17 +13,17 @@ namespace MediaBrowser.Api.HttpHandlers
     /// Gets a single year
     /// </summary>
     [Export(typeof(BaseHandler))]
-    public class YearHandler : BaseSerializationHandler<IBNItem>
+    public class YearHandler : BaseSerializationHandler<IbnItem>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("year", request);
         }
-        
-        protected override Task<IBNItem> GetObjectToSerialize()
+
+        protected override Task<IbnItem> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
-            User user = ApiService.GetUserById(QueryString["userid"], true);
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var user = ApiService.GetUserById(QueryString["userid"], true);
 
             string year = QueryString["year"];
 
@@ -33,7 +33,7 @@ namespace MediaBrowser.Api.HttpHandlers
         /// <summary>
         /// Gets a Year
         /// </summary>
-        private async Task<IBNItem> GetYear(Folder parent, User user, int year)
+        private async Task<IbnItem> GetYear(Folder parent, User user, int year)
         {
             int count = 0;
 
@@ -49,7 +49,7 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the original entity so that we can also supply the PrimaryImagePath
-            return ApiService.GetIBNItem(await Kernel.Instance.ItemController.GetYear(year).ConfigureAwait(false), count);
+            return ApiService.GetIbnItem(await Kernel.Instance.ItemController.GetYear(year).ConfigureAwait(false), count);
         }
     }
 }

+ 9 - 9
MediaBrowser.Api/HttpHandlers/YearsHandler.cs

@@ -11,16 +11,16 @@ using System.Threading.Tasks;
 namespace MediaBrowser.Api.HttpHandlers
 {
     [Export(typeof(BaseHandler))]
-    public class YearsHandler : BaseSerializationHandler<IBNItem[]>
+    public class YearsHandler : BaseSerializationHandler<IbnItem[]>
     {
         public override bool HandlesRequest(HttpListenerRequest request)
         {
             return ApiService.IsApiUrlMatch("years", request);
         }
-        
-        protected override Task<IBNItem[]> GetObjectToSerialize()
+
+        protected override Task<IbnItem[]> GetObjectToSerialize()
         {
-            Folder parent = ApiService.GetItemById(QueryString["id"]) as Folder;
+            var parent = ApiService.GetItemById(QueryString["id"]) as Folder;
             User user = ApiService.GetUserById(QueryString["userid"], true);
 
             return GetAllYears(parent, user);
@@ -30,9 +30,9 @@ namespace MediaBrowser.Api.HttpHandlers
         /// Gets all years from all recursive children of a folder
         /// The CategoryInfo class is used to keep track of the number of times each year appears
         /// </summary>
-        private async Task<IBNItem[]> GetAllYears(Folder parent, User user)
+        private async Task<IbnItem[]> GetAllYears(Folder parent, User user)
         {
-            Dictionary<int, int> data = new Dictionary<int, int>();
+            var data = new Dictionary<int, int>();
 
             // Get all the allowed recursive children
             IEnumerable<BaseItem> allItems = parent.GetParentalAllowedRecursiveChildren(user);
@@ -57,16 +57,16 @@ namespace MediaBrowser.Api.HttpHandlers
             }
 
             // Get the Year objects
-            Year[] entities = await Task.WhenAll(data.Keys.Select(key => { return Kernel.Instance.ItemController.GetYear(key); })).ConfigureAwait(false);
+            Year[] entities = await Task.WhenAll(data.Keys.Select(key => Kernel.Instance.ItemController.GetYear(key))).ConfigureAwait(false);
 
             // Convert to an array of IBNItem
-            IBNItem[] items = new IBNItem[entities.Length];
+            var items = new IbnItem[entities.Length];
 
             for (int i = 0; i < entities.Length; i++)
             {
                 Year e = entities[i];
 
-                items[i] = ApiService.GetIBNItem(e, data[int.Parse(e.Name)]);
+                items[i] = ApiService.GetIbnItem(e, data[int.Parse(e.Name)]);
             }
 
             return items;

+ 1 - 1
MediaBrowser.Api/ImageProcessor.cs

@@ -79,7 +79,7 @@ namespace MediaBrowser.Api
                 quality = 90;
             }
 
-            using (EncoderParameters encoderParameters = new EncoderParameters(1))
+            using (var encoderParameters = new EncoderParameters(1))
             {
                 encoderParameters.Param[0] = new EncoderParameter(Encoder.Quality, quality.Value);
                 newImage.Save(target, GetImageCodeInfo("image/jpeg"), encoderParameters);

+ 1 - 1
MediaBrowser.ApiInteraction/ApiClient.cs

@@ -11,7 +11,7 @@ namespace MediaBrowser.ApiInteraction
         }
 
         public ApiClient()
-            : this(new WebRequestHandler() { CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate) })
+            : this(new WebRequestHandler { CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate) })
         {
         }
     }

+ 5 - 5
MediaBrowser.ApiInteraction/BaseApiClient.cs

@@ -12,7 +12,7 @@ namespace MediaBrowser.ApiInteraction
     /// </summary>
     public abstract class BaseApiClient : IDisposable
     {
-        public BaseApiClient()
+        protected BaseApiClient()
         {
             DataSerializer.Configure();
         }
@@ -45,7 +45,7 @@ namespace MediaBrowser.ApiInteraction
         {
             get
             {
-                return ApiInteraction.SerializationFormats.Protobuf;
+                return SerializationFormats.Protobuf;
             }
         }
 
@@ -301,8 +301,8 @@ namespace MediaBrowser.ApiInteraction
         /// <param name="quality">Quality level, from 0-100. Currently only applies to JPG. The default value should suffice.</param>
         public string[] GetBackdropImageUrls(DtoBaseItem item, int? width = null, int? height = null, int? maxWidth = null, int? maxHeight = null, int? quality = null)
         {
-            Guid? backdropItemId = null;
-            int backdropCount = 0;
+            Guid? backdropItemId;
+            int backdropCount;
 
             if (item.BackdropCount == 0)
             {
@@ -320,7 +320,7 @@ namespace MediaBrowser.ApiInteraction
                 return new string[] { };
             }
 
-            string[] files = new string[backdropCount];
+            var files = new string[backdropCount];
 
             for (int i = 0; i < backdropCount; i++)
             {

+ 15 - 15
MediaBrowser.ApiInteraction/BaseHttpApiClient.cs

@@ -28,7 +28,7 @@ namespace MediaBrowser.ApiInteraction
 
         private WebClient HttpClient { get; set; }
 #else
-        public BaseHttpApiClient(HttpClientHandler handler)
+        protected BaseHttpApiClient(HttpClientHandler handler)
             : base()
         {
             handler.AutomaticDecompression = DecompressionMethods.Deflate;
@@ -81,13 +81,13 @@ namespace MediaBrowser.ApiInteraction
         /// <summary>
         /// Gets all Genres
         /// </summary>
-        public async Task<IBNItem[]> GetAllGenresAsync(Guid userId)
+        public async Task<IbnItem[]> GetAllGenresAsync(Guid userId)
         {
             string url = ApiUrl + "/genres?userId=" + userId.ToString();
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem[]>(stream);
+                return DeserializeFromStream<IbnItem[]>(stream);
             }
         }
 
@@ -174,13 +174,13 @@ namespace MediaBrowser.ApiInteraction
         /// <summary>
         /// Gets all Years
         /// </summary>
-        public async Task<IBNItem[]> GetAllYearsAsync(Guid userId)
+        public async Task<IbnItem[]> GetAllYearsAsync(Guid userId)
         {
             string url = ApiUrl + "/years?userId=" + userId.ToString();
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem[]>(stream);
+                return DeserializeFromStream<IbnItem[]>(stream);
             }
         }
 
@@ -265,13 +265,13 @@ namespace MediaBrowser.ApiInteraction
         /// <summary>
         /// Gets all studious
         /// </summary>
-        public async Task<IBNItem[]> GetAllStudiosAsync(Guid userId)
+        public async Task<IbnItem[]> GetAllStudiosAsync(Guid userId)
         {
             string url = ApiUrl + "/studios?userId=" + userId.ToString();
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem[]>(stream);
+                return DeserializeFromStream<IbnItem[]>(stream);
             }
         }
 
@@ -297,52 +297,52 @@ namespace MediaBrowser.ApiInteraction
         /// <summary>
         /// Gets a studio
         /// </summary>
-        public async Task<IBNItem> GetStudioAsync(Guid userId, string name)
+        public async Task<IbnItem> GetStudioAsync(Guid userId, string name)
         {
             string url = ApiUrl + "/studio?userId=" + userId.ToString() + "&name=" + name;
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem>(stream);
+                return DeserializeFromStream<IbnItem>(stream);
             }
         }
 
         /// <summary>
         /// Gets a genre
         /// </summary>
-        public async Task<IBNItem> GetGenreAsync(Guid userId, string name)
+        public async Task<IbnItem> GetGenreAsync(Guid userId, string name)
         {
             string url = ApiUrl + "/genre?userId=" + userId.ToString() + "&name=" + name;
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem>(stream);
+                return DeserializeFromStream<IbnItem>(stream);
             }
         }
 
         /// <summary>
         /// Gets a person
         /// </summary>
-        public async Task<IBNItem> GetPersonAsync(Guid userId, string name)
+        public async Task<IbnItem> GetPersonAsync(Guid userId, string name)
         {
             string url = ApiUrl + "/person?userId=" + userId.ToString() + "&name=" + name;
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem>(stream);
+                return DeserializeFromStream<IbnItem>(stream);
             }
         }
 
         /// <summary>
         /// Gets a year
         /// </summary>
-        public async Task<IBNItem> GetYearAsync(Guid userId, int year)
+        public async Task<IbnItem> GetYearAsync(Guid userId, int year)
         {
             string url = ApiUrl + "/year?userId=" + userId.ToString() + "&year=" + year;
 
             using (Stream stream = await GetSerializedStreamAsync(url).ConfigureAwait(false))
             {
-                return DeserializeFromStream<IBNItem>(stream);
+                return DeserializeFromStream<IbnItem>(stream);
             }
         }
 

+ 6 - 6
MediaBrowser.ApiInteraction/DataSerializer.cs

@@ -25,11 +25,11 @@ namespace MediaBrowser.ApiInteraction
                 //return Serializer.Deserialize<T>(stream);
                 return ProtobufModelSerializer.Deserialize(stream, null, typeof(T)) as T;
             }
-            else if (format == SerializationFormats.Jsv)
+            if (format == SerializationFormats.Jsv)
             {
                 return TypeSerializer.DeserializeFromStream<T>(stream);
             }
-            else if (format == SerializationFormats.Json)
+            if (format == SerializationFormats.Json)
             {
                 return JsonSerializer.DeserializeFromStream<T>(stream);
             }
@@ -42,16 +42,16 @@ namespace MediaBrowser.ApiInteraction
         /// </summary>
         public static object DeserializeFromStream(Stream stream, SerializationFormats format, Type type)
         {
-            if (format == ApiInteraction.SerializationFormats.Protobuf)
+            if (format == SerializationFormats.Protobuf)
             {
                 //throw new NotImplementedException();
                 return ProtobufModelSerializer.Deserialize(stream, null, type);
             }
-            else if (format == ApiInteraction.SerializationFormats.Jsv)
+            if (format == SerializationFormats.Jsv)
             {
                 return TypeSerializer.DeserializeFromStream(type, stream);
             }
-            else if (format == ApiInteraction.SerializationFormats.Json)
+            if (format == SerializationFormats.Json)
             {
                 return JsonSerializer.DeserializeFromStream(type, stream);
             }
@@ -61,7 +61,7 @@ namespace MediaBrowser.ApiInteraction
 
         public static void Configure()
         {
-            JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601;
+            JsConfig.DateHandler = JsonDateHandler.ISO8601;
             JsConfig.ExcludeTypeInfo = true;
             JsConfig.IncludeNullValues = false;
         }

+ 2 - 1
MediaBrowser.Common/Kernel/BaseApplicationPaths.cs

@@ -5,7 +5,7 @@ using System.Reflection;
 namespace MediaBrowser.Common.Kernel
 {
     /// <summary>
-    /// Provides a base class to hold common application paths used by both the UI and Server.
+    /// Provides a base class to hold common application paths used by both the Ui and Server.
     /// This can be subclassed to add application-specific paths.
     /// </summary>
     public abstract class BaseApplicationPaths
@@ -22,6 +22,7 @@ namespace MediaBrowser.Common.Kernel
                 {
                     _programDataPath = GetProgramDataPath();
                 }
+                
                 return _programDataPath;
             }
         }

+ 3 - 3
MediaBrowser.Common/Kernel/BaseKernel.cs

@@ -18,7 +18,7 @@ using System.Threading.Tasks;
 namespace MediaBrowser.Common.Kernel
 {
     /// <summary>
-    /// Represents a shared base kernel for both the UI and server apps
+    /// Represents a shared base kernel for both the Ui and server apps
     /// </summary>
     public abstract class BaseKernel<TConfigurationType, TApplicationPathsType> : IDisposable, IKernel
         where TConfigurationType : BaseApplicationConfiguration, new()
@@ -44,8 +44,8 @@ namespace MediaBrowser.Common.Kernel
         private IEnumerable<BaseHandler> HttpHandlers { get; set; }
 
         /// <summary>
-        /// Both the UI and server will have a built-in HttpServer.
-        /// People will inevitably want remote control apps so it's needed in the UI too.
+        /// Both the Ui and server will have a built-in HttpServer.
+        /// People will inevitably want remote control apps so it's needed in the Ui too.
         /// </summary>
         public HttpServer HttpServer { get; private set; }
 

+ 1 - 1
MediaBrowser.Common/Kernel/KernelContext.cs

@@ -4,6 +4,6 @@ namespace MediaBrowser.Common.Kernel
     public enum KernelContext
     {
         Server,
-        UI
+        Ui
     }
 }

+ 2 - 2
MediaBrowser.Common/Logging/BaseLogger.cs

@@ -25,7 +25,7 @@ namespace MediaBrowser.Common.Logging
 
         public void LogException(string message, Exception exception, params object[] paramList)
         {
-            StringBuilder builder = new StringBuilder();
+            var builder = new StringBuilder();
 
             if (exception != null)
             {
@@ -67,7 +67,7 @@ namespace MediaBrowser.Common.Logging
 
             Thread currentThread = Thread.CurrentThread;
 
-            LogRow row = new LogRow
+            var row = new LogRow
             {
                 Severity = severity,
                 Message = message,

+ 18 - 18
MediaBrowser.Common/Net/Handlers/BaseHandler.cs

@@ -25,19 +25,19 @@ namespace MediaBrowser.Common.Net.Handlers
             }
         }
 
-        private bool _TotalContentLengthDiscovered;
-        private long? _TotalContentLength;
+        private bool _totalContentLengthDiscovered;
+        private long? _totalContentLength;
         public long? TotalContentLength
         {
             get
             {
-                if (!_TotalContentLengthDiscovered)
+                if (!_totalContentLengthDiscovered)
                 {
-                    _TotalContentLength = GetTotalContentLength();
-                    _TotalContentLengthDiscovered = true;
+                    _totalContentLength = GetTotalContentLength();
+                    _totalContentLengthDiscovered = true;
                 }
 
-                return _TotalContentLength;
+                return _totalContentLength;
             }
         }
 
@@ -65,14 +65,14 @@ namespace MediaBrowser.Common.Net.Handlers
             }
         }
 
-        private List<KeyValuePair<long, long?>> _RequestedRanges;
+        private List<KeyValuePair<long, long?>> _requestedRanges;
         protected IEnumerable<KeyValuePair<long, long?>> RequestedRanges
         {
             get
             {
-                if (_RequestedRanges == null)
+                if (_requestedRanges == null)
                 {
-                    _RequestedRanges = new List<KeyValuePair<long, long?>>();
+                    _requestedRanges = new List<KeyValuePair<long, long?>>();
 
                     if (IsRangeRequest)
                     {
@@ -95,12 +95,12 @@ namespace MediaBrowser.Common.Net.Handlers
                                 end = long.Parse(vals[1]);
                             }
 
-                            _RequestedRanges.Add(new KeyValuePair<long, long?>(start, end));
+                            _requestedRanges.Add(new KeyValuePair<long, long?>(start, end));
                         }
                     }
                 }
 
-                return _RequestedRanges;
+                return _requestedRanges;
             }
         }
 
@@ -379,21 +379,21 @@ namespace MediaBrowser.Common.Net.Handlers
             }
         }
 
-        private Hashtable _FormValues;
+        private Hashtable _formValues;
 
         /// <summary>
         /// Gets a value from form POST data
         /// </summary>
         protected async Task<string> GetFormValue(string name)
         {
-            if (_FormValues == null)
+            if (_formValues == null)
             {
-                _FormValues = await GetFormValues(HttpListenerContext.Request).ConfigureAwait(false);
+                _formValues = await GetFormValues(HttpListenerContext.Request).ConfigureAwait(false);
             }
 
-            if (_FormValues.ContainsKey(name))
+            if (_formValues.ContainsKey(name))
             {
-                return _FormValues[name].ToString();
+                return _formValues[name].ToString();
             }
 
             return null;
@@ -404,7 +404,7 @@ namespace MediaBrowser.Common.Net.Handlers
         /// </summary>
         private async Task<Hashtable> GetFormValues(HttpListenerRequest request)
         {
-            Hashtable formVars = new Hashtable();
+            var formVars = new Hashtable();
 
             if (request.HasEntityBody)
             {
@@ -412,7 +412,7 @@ namespace MediaBrowser.Common.Net.Handlers
                 {
                     using (Stream requestBody = request.InputStream)
                     {
-                        using (StreamReader reader = new StreamReader(requestBody, request.ContentEncoding))
+                        using (var reader = new StreamReader(requestBody, request.ContentEncoding))
                         {
                             string s = await reader.ReadToEndAsync().ConfigureAwait(false);
 

+ 10 - 9
MediaBrowser.Common/Net/Handlers/BaseSerializationHandler.cs

@@ -6,6 +6,7 @@ using MediaBrowser.Common.Serialization;
 namespace MediaBrowser.Common.Net.Handlers
 {
     public abstract class BaseSerializationHandler<T> : BaseHandler
+        where T : class 
     {
         public SerializationFormat SerializationFormat
         {
@@ -35,21 +36,21 @@ namespace MediaBrowser.Common.Net.Handlers
             }
         }
 
-        private bool _ObjectToSerializeEnsured;
-        private T _ObjectToSerialize;
+        private bool _objectToSerializeEnsured;
+        private T _objectToSerialize;
      
         private async Task EnsureObjectToSerialize()
         {
-            if (!_ObjectToSerializeEnsured)
+            if (!_objectToSerializeEnsured)
             {
-                _ObjectToSerialize = await GetObjectToSerialize().ConfigureAwait(false);
+                _objectToSerialize = await GetObjectToSerialize().ConfigureAwait(false);
 
-                if (_ObjectToSerialize == null)
+                if (_objectToSerialize == null)
                 {
                     StatusCode = 404;
                 }
 
-                _ObjectToSerializeEnsured = true;
+                _objectToSerializeEnsured = true;
             }
         }
 
@@ -67,13 +68,13 @@ namespace MediaBrowser.Common.Net.Handlers
             switch (SerializationFormat)
             {
                 case SerializationFormat.Jsv:
-                    JsvSerializer.SerializeToStream(_ObjectToSerialize, stream);
+                    JsvSerializer.SerializeToStream(_objectToSerialize, stream);
                     break;
                 case SerializationFormat.Protobuf:
-                    ProtobufSerializer.SerializeToStream(_ObjectToSerialize, stream);
+                    ProtobufSerializer.SerializeToStream(_objectToSerialize, stream);
                     break;
                 default:
-                    JsonSerializer.SerializeToStream(_ObjectToSerialize, stream);
+                    JsonSerializer.SerializeToStream(_objectToSerialize, stream);
                     break;
             }
         }

+ 14 - 14
MediaBrowser.Common/Net/Handlers/StaticFileHandler.cs

@@ -15,42 +15,42 @@ namespace MediaBrowser.Common.Net.Handlers
             return false;
         }
 
-        private string _Path;
+        private string _path;
         public virtual string Path
         {
             get
             {
-                if (!string.IsNullOrWhiteSpace(_Path))
+                if (!string.IsNullOrWhiteSpace(_path))
                 {
-                    return _Path;
+                    return _path;
                 }
 
                 return QueryString["path"];
             }
             set
             {
-                _Path = value;
+                _path = value;
             }
         }
 
-        private bool _SourceStreamEnsured;
-        private Stream _SourceStream;
+        private bool _sourceStreamEnsured;
+        private Stream _sourceStream;
         private Stream SourceStream
         {
             get
             {
                 EnsureSourceStream();
-                return _SourceStream;
+                return _sourceStream;
             }
         }
 
         private void EnsureSourceStream()
         {
-            if (!_SourceStreamEnsured)
+            if (!_sourceStreamEnsured)
             {
                 try
                 {
-                    _SourceStream = File.OpenRead(Path);
+                    _sourceStream = File.OpenRead(Path);
                 }
                 catch (FileNotFoundException ex)
                 {
@@ -69,7 +69,7 @@ namespace MediaBrowser.Common.Net.Handlers
                 }
                 finally
                 {
-                    _SourceStreamEnsured = true;
+                    _sourceStreamEnsured = true;
                 }
             }
         }
@@ -245,9 +245,9 @@ namespace MediaBrowser.Common.Net.Handlers
 
             if (count == null)
             {
-                byte[] buffer = new byte[16 * 1024];
+                var buffer = new byte[16 * 1024];
 
-                using (MemoryStream ms = new MemoryStream())
+                using (var ms = new MemoryStream())
                 {
                     int read;
                     while ((read = await input.ReadAsync(buffer, 0, buffer.Length).ConfigureAwait(false)) > 0)
@@ -259,9 +259,9 @@ namespace MediaBrowser.Common.Net.Handlers
             }
             else
             {
-                byte[] buffer = new byte[count.Value];
+                var buffer = new byte[count.Value];
 
-                using (MemoryStream ms = new MemoryStream())
+                using (var ms = new MemoryStream())
                 {
                     int read = await input.ReadAsync(buffer, 0, buffer.Length).ConfigureAwait(false);
 

+ 9 - 9
MediaBrowser.Common/Net/HttpServer.cs

@@ -6,21 +6,21 @@ namespace MediaBrowser.Common.Net
 {
     public class HttpServer : IObservable<HttpListenerContext>, IDisposable
     {
-        private readonly HttpListener listener;
-        private readonly IObservable<HttpListenerContext> stream;
+        private readonly HttpListener _listener;
+        private readonly IObservable<HttpListenerContext> _stream;
 
         public HttpServer(string url)
         {
-            listener = new HttpListener();
-            listener.Prefixes.Add(url);
-            listener.Start();
-            stream = ObservableHttpContext();
+            _listener = new HttpListener();
+            _listener.Prefixes.Add(url);
+            _listener.Start();
+            _stream = ObservableHttpContext();
         }
 
         private IObservable<HttpListenerContext> ObservableHttpContext()
         {
             return Observable.Create<HttpListenerContext>(obs =>
-                                Observable.FromAsync(() => listener.GetContextAsync())
+                                Observable.FromAsync(() => _listener.GetContextAsync())
                                           .Subscribe(obs))
                              .Repeat()
                              .Retry()
@@ -29,12 +29,12 @@ namespace MediaBrowser.Common.Net
         }
         public void Dispose()
         {
-            listener.Stop();
+            _listener.Stop();
         }
 
         public IDisposable Subscribe(IObserver<HttpListenerContext> observer)
         {
-            return stream.Subscribe(observer);
+            return _stream.Subscribe(observer);
         }
     }
 }

+ 21 - 21
MediaBrowser.Common/Plugins/BasePlugin.cs

@@ -74,20 +74,20 @@ namespace MediaBrowser.Common.Plugins
             }
         }
 
-        private DateTime? _ConfigurationDateLastModified;
+        private DateTime? _configurationDateLastModified;
         public DateTime ConfigurationDateLastModified
         {
             get
             {
-                if (_ConfigurationDateLastModified == null)
+                if (_configurationDateLastModified == null)
                 {
                     if (File.Exists(ConfigurationFilePath))
                     {
-                        _ConfigurationDateLastModified = File.GetLastWriteTimeUtc(ConfigurationFilePath);
+                        _configurationDateLastModified = File.GetLastWriteTimeUtc(ConfigurationFilePath);
                     }
                 }
 
-                return _ConfigurationDateLastModified ?? DateTime.MinValue;
+                return _configurationDateLastModified ?? DateTime.MinValue;
             }
         }
 
@@ -123,7 +123,7 @@ namespace MediaBrowser.Common.Plugins
             }
         }
 
-        private string _DataFolderPath;
+        private string _dataFolderPath;
         /// <summary>
         /// Gets the full path to the data folder, where the plugin can store any miscellaneous files needed
         /// </summary>
@@ -131,19 +131,19 @@ namespace MediaBrowser.Common.Plugins
         {
             get
             {
-                if (_DataFolderPath == null)
+                if (_dataFolderPath == null)
                 {
                     // Give the folder name the same name as the config file name
                     // We can always make this configurable if/when needed
-                    _DataFolderPath = Path.Combine(Kernel.ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(ConfigurationFileName));
+                    _dataFolderPath = Path.Combine(Kernel.ApplicationPaths.PluginsPath, Path.GetFileNameWithoutExtension(ConfigurationFileName));
 
-                    if (!Directory.Exists(_DataFolderPath))
+                    if (!Directory.Exists(_dataFolderPath))
                     {
-                        Directory.CreateDirectory(_DataFolderPath);
+                        Directory.CreateDirectory(_dataFolderPath);
                     }
                 }
 
-                return _DataFolderPath;
+                return _dataFolderPath;
             }
         }
 
@@ -156,9 +156,9 @@ namespace MediaBrowser.Common.Plugins
         }
 
         /// <summary>
-        /// Returns true or false indicating if the plugin should be downloaded and run within the UI.
+        /// Returns true or false indicating if the plugin should be downloaded and run within the Ui.
         /// </summary>
-        public virtual bool DownloadToUI
+        public virtual bool DownloadToUi
         {
             get
             {
@@ -188,9 +188,9 @@ namespace MediaBrowser.Common.Plugins
                     {
                         InitializeOnServer();
                     }
-                    else if (kernel.KernelContext == KernelContext.UI)
+                    else if (kernel.KernelContext == KernelContext.Ui)
                     {
-                        InitializeInUI();
+                        InitializeInUi();
                     }
                 }
             }
@@ -204,9 +204,9 @@ namespace MediaBrowser.Common.Plugins
         }
 
         /// <summary>
-        /// Starts the plugin in the UI
+        /// Starts the plugin in the Ui
         /// </summary>
-        protected virtual void InitializeInUI()
+        protected virtual void InitializeInUi()
         {
         }
 
@@ -219,9 +219,9 @@ namespace MediaBrowser.Common.Plugins
             {
                 DisposeOnServer();
             }
-            else if (Context == KernelContext.UI)
+            else if (Context == KernelContext.Ui)
             {
-                InitializeInUI();
+                InitializeInUi();
             }
         }
 
@@ -233,9 +233,9 @@ namespace MediaBrowser.Common.Plugins
         }
 
         /// <summary>
-        /// Disposes the plugin in the UI
+        /// Disposes the plugin in the Ui
         /// </summary>
-        protected virtual void DisposeInUI()
+        protected virtual void DisposeInUi()
         {
         }
 
@@ -252,7 +252,7 @@ namespace MediaBrowser.Common.Plugins
             }
 
             // Reset this so it will be loaded again next time it's accessed
-            _ConfigurationDateLastModified = null;
+            _configurationDateLastModified = null;
         }
     }
 }

+ 3 - 3
MediaBrowser.Common/Serialization/JsonSerializer.cs

@@ -59,15 +59,15 @@ namespace MediaBrowser.Common.Serialization
             return ServiceStack.Text.JsonSerializer.DeserializeFromStream(type, stream);
         }
 
-        private static bool IsConfigured;
+        private static bool _isConfigured;
         private static void Configure()
         {
-            if (!IsConfigured)
+            if (!_isConfigured)
             {
                 ServiceStack.Text.JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601;
                 ServiceStack.Text.JsConfig.ExcludeTypeInfo = true;
                 ServiceStack.Text.JsConfig.IncludeNullValues = false;
-                IsConfigured = true;
+                _isConfigured = true;
             }
         }
     }

+ 2 - 2
MediaBrowser.Common/Serialization/XmlSerializer.cs

@@ -25,7 +25,7 @@ namespace MediaBrowser.Common.Serialization
 
         public static void SerializeToFile<T>(T obj, string file)
         {
-            using (FileStream stream = new FileStream(file, FileMode.Create))
+            using (var stream = new FileStream(file, FileMode.Create))
             {
                 SerializeToStream(obj, stream);
             }
@@ -41,7 +41,7 @@ namespace MediaBrowser.Common.Serialization
 
         public static void SerializeToFile(object obj, string file)
         {
-            using (FileStream stream = new FileStream(file, FileMode.Create))
+            using (var stream = new FileStream(file, FileMode.Create))
             {
                 ServiceStack.Text.XmlSerializer.SerializeToStream(obj, stream);
             }

+ 2 - 2
MediaBrowser.Common/UI/BaseApplication.cs

@@ -28,8 +28,8 @@ namespace MediaBrowser.Common.UI
         {
             Kernel = InstantiateKernel();
 
-            Progress<TaskProgress> progress = new Progress<TaskProgress>();
-            Splash splash = new Splash(progress);
+            var progress = new Progress<TaskProgress>();
+            var splash = new Splash(progress);
 
             splash.Show();
 

+ 5 - 5
MediaBrowser.Common/UI/SingleInstance.cs

@@ -368,7 +368,7 @@ namespace Microsoft.Shell
         /// <param name="channelName">Application's IPC channel name.</param>
         private static void CreateRemoteService(string channelName)
         {
-            BinaryServerFormatterSinkProvider serverProvider = new BinaryServerFormatterSinkProvider();
+            var serverProvider = new BinaryServerFormatterSinkProvider { };
             serverProvider.TypeFilterLevel = TypeFilterLevel.Full;
             IDictionary props = new Dictionary<string, string>();
 
@@ -383,7 +383,7 @@ namespace Microsoft.Shell
             ChannelServices.RegisterChannel(channel, true);
 
             // Expose the remote service with the REMOTE_SERVICE_NAME
-            IPCRemoteService remoteService = new IPCRemoteService();
+            var remoteService = new IPCRemoteService();
             RemotingServices.Marshal(remoteService, RemoteServiceName);
         }
 
@@ -398,13 +398,13 @@ namespace Microsoft.Shell
         /// </param>
         private static void SignalFirstInstance(string channelName, IList<string> args)
         {
-            IpcClientChannel secondInstanceChannel = new IpcClientChannel();
+            var secondInstanceChannel = new IpcClientChannel();
             ChannelServices.RegisterChannel(secondInstanceChannel, true);
 
             string remotingServiceUrl = IpcProtocol + channelName + "/" + RemoteServiceName;
 
             // Obtain a reference to the remoting service exposed by the server i.e the first instance of the application
-            IPCRemoteService firstInstanceRemoteServiceReference = (IPCRemoteService)RemotingServices.Connect(typeof(IPCRemoteService), remotingServiceUrl);
+            var firstInstanceRemoteServiceReference = (IPCRemoteService)RemotingServices.Connect(typeof(IPCRemoteService), remotingServiceUrl);
 
             // Check that the remote service exists, in some cases the first instance may not yet have created one, in which case
             // the second instance should just exit
@@ -424,7 +424,7 @@ namespace Microsoft.Shell
         private static object ActivateFirstInstanceCallback(object arg)
         {
             // Get command line args to be passed to first instance
-            IList<string> args = arg as IList<string>;
+            var args = arg as IList<string>;
             ActivateFirstInstance(args);
             return null;
         }

+ 4 - 4
MediaBrowser.Common/UI/Splash.xaml.cs

@@ -15,11 +15,11 @@ namespace MediaBrowser.Common.UI
         {
             InitializeComponent();
             
-            progress.ProgressChanged += progress_ProgressChanged;
-            Loaded+=Splash_Loaded;
+            progress.ProgressChanged += ProgressChanged;
+            Loaded+=SplashLoaded;
         }
 
-        void progress_ProgressChanged(object sender, TaskProgress e)
+        void ProgressChanged(object sender, TaskProgress e)
         {
             // If logging has loaded, put a message in the log.
             if (Logger.LoggerInstance != null)
@@ -31,7 +31,7 @@ namespace MediaBrowser.Common.UI
             pbProgress.Value = (double)e.PercentComplete;
         }
 
-        private void Splash_Loaded(object sender, RoutedEventArgs e)
+        private void SplashLoaded(object sender, RoutedEventArgs e)
         {
             // Setting this in markup throws an exception at runtime
             ShowTitleBar = false;

+ 3 - 3
MediaBrowser.Controller/Entities/UserItemData.cs

@@ -5,7 +5,7 @@ namespace MediaBrowser.Controller.Entities
 {
     public class UserItemData
     {
-        private float? _Rating;
+        private float? _rating;
         /// <summary>
         /// Gets or sets the users 0-10 rating
         /// </summary>
@@ -13,7 +13,7 @@ namespace MediaBrowser.Controller.Entities
         {
             get
             {
-                return _Rating;
+                return _rating;
             }
             set
             {
@@ -25,7 +25,7 @@ namespace MediaBrowser.Controller.Entities
                     }
                 }
 
-                _Rating = value;
+                _rating = value;
             }
         }
 

+ 6 - 6
MediaBrowser.Controller/FFMpeg/FFProbe.cs

@@ -18,7 +18,7 @@ namespace MediaBrowser.Controller.FFMpeg
         /// </summary>
         public static FFProbeResult Run(BaseItem item, string cacheDirectory)
         {
-            string cachePath = GetFFProbeCachePath(item, cacheDirectory);
+            string cachePath = GetFfProbeCachePath(item, cacheDirectory);
 
             // Use try catch to avoid having to use File.Exists
             try
@@ -72,7 +72,7 @@ namespace MediaBrowser.Controller.FFMpeg
 
         private static FFProbeResult Run(string input)
         {
-            ProcessStartInfo startInfo = new ProcessStartInfo();
+            var startInfo = new ProcessStartInfo { };
 
             startInfo.CreateNoWindow = true;
 
@@ -88,12 +88,12 @@ namespace MediaBrowser.Controller.FFMpeg
 
             //Logger.LogInfo(startInfo.FileName + " " + startInfo.Arguments);
 
-            Process process = new Process();
+            var process = new Process { };
             process.StartInfo = startInfo;
 
             process.EnableRaisingEvents = true;
 
-            process.Exited += process_Exited;
+            process.Exited += ProcessExited;
 
             try
             {
@@ -122,12 +122,12 @@ namespace MediaBrowser.Controller.FFMpeg
             }
         }
 
-        static void process_Exited(object sender, EventArgs e)
+        static void ProcessExited(object sender, EventArgs e)
         {
             (sender as Process).Dispose();
         }
 
-        private static string GetFFProbeCachePath(BaseItem item, string cacheDirectory)
+        private static string GetFfProbeCachePath(BaseItem item, string cacheDirectory)
         {
             string outputDirectory = Path.Combine(cacheDirectory, item.Id.ToString().Substring(0, 1));
 

+ 3 - 3
MediaBrowser.Controller/IO/DirectoryWatchers.cs

@@ -18,7 +18,7 @@ namespace MediaBrowser.Controller.IO
 
         public void Start()
         {
-            List<string> pathsToWatch = new List<string>();
+            var pathsToWatch = new List<string>();
 
             var rootFolder = Kernel.Instance.RootFolder;
 
@@ -42,7 +42,7 @@ namespace MediaBrowser.Controller.IO
 
             foreach (string path in pathsToWatch)
             {
-                FileSystemWatcher watcher = new FileSystemWatcher(path, "*");
+                var watcher = new FileSystemWatcher(path, "*") { };
 
                 watcher.IncludeSubdirectories = true;
 
@@ -88,7 +88,7 @@ namespace MediaBrowser.Controller.IO
 
         private Task ProcessPathChanges(IEnumerable<string> paths)
         {
-            List<BaseItem> itemsToRefresh = new List<BaseItem>();
+            var itemsToRefresh = new List<BaseItem>();
 
             foreach (BaseItem item in paths.Select(p => GetAffectedBaseItem(p)))
             {

+ 3 - 3
MediaBrowser.Controller/IO/Shortcut.cs

@@ -167,12 +167,12 @@ namespace MediaBrowser.Controller.IO
 
         public static string ResolveShortcut(string filename)
         {
-            ShellLink link = new ShellLink();
+            var link = new ShellLink();
             ((IPersistFile)link).Load(filename, STGM_READ);
             // TODO: if I can get hold of the hwnd call resolve first. This handles moved and renamed files.  
             // ((IShellLinkW)link).Resolve(hwnd, 0) 
-            StringBuilder sb = new StringBuilder(MAX_PATH);
-            WIN32_FIND_DATAW data = new WIN32_FIND_DATAW();
+            var sb = new StringBuilder(MAX_PATH);
+            var data = new WIN32_FIND_DATAW();
             ((IShellLinkW)link).GetPath(sb, sb.Capacity, out data, 0);
             return sb.ToString();
         }

+ 8 - 8
MediaBrowser.Controller/Kernel.cs

@@ -209,7 +209,7 @@ namespace MediaBrowser.Controller
         /// </summary>
         public AuthenticationResult AuthenticateUser(User user, string password)
         {
-            AuthenticationResult result = new AuthenticationResult();
+            var result = new AuthenticationResult();
 
             // When EnableUserProfiles is false, only the default User can login
             if (!Configuration.EnableUserProfiles)
@@ -237,7 +237,7 @@ namespace MediaBrowser.Controller
 
         public async Task ReloadItem(BaseItem item)
         {
-            Folder folder = item as Folder;
+            var folder = item as Folder;
 
             if (folder != null && folder.IsRoot)
             {
@@ -283,16 +283,16 @@ namespace MediaBrowser.Controller
         /// </summary>
         private IEnumerable<User> GetAllUsers()
         {
-            List<User> list = new List<User>();
+            var list = new List<User>();
 
             // Return a dummy user for now since all calls to get items requre a userId
-            User user = new User();
+            var user = new User { };
 
             user.Name = "Default User";
             user.Id = Guid.Parse("5d1cf7fce25943b790d140095457a42b");
             list.Add(user);
 
-            user = new User();
+            user = new User { };
             user.Name = "Abobader";
             user.Id = Guid.NewGuid();
             user.LastLoginDate = DateTime.UtcNow.AddDays(-1);
@@ -300,12 +300,12 @@ namespace MediaBrowser.Controller
             user.Password = GetMD5("1234").ToString();
             list.Add(user);
 
-            user = new User();
+            user = new User { };
             user.Name = "Scottisafool";
             user.Id = Guid.NewGuid();
             list.Add(user);
 
-            user = new User();
+            user = new User { };
             user.Name = "Redshirt";
             user.Id = Guid.NewGuid();
             list.Add(user);
@@ -381,7 +381,7 @@ namespace MediaBrowser.Controller
             // Extract exe
             using (Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MediaBrowser.Controller.FFMpeg." + Path.GetFileName(exe)))
             {
-                using (FileStream fileStream = new FileStream(exe, FileMode.Create))
+                using (var fileStream = new FileStream(exe, FileMode.Create))
                 {
                     stream.CopyTo(fileStream);
                 }

+ 6 - 10
MediaBrowser.Controller/Library/ItemController.cs

@@ -114,11 +114,7 @@ namespace MediaBrowser.Controller.Library
                 {
                     // If it's a folder look for child entities
                     (item as Folder).Children = (await Task.WhenAll(GetChildren(item as Folder, fileSystemChildren, allowInternetProviders)).ConfigureAwait(false))
-                        .Where(i => i != null).OrderBy(f =>
-                        {
-                            return string.IsNullOrEmpty(f.SortName) ? f.Name : f.SortName;
-
-                        });
+                        .Where(i => i != null).OrderBy(f => (string.IsNullOrEmpty(f.SortName) ? f.Name : f.SortName));
                 }
             }
 
@@ -130,7 +126,7 @@ namespace MediaBrowser.Controller.Library
         /// </summary>
         private Task<BaseItem>[] GetChildren(Folder folder, WIN32_FIND_DATA[] fileSystemChildren, bool allowInternetProviders)
         {
-            Task<BaseItem>[] tasks = new Task<BaseItem>[fileSystemChildren.Length];
+            var tasks = new Task<BaseItem>[fileSystemChildren.Length];
 
             for (int i = 0; i < fileSystemChildren.Length; i++)
             {
@@ -147,8 +143,8 @@ namespace MediaBrowser.Controller.Library
         /// </summary>
         private WIN32_FIND_DATA[] FilterChildFileSystemEntries(WIN32_FIND_DATA[] fileSystemChildren, bool flattenShortcuts)
         {
-            WIN32_FIND_DATA[] returnArray = new WIN32_FIND_DATA[fileSystemChildren.Length];
-            List<WIN32_FIND_DATA> resolvedShortcuts = new List<WIN32_FIND_DATA>();
+            var returnArray = new WIN32_FIND_DATA[fileSystemChildren.Length];
+            var resolvedShortcuts = new List<WIN32_FIND_DATA>();
 
             for (int i = 0; i < fileSystemChildren.Length; i++)
             {
@@ -256,7 +252,7 @@ namespace MediaBrowser.Controller.Library
         private async Task<T> CreateImagesByNameItem<T>(string path, string name)
             where T : BaseEntity, new()
         {
-            T item = new T();
+            var item = new T { };
 
             item.Name = name;
             item.Id = Kernel.GetMD5(path);
@@ -269,7 +265,7 @@ namespace MediaBrowser.Controller.Library
             item.DateCreated = Directory.GetCreationTimeUtc(path);
             item.DateModified = Directory.GetLastWriteTimeUtc(path);
 
-            ItemResolveEventArgs args = new ItemResolveEventArgs();
+            var args = new ItemResolveEventArgs { };
             args.FileInfo = FileData.GetFileData(path);
             args.FileSystemChildren = FileData.GetFileSystemEntries(path, "*").ToArray();
 

+ 1 - 1
MediaBrowser.Controller/Providers/AudioInfoProvider.cs

@@ -249,7 +249,7 @@ namespace MediaBrowser.Controller.Providers
         
         private Dictionary<string, string> ConvertDictionaryToCaseInSensitive(Dictionary<string, string> dict)
         {
-            Dictionary<string, string> newDict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
+            var newDict = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
 
             foreach (string key in dict.Keys)
             {

+ 3 - 3
MediaBrowser.Controller/Providers/BaseItemXmlParser.cs

@@ -347,7 +347,7 @@ namespace MediaBrowser.Controller.Providers
 
         private AudioStream FetchMediaInfoAudio(XmlReader reader)
         {
-            AudioStream stream = new AudioStream();
+            var stream = new AudioStream();
 
             reader.MoveToContent();
 
@@ -466,7 +466,7 @@ namespace MediaBrowser.Controller.Providers
 
         private SubtitleStream FetchMediaInfoSubtitles(XmlReader reader)
         {
-            SubtitleStream stream = new SubtitleStream();
+            var stream = new SubtitleStream();
 
             reader.MoveToContent();
 
@@ -681,7 +681,7 @@ namespace MediaBrowser.Controller.Providers
 
         private PersonInfo GetPersonFromXmlNode(XmlReader reader)
         {
-            PersonInfo person = new PersonInfo();
+            var person = new PersonInfo();
 
             reader.MoveToContent();
 

+ 1 - 1
MediaBrowser.Controller/Providers/FolderProviderFromXml.cs

@@ -26,7 +26,7 @@ namespace MediaBrowser.Controller.Providers
         {
             if (args.ContainsFile("folder.xml"))
             {
-                await Task.Run(() => { Fetch(item, args); }).ConfigureAwait(false);
+                await Task.Run(() => Fetch(item, args)).ConfigureAwait(false);
             }
         }
 

+ 3 - 3
MediaBrowser.Controller/Providers/ImageFromMediaLocationProvider.cs

@@ -32,10 +32,10 @@ namespace MediaBrowser.Controller.Providers
 
                 if (baseItem != null)
                 {
-                    return Task.Run(() => { PopulateBaseItemImages(baseItem, args); });
+                    return Task.Run(() => PopulateBaseItemImages(baseItem, args));
                 }
 
-                return Task.Run(() => { PopulateImages(item, args); });
+                return Task.Run(() => PopulateImages(item, args));
             }
 
             return Task.FromResult<object>(null);
@@ -74,7 +74,7 @@ namespace MediaBrowser.Controller.Providers
         /// </summary>
         private void PopulateBaseItemImages(BaseItem item, ItemResolveEventArgs args)
         {
-            List<string> backdropFiles = new List<string>();
+            var backdropFiles = new List<string>();
 
             for (int i = 0; i < args.FileSystemChildren.Length; i++)
             {

+ 2 - 2
MediaBrowser.Controller/Providers/LocalTrailerProvider.cs

@@ -28,11 +28,11 @@ namespace MediaBrowser.Controller.Providers
         {
             if (args.ContainsFolder("trailers"))
             {
-                List<Video> items = new List<Video>();
+                var items = new List<Video>();
 
                 foreach (WIN32_FIND_DATA file in FileData.GetFileSystemEntries(Path.Combine(args.Path, "trailers"), "*"))
                 {
-                    Video video = await Kernel.Instance.ItemController.GetItem(file.Path, fileInfo: file).ConfigureAwait(false) as Video;
+                    var video = await Kernel.Instance.ItemController.GetItem(file.Path, fileInfo: file).ConfigureAwait(false) as Video;
 
                     if (video != null)
                     {

+ 1 - 1
MediaBrowser.Controller/Providers/Movies/MovieProviderFromXml.cs

@@ -22,7 +22,7 @@ namespace MediaBrowser.Controller.Providers.Movies
 
         public override async Task FetchAsync(BaseEntity item, ItemResolveEventArgs args)
         {
-            await Task.Run(() => { Fetch(item, args); }).ConfigureAwait(false);
+            await Task.Run(() => Fetch(item, args)).ConfigureAwait(false);
         }
 
         private void Fetch(BaseEntity item, ItemResolveEventArgs args)

+ 2 - 2
MediaBrowser.Controller/Providers/Movies/MovieSpecialFeaturesProvider.cs

@@ -26,11 +26,11 @@ namespace MediaBrowser.Controller.Providers.Movies
         {
             if (args.ContainsFolder("specials"))
             {
-                List<Video> items = new List<Video>();
+                var items = new List<Video>();
 
                 foreach (WIN32_FIND_DATA file in FileData.GetFileSystemEntries(Path.Combine(args.Path, "specials"), "*"))
                 {
-                    Video video = await Kernel.Instance.ItemController.GetItem(file.Path, fileInfo: file).ConfigureAwait(false) as Video;
+                    var video = await Kernel.Instance.ItemController.GetItem(file.Path, fileInfo: file).ConfigureAwait(false) as Video;
 
                     if (video != null)
                     {

+ 3 - 3
MediaBrowser.Controller/Providers/TV/EpisodeImageFromMediaLocationProvider.cs

@@ -25,13 +25,13 @@ namespace MediaBrowser.Controller.Providers.TV
         {
             return Task.Run(() =>
             {
-                Episode episode = item as Episode;
+                var episode = item as Episode;
 
                 string metadataFolder = Path.Combine(args.Parent.Path, "metadata");
 
                 string episodeFileName = Path.GetFileName(episode.Path);
 
-                Season season = args.Parent as Season;
+                var season = args.Parent as Season;
 
                 SetPrimaryImagePath(episode, season, metadataFolder, episodeFileName);
             });
@@ -40,7 +40,7 @@ namespace MediaBrowser.Controller.Providers.TV
         private void SetPrimaryImagePath(Episode item, Season season, string metadataFolder, string episodeFileName)
         {
             // Look for the image file in the metadata folder, and if found, set PrimaryImagePath
-            string[] imageFiles = new string[] {
+            var imageFiles = new string[] {
                 Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, ".jpg")),
                 Path.Combine(metadataFolder, Path.ChangeExtension(episodeFileName, ".png"))
             };

+ 1 - 1
MediaBrowser.Controller/Providers/TV/EpisodeProviderFromXml.cs

@@ -22,7 +22,7 @@ namespace MediaBrowser.Controller.Providers.TV
 
         public override async Task FetchAsync(BaseEntity item, ItemResolveEventArgs args)
         {
-            await Task.Run(() => { Fetch(item, args); }).ConfigureAwait(false);
+            await Task.Run(() => Fetch(item, args)).ConfigureAwait(false);
         }
 
         private void Fetch(BaseEntity item, ItemResolveEventArgs args)

+ 1 - 1
MediaBrowser.Controller/Providers/TV/SeriesProviderFromXml.cs

@@ -22,7 +22,7 @@ namespace MediaBrowser.Controller.Providers.TV
 
         public override async Task FetchAsync(BaseEntity item, ItemResolveEventArgs args)
         {
-            await Task.Run(() => { Fetch(item, args); }).ConfigureAwait(false);
+            await Task.Run(() => Fetch(item, args)).ConfigureAwait(false);
         }
 
         private void Fetch(BaseEntity item, ItemResolveEventArgs args)

+ 3 - 3
MediaBrowser.Controller/Providers/VideoInfoProvider.cs

@@ -87,7 +87,7 @@ namespace MediaBrowser.Controller.Providers
 
         private void FetchFromAudioStream(Video video, MediaStream stream)
         {
-            AudioStream audio = new AudioStream();
+            var audio = new AudioStream{};
 
             audio.Codec = stream.codec_name;
 
@@ -112,7 +112,7 @@ namespace MediaBrowser.Controller.Providers
 
         private void FetchFromSubtitleStream(Video video, MediaStream stream)
         {
-            SubtitleStream subtitle = new SubtitleStream();
+            var subtitle = new SubtitleStream{};
 
             subtitle.Language = GetDictionaryValue(stream.tags, "language");
 
@@ -157,7 +157,7 @@ namespace MediaBrowser.Controller.Providers
                 return false;
             }
 
-            if (video.FrameRate == 0 || video.Height == 0 || video.Width == 0 || video.BitRate == 0)
+            if (Convert.ToInt32(video.FrameRate) == 0 || video.Height == 0 || video.Width == 0 || video.BitRate == 0)
             {
                 return false;
             }

+ 2 - 2
MediaBrowser.Controller/Resolvers/Movies/MovieResolver.cs

@@ -66,7 +66,7 @@ namespace MediaBrowser.Controller.Resolvers.Movies
             {
                 var child = args.FileSystemChildren[i];
 
-                ItemResolveEventArgs childArgs = new ItemResolveEventArgs()
+                var childArgs = new ItemResolveEventArgs
                 {
                     FileInfo = child,
                     FileSystemChildren = new WIN32_FIND_DATA[] { },
@@ -77,7 +77,7 @@ namespace MediaBrowser.Controller.Resolvers.Movies
 
                 if (item != null)
                 {
-                    return new Movie()
+                    return new Movie
                     {
                         Path = item.Path,
                         VideoType = item.VideoType

+ 2 - 9
MediaBrowser.Controller/Resolvers/TV/SeasonResolver.cs

@@ -12,19 +12,12 @@ namespace MediaBrowser.Controller.Resolvers.TV
         {
             if (args.Parent is Series && args.IsDirectory)
             {
-                Season season = new Season();
+                var season = new Season { };
 
                 season.IndexNumber = TVUtils.GetSeasonNumberFromPath(args.Path);
 
                 // Gather these now so that the episode provider classes can utilize them instead of having to make their own file system calls
-                if (args.ContainsFolder("metadata"))
-                {
-                    season.MetadataFiles = Directory.GetFiles(Path.Combine(args.Path, "metadata"), "*", SearchOption.TopDirectoryOnly);
-                }
-                else
-                {
-                    season.MetadataFiles = new string[] { };
-                }
+                season.MetadataFiles = args.ContainsFolder("metadata") ? Directory.GetFiles(Path.Combine(args.Path, "metadata"), "*", SearchOption.TopDirectoryOnly) : new string[] { };
 
                 return season;
             }

+ 2 - 2
MediaBrowser.Controller/Weather/WeatherClient.cs

@@ -21,7 +21,7 @@ namespace MediaBrowser.Controller.Weather
 
         public WeatherClient()
         {
-            WebRequestHandler handler = new WebRequestHandler();
+            var handler = new WebRequestHandler { };
 
             handler.AutomaticDecompression = DecompressionMethods.Deflate;
             handler.CachePolicy = new RequestCachePolicy(RequestCacheLevel.Revalidate);
@@ -56,7 +56,7 @@ namespace MediaBrowser.Controller.Weather
         /// </summary>
         private WeatherInfo GetWeatherInfo(WeatherData data)
         {
-            WeatherInfo info = new WeatherInfo();
+            var info = new WeatherInfo();
 
             if (data.current_condition != null)
             {

+ 1 - 1
MediaBrowser.Model/DTO/IBNItem.cs

@@ -7,7 +7,7 @@ namespace MediaBrowser.Model.DTO
     /// This is a stub class used by the api to get IBN types along with their item counts
     /// </summary>
     [ProtoContract]
-    public class IBNItem
+    public class IbnItem
     {
         /// <summary>
         /// The name of the person, genre, etc

+ 1 - 1
MediaBrowser.Model/MediaBrowser.Model.csproj

@@ -44,7 +44,7 @@
     <Compile Include="DTO\DtoUser.cs" />
     <Compile Include="DTO\VideoInfo.cs" />
     <Compile Include="DTO\VideoOutputFormats.cs" />
-    <Compile Include="DTO\IBNItem.cs" />
+    <Compile Include="DTO\IbnItem.cs" />
     <Compile Include="Entities\AudioStream.cs" />
     <Compile Include="Entities\ImageType.cs" />
     <Compile Include="Entities\IHasProviderIds.cs" />

+ 24 - 3
MediaBrowser.ServerApplication/App.xaml.cs

@@ -30,7 +30,7 @@ namespace MediaBrowser.ServerApplication
                 SingleInstance<App>.Cleanup();
             }
         }
-        
+
         #region ISingleInstanceApp Members
         public bool SignalExternalCommandLineArgs(IList<string> args)
         {
@@ -42,9 +42,30 @@ namespace MediaBrowser.ServerApplication
 
         public static void OpenDashboard()
         {
-            using (Process process = Process.Start("http://localhost:" + Kernel.Instance.Configuration.HttpServerPortNumber + "/mediabrowser/dashboard/index.html"))
+            OpenUrl("http://localhost:" + Kernel.Instance.Configuration.HttpServerPortNumber +
+                        "/mediabrowser/dashboard/index.html");
+        }
+        
+        public static void OpenUrl(string url)
+        {
+            var process = new Process
             {
-            }
+                StartInfo = new ProcessStartInfo
+                {
+                    FileName = url
+                },
+
+                EnableRaisingEvents = true
+            };
+
+            process.Exited += ProcessExited;
+
+            process.Start();
+        }
+
+        static void ProcessExited(object sender, EventArgs e)
+        {
+            (sender as Process).Dispose();
         }
 
         protected override IKernel InstantiateKernel()

+ 1 - 3
MediaBrowser.ServerApplication/MainWindow.xaml.cs

@@ -23,9 +23,7 @@ namespace MediaBrowser.ServerApplication
 
         private void cmVisitCT_click(object sender, RoutedEventArgs e)
         {
-            using (Process process = Process.Start("http://community.mediabrowser.tv/"))
-            {
-            }
+            App.OpenUrl("http://community.mediabrowser.tv/");
         }
 
         private void cmExit_click(object sender, RoutedEventArgs e)