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(); } } }