diff --git a/src/Intersvyaz.Core/Intersvyaz.Core.csproj b/src/Intersvyaz.Core/Intersvyaz.Core.csproj
index 796a755..1e6ba33 100644
--- a/src/Intersvyaz.Core/Intersvyaz.Core.csproj
+++ b/src/Intersvyaz.Core/Intersvyaz.Core.csproj
@@ -12,7 +12,7 @@
ru-RU
UAP
10.0.16299.0
- 10.0.16299.0
+ 10.0.15063.0
14
512
{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
diff --git a/src/Intersvyaz.Net/IntersvyazClient.cs b/src/Intersvyaz.Net/IntersvyazClient.cs
index 9e5a9f9..0472f07 100644
--- a/src/Intersvyaz.Net/IntersvyazClient.cs
+++ b/src/Intersvyaz.Net/IntersvyazClient.cs
@@ -38,12 +38,6 @@ namespace Intersvyaz.Net
new ProductInfoHeaderValue("(+https://github.com/synzr/intersvyaz)"));
}
- public IntersvyazClient(string token) : base()
- {
- _httpClient.DefaultRequestHeaders.Authorization
- = new AuthenticationHeaderValue("Bearer", token);
- }
-
///
/// Вход в систему.
///
diff --git a/src/Intersvyaz/App.xaml.cs b/src/Intersvyaz/App.xaml.cs
index a8ff929..fd43df0 100644
--- a/src/Intersvyaz/App.xaml.cs
+++ b/src/Intersvyaz/App.xaml.cs
@@ -14,7 +14,10 @@ using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
-using Intersvyaz.Pages;
+using SimpleInjector;
+using Intersvyaz.Views;
+using Intersvyaz.Net;
+using Intersvyaz.Core.Services;
namespace Intersvyaz
{
@@ -23,14 +26,25 @@ namespace Intersvyaz
///
sealed partial class App : Application
{
+ ///
+ /// Текущее приложение.
+ ///
+ public static new App Current = (App)Application.Current;
+
+ ///
+ /// Провайдер сервисов.
+ ///
+ public Container Services { get; }
+
///
/// Инициализирует одноэлементный объект приложения. Это первая выполняемая строка разрабатываемого
/// кода; поэтому она является логическим эквивалентом main() или WinMain().
///
public App()
{
- this.InitializeComponent();
- this.Suspending += OnSuspending;
+ InitializeComponent();
+ Services = BuildServices();
+ Suspending += OnSuspending;
}
///
@@ -67,7 +81,7 @@ namespace Intersvyaz
// Если стек навигации не восстанавливается для перехода к первой странице,
// настройка новой страницы путем передачи необходимой информации в качестве параметра
// параметр
- rootFrame.Navigate(typeof(MainPage), e.Arguments);
+ rootFrame.Navigate(typeof(LoginPage), e.Arguments);
}
// Обеспечение активности текущего окна
Window.Current.Activate();
@@ -97,5 +111,17 @@ namespace Intersvyaz
//TODO: Сохранить состояние приложения и остановить все фоновые операции
deferral.Complete();
}
+
+ ///
+ /// Создать контейнер сервисов.
+ ///
+ /// Контейнер сервисов.
+ private static Container BuildServices()
+ {
+ var container = new Container();
+ container.Register(Lifestyle.Singleton);
+ container.Register(Lifestyle.Transient);
+ return container;
+ }
}
}
diff --git a/src/Intersvyaz/Intersvyaz.csproj b/src/Intersvyaz/Intersvyaz.csproj
index e68a244..0b9b5a0 100644
--- a/src/Intersvyaz/Intersvyaz.csproj
+++ b/src/Intersvyaz/Intersvyaz.csproj
@@ -12,7 +12,7 @@
ru-RU
UAP
10.0.16299.0
- 10.0.16299.0
+ 10.0.15063.0
14
512
{A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
@@ -119,10 +119,10 @@
App.xaml
-
- MainPage.xaml
-
+
+ LoginPage.xaml
+
@@ -145,22 +145,32 @@
MSBuild:Compile
Designer
-
- MSBuild:Compile
- Designer
-
6.2.8
+
+ 5.5.0
+
{fbe4ced9-3007-44b4-aabb-e49916da09c1}
Intersvyaz.Core
+
+ {d53e9b31-82ca-4b3b-a6ba-9f4b9353abb1}
+ Intersvyaz.Net
+
+
+
+ Designer
+ MSBuild:Compile
+
+
+
14.0
diff --git a/src/Intersvyaz/Pages/MainPage.xaml b/src/Intersvyaz/Views/LoginPage.xaml
similarity index 76%
rename from src/Intersvyaz/Pages/MainPage.xaml
rename to src/Intersvyaz/Views/LoginPage.xaml
index ed2ce0a..6cc2df0 100644
--- a/src/Intersvyaz/Pages/MainPage.xaml
+++ b/src/Intersvyaz/Views/LoginPage.xaml
@@ -1,14 +1,14 @@
-
+
diff --git a/src/Intersvyaz/Pages/MainPage.xaml.cs b/src/Intersvyaz/Views/LoginPage.xaml.cs
similarity index 50%
rename from src/Intersvyaz/Pages/MainPage.xaml.cs
rename to src/Intersvyaz/Views/LoginPage.xaml.cs
index 8a92bf7..aeee7f0 100644
--- a/src/Intersvyaz/Pages/MainPage.xaml.cs
+++ b/src/Intersvyaz/Views/LoginPage.xaml.cs
@@ -12,19 +12,23 @@ using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
+using Intersvyaz.Core.Services;
-// Документацию по шаблону элемента "Пустая страница" см. по адресу https://go.microsoft.com/fwlink/?LinkId=402352&clcid=0x419
-
-namespace Intersvyaz
+namespace Intersvyaz.Views
{
///
- /// Пустая страница, которую можно использовать саму по себе или для перехода внутри фрейма.
+ /// Страница входа.
///
- public sealed partial class MainPage : Page
+ public sealed partial class LoginPage : Page
{
- public MainPage()
+ private readonly ISessionService _sessionService;
+
+ public LoginPage()
{
- this.InitializeComponent();
+ InitializeComponent();
+
+ // NOTE: Получение сервисов
+ _sessionService = App.Current.Services.GetInstance();
}
}
}