private async void RefreshLogsTapped(object sender, TappedRoutedEventArgs e)
		{
			var btn = sender as Button;
			if (btn != null)
			{
				btn.IsEnabled = false;

				try
				{
					using (var socket = new StreamSocket())
					{
						await socket.ConnectAsync(new HostName(@"127.0.0.1"), @"11111");

						var handler = new WinRtTransferHandler(socket);

						_viewModel.Load(await new LogsClientHandler(2, handler).GetConfigsAsync());

						await handler.CloseAsync();
					}
				}
				catch
				{
				}
				finally
				{
					btn.IsEnabled = true;
				}
			}
		}
		private async void ConfigureFolderTapped(object sender, TappedRoutedEventArgs e)
		{
			var btn = (sender as Button);
			if (btn != null)
			{
				var ctx = btn.DataContext as LogCategoryViewModel;
				if (ctx != null)
				{
					btn.IsEnabled = false;

					try
					{
						var path = Path.Combine(new[] { @"C:\Temp\", ctx.Platform.ToString(), ctx.Category.ToString() });

						using (var socket = new StreamSocket())
						{
							await socket.ConnectAsync(new HostName(@"127.0.0.1"), @"11111");

							var handler = new WinRtTransferHandler(socket);
							var requestHeader = new RequestHeader(ctx.Platform, new Version(0, 0, 0, 0), string.Empty, string.Empty);
							var config = new LogConfig(requestHeader, ctx.Category, path);
							await new LogsClientHandler(2, handler).ConfigureAsync(config);

							await handler.CloseAsync();
						}

						ctx.Path = path;
					}
					catch
					{
					}
					finally
					{
						btn.IsEnabled = true;
					}
				}
			}
		}
		private async void UploadTapped(object sender, TappedRoutedEventArgs e)
		{
			var btn = (sender as Button);
			if (btn != null)
			{
				var ctx = btn.DataContext as LogCategoryViewModel;
				if (ctx != null)
				{
					btn.IsEnabled = false;

					try
					{
						var picker = new FileOpenPicker();

						picker.FileTypeFilter.Add(@".wmv");

						var file = await picker.PickSingleFileAsync();
						if (file != null)
						{
							var fileSize = (await file.GetBasicPropertiesAsync()).Size;

							var data = new byte[fileSize];
							var buffer = new byte[16 * 1024];

							using (var ms = new MemoryStream(data))
							{
								using (var s = (await file.OpenReadAsync()).AsStreamForRead())
								{
									int readBytes;
									while ((readBytes = await s.ReadAsync(buffer, 0, buffer.Length)) != 0)
									{
										await ms.WriteAsync(buffer, 0, readBytes);
									}
								}
							}

							var clientFile = new ClientFile(file.Name, data);

							using (var socket = new StreamSocket())
							{
								await socket.ConnectAsync(new HostName(@"127.0.0.1"), @"11111");

								var handler = new WinRtTransferHandler(socket);
								var requestHeader = new RequestHeader(ctx.Platform, new Version(0, 0, 0, 0), string.Empty, string.Empty);
								await new LogsClientHandler(2, handler).UploadFilesAsync(requestHeader, new List<ClientFile> { clientFile });

								await handler.CloseAsync();
							}
						}
					}
					catch (Exception ex)
					{
					}
					finally
					{
						btn.IsEnabled = true;
					}
				}
			}
		}