diff --git a/Api/Data/NotatnikMechanika.Data.csproj b/Api/Data/NotatnikMechanika.Data.csproj index 9fc441b..0f8898c 100644 --- a/Api/Data/NotatnikMechanika.Data.csproj +++ b/Api/Data/NotatnikMechanika.Data.csproj @@ -1,12 +1,12 @@  - net5.0 + net6.0 latest - - + + diff --git a/Api/Repository/NotatnikMechanika.Repository.csproj b/Api/Repository/NotatnikMechanika.Repository.csproj index a8e243d..f60bd65 100644 --- a/Api/Repository/NotatnikMechanika.Repository.csproj +++ b/Api/Repository/NotatnikMechanika.Repository.csproj @@ -1,13 +1,13 @@  - net5.0 + net6.0 latest - - + + diff --git a/Api/Repository/Repositories/RepositoryBase.cs b/Api/Repository/Repositories/Base/RepositoryBase.cs similarity index 100% rename from Api/Repository/Repositories/RepositoryBase.cs rename to Api/Repository/Repositories/Base/RepositoryBase.cs diff --git a/Api/Server/Controllers/CustomerController.cs b/Api/Server/Controllers/CustomerController.cs index 087feb9..fa84120 100644 --- a/Api/Server/Controllers/CustomerController.cs +++ b/Api/Server/Controllers/CustomerController.cs @@ -11,7 +11,6 @@ namespace NotatnikMechanika.Server.Controllers [Route(CustomerPaths.Name)] public class CustomerController : AbstractControllerBase { - private readonly ICustomerService _customerService; public CustomerController(ICustomerService customerService) : base(customerService) { diff --git a/Api/Server/NotatnikMechanika.Server.csproj b/Api/Server/NotatnikMechanika.Server.csproj index b879277..52bb123 100644 --- a/Api/Server/NotatnikMechanika.Server.csproj +++ b/Api/Server/NotatnikMechanika.Server.csproj @@ -1,7 +1,7 @@ - net5.0 + net6.0 latest 22098061-cdb5-41d7-a981-80d27bb1b2b6 Linux @@ -9,11 +9,11 @@ - - - - - + + + + + diff --git a/Api/Service/NotatnikMechanika.Service.csproj b/Api/Service/NotatnikMechanika.Service.csproj index 8271ad5..580145c 100644 --- a/Api/Service/NotatnikMechanika.Service.csproj +++ b/Api/Service/NotatnikMechanika.Service.csproj @@ -1,7 +1,7 @@  - net5.0 + net6.0 latest Library @@ -9,7 +9,7 @@ - + diff --git a/Api/Shared/EndpointsPaths.cs b/Api/Shared/EndpointsPaths.cs index b0f31db..9e4a70c 100644 --- a/Api/Shared/EndpointsPaths.cs +++ b/Api/Shared/EndpointsPaths.cs @@ -1,8 +1,9 @@ -namespace NotatnikMechanika.Shared +using System.Reflection; + +namespace NotatnikMechanika.Shared { public static class CrudPaths { - public const string ByIdPath = "{id}"; public const string AllPath = "all"; public const string CreatePath = ""; @@ -56,7 +57,7 @@ public static string Login() public static string Register() { - return Name + "/" + RegisterPath; + return Name + "/" + MethodBase.GetCurrentMethod().Name; } public static string Update() @@ -74,7 +75,7 @@ public static class CarPaths public const string Name = "api/car"; public const string ByCustomerPath = "byCustomer/{customerId}"; - public static string ByCustomer(int customerId) + public static string ByCustomer(int? customerId) { return Name + "/" + ByCustomerPath.Replace("{customerId}", customerId.ToString()); } diff --git a/Api/Shared/Models/Customer/CustomerModel.cs b/Api/Shared/Models/Customer/CustomerModel.cs index d384a4d..d868b21 100644 --- a/Api/Shared/Models/Customer/CustomerModel.cs +++ b/Api/Shared/Models/Customer/CustomerModel.cs @@ -4,19 +4,19 @@ namespace NotatnikMechanika.Shared.Models.Customer { public class CustomerModel : ValidateModelBase { - public int Id { get; set; } + public int? Id { get; set; } [Required(ErrorMessage = "Pole imię jest wymagane")] - public string Name { get; set; } + public string? Name { get; set; } [Required(ErrorMessage = "Pole nazwisko jest wymagane")] - public string Surname { get; set; } - public string CompanyName { get; set; } + public string? Surname { get; set; } + public string? CompanyName { get; set; } /// /// np NIP /// - public string CompanyIdentyficator { get; set; } - public string Phone { get; set; } - public string Address { get; set; } + public string? CompanyIdentyficator { get; set; } + public string? Phone { get; set; } + public string? Address { get; set; } } } diff --git a/Api/Shared/NotatnikMechanika.Shared.csproj b/Api/Shared/NotatnikMechanika.Shared.csproj index 84c6970..bb8e9be 100644 --- a/Api/Shared/NotatnikMechanika.Shared.csproj +++ b/Api/Shared/NotatnikMechanika.Shared.csproj @@ -2,10 +2,10 @@ - + all - + diff --git a/Clients/Client/Application.cs b/Clients/Client/Application.cs index 2a80014..f991b64 100644 --- a/Clients/Client/Application.cs +++ b/Clients/Client/Application.cs @@ -27,7 +27,7 @@ protected override void ConfigureServices(IServiceCollection services) ); services.AddMBServices( - animatedNavigationManagerServiceConfiguration: Utilities.GetDefaultAnimatedNavigationServiceConfiguration(), + // animatedNavigationManagerServiceConfiguration: Utilities.GetDefaultAnimatedNavigationServiceConfiguration(), toastServiceConfiguration: Utilities.GetDefaultToastServiceConfiguration() ); } @@ -41,14 +41,14 @@ protected override void AppStart() public static class Utilities { - public static MBAnimatedNavigationManagerServiceConfiguration GetDefaultAnimatedNavigationServiceConfiguration() - { - return new MBAnimatedNavigationManagerServiceConfiguration() - { - ApplyAnimation = true, - AnimationTime = 300 - }; - } + //public static MBAnimatedNavigationManagerServiceConfiguration GetDefaultAnimatedNavigationServiceConfiguration() + //{ + // return new MBAnimatedNavigationManagerServiceConfiguration() + // { + // ApplyAnimation = true, + // AnimationTime = 300 + // }; + //} public static MBToastServiceConfiguration GetDefaultToastServiceConfiguration() diff --git a/Clients/Client/NotatnikMechanika.Client.csproj b/Clients/Client/NotatnikMechanika.Client.csproj index a784003..baf493f 100644 --- a/Clients/Client/NotatnikMechanika.Client.csproj +++ b/Clients/Client/NotatnikMechanika.Client.csproj @@ -1,27 +1,35 @@  - net5.0 + net6.0 latest + + false + + enable - - - + + True + + + + True + - + - - - - - - - + + + + + + + @@ -38,35 +46,4 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Clients/Client/Pages/AddOrder.razor b/Clients/Client/Pages/AddOrder.razor index 7d1738a..5d5b1bc 100644 --- a/Clients/Client/Pages/AddOrder.razor +++ b/Clients/Client/Pages/AddOrder.razor @@ -73,11 +73,11 @@ else @service.Name @service.Price - +
-
+ } else @@ -101,11 +101,11 @@ else @commodity.Name @commodity.Price - +
-
+ } else diff --git a/Clients/Client/Pages/Login.razor b/Clients/Client/Pages/Login.razor index 1e45c78..ec43a10 100644 --- a/Clients/Client/Pages/Login.razor +++ b/Clients/Client/Pages/Login.razor @@ -9,7 +9,7 @@ diff --git a/Clients/Client/Pages/Order.razor b/Clients/Client/Pages/Order.razor index 484f49d..d04cf5c 100644 --- a/Clients/Client/Pages/Order.razor +++ b/Clients/Client/Pages/Order.razor @@ -48,11 +48,11 @@ else @service.Name @service.Price - +
-
+ } else @@ -76,11 +76,11 @@ else @commodity.Name @commodity.Price - +
-
+ } else diff --git a/Clients/Client/Shared/MainLayout.razor b/Clients/Client/Shared/MainLayout.razor index 5cd0954..edfda9d 100644 --- a/Clients/Client/Shared/MainLayout.razor +++ b/Clients/Client/Shared/MainLayout.razor @@ -5,15 +5,12 @@ @inject IMvNavigationService NavigationService @inject NavigationManager NavigationManager @inject ILogger logger; -@inject IMBAnimatedNavigationManager AnimatedNavigationService - - +@inject NavigationManager NavigationManager -
-
-
- -
-
-
-
- @Body + + + +
+
+
+
+
+
+ @Body +
- -
-
+ + +
@@ -52,6 +53,5 @@
@code{ - private NavMenu NavBar { get; set; } } \ No newline at end of file diff --git a/Clients/Core/NotatnikMechanika.Core.csproj b/Clients/Core/NotatnikMechanika.Core.csproj index 2af8107..d5ec836 100644 --- a/Clients/Core/NotatnikMechanika.Core.csproj +++ b/Clients/Core/NotatnikMechanika.Core.csproj @@ -5,7 +5,7 @@ true - + all
diff --git a/Clients/Core/PageModels/ContentPageModels/CustomerPageModel.cs b/Clients/Core/PageModels/ContentPageModels/CustomerPageModel.cs index 4c298fb..2329c86 100644 --- a/Clients/Core/PageModels/ContentPageModels/CustomerPageModel.cs +++ b/Clients/Core/PageModels/ContentPageModels/CustomerPageModel.cs @@ -32,7 +32,7 @@ public CustomerPageModel(IHttpRequestService httpRequestService, IMvNavigationSe _messageDialogService = messageDialogService; CustomerModel = new CustomerModel(); GoBackCommand = new AsyncCommand(navigationService.NavigateToAsync); - AddCarCommand = new AsyncCommand(() => navigationService.NavigateToAsync(CustomerModel.Id)); + AddCarCommand = new AsyncCommand(() => navigationService.NavigateToAsync(CustomerModel.Id ?? 0)); RemoveCarCommand = new AsyncCommand(RemoveCarAction); Cars = new ObservableCollection(); } @@ -51,7 +51,7 @@ public override async Task Initialize() IsLoading = true; CustomerModel.Id = Parameter ?? 0; - var customer = await _httpRequestService.ById(CustomerModel.Id, "Błąd ładowania klienta"); + var customer = await _httpRequestService.ById(CustomerModel.Id.Value, "Błąd ładowania klienta"); if (customer != null) { CustomerModel = customer; diff --git a/Clients/Core/Services/HttpRequestService.cs b/Clients/Core/Services/HttpRequestService.cs index a6eca67..092b485 100644 --- a/Clients/Core/Services/HttpRequestService.cs +++ b/Clients/Core/Services/HttpRequestService.cs @@ -21,43 +21,43 @@ public HttpRequestService(HttpClient client, IMessageDialogService messageDialog _messageDialogService = messageDialogService; } - public async Task SendGet(string path, string onErrorTitle) where TContent : class + public async Task SendGet(string? path, string? onErrorTitle) where TContent : class { return await HandleResponse(await _client.GetAsync(path), onErrorTitle); } - public async Task SendPost(object model, string path, string onErrorTitle) + public async Task SendPost(object? model, string? path, string? onErrorTitle) { string myContent = JsonConvert.SerializeObject(model); var content = new StringContent(myContent, Encoding.UTF8, "application/json"); return await HandleResponse(await _client.PostAsync(path, content), onErrorTitle); } - public async Task SendPost(object model, string path, string onErrorTitle = null) where TContent : class + public async Task SendPost(object? model, string? path, string? onErrorTitle = null) where TContent : class { string myContent = JsonConvert.SerializeObject(model); var content = new StringContent(myContent, Encoding.UTF8, "application/json"); return await HandleResponse(await _client.PostAsync(path, content), onErrorTitle); } - public async Task SendUpdate(object model, string path, string onErrorTitle) + public async Task SendUpdate(object? model, string? path, string? onErrorTitle) { string myContent = JsonConvert.SerializeObject(model); var content = new StringContent(myContent, Encoding.UTF8, "application/json"); return await HandleResponse(await _client.PutAsync(path, content), onErrorTitle); } - public async Task SendUpdate(string path, string onErrorTitle) + public async Task SendUpdate(string? path, string? onErrorTitle) { return await HandleResponse(await _client.PutAsync(path, null), onErrorTitle); } - public async Task SendDelete(string path, string onErrorTitle) + public async Task SendDelete(string? path, string? onErrorTitle) { return await HandleResponse(await _client.DeleteAsync(path), onErrorTitle); } - private async Task HandleResponse(HttpResponseMessage response, string onErrorTitle) where TContent : class + private async Task? HandleResponse(HttpResponseMessage? response, string? onErrorTitle) where TContent : class { string responseString = await response.Content.ReadAsStringAsync(); diff --git a/Clients/Forms.Android/NotatnikMechanika.Forms.Android.csproj b/Clients/Forms.Android/NotatnikMechanika.Forms.Android.csproj index 495b3c6..0e63b60 100644 --- a/Clients/Forms.Android/NotatnikMechanika.Forms.Android.csproj +++ b/Clients/Forms.Android/NotatnikMechanika.Forms.Android.csproj @@ -152,12 +152,6 @@ - - - {5ffed678-5e44-4bfb-9b4b-4da84e156864} - NotatnikMechanika.Forms - - diff --git a/Clients/Forms/NotatnikMechanika.Forms.csproj b/Clients/Forms/NotatnikMechanika.Forms.csproj index a9ce439..171b744 100644 --- a/Clients/Forms/NotatnikMechanika.Forms.csproj +++ b/Clients/Forms/NotatnikMechanika.Forms.csproj @@ -6,11 +6,11 @@ - - - - - + + + + + true diff --git a/Clients/WPF/NotatnikMechanika.WPF.csproj b/Clients/WPF/NotatnikMechanika.WPF.csproj index ee4e139..b555545 100644 --- a/Clients/WPF/NotatnikMechanika.WPF.csproj +++ b/Clients/WPF/NotatnikMechanika.WPF.csproj @@ -2,7 +2,7 @@ WinExe - net5.0-windows + net6.0-windows latest true false @@ -15,7 +15,7 @@ - + diff --git a/MVVMPackage/Blazor/MVVMPackage.Blazor.csproj b/MVVMPackage/Blazor/MVVMPackage.Blazor.csproj index 695eed4..c01d218 100644 --- a/MVVMPackage/Blazor/MVVMPackage.Blazor.csproj +++ b/MVVMPackage/Blazor/MVVMPackage.Blazor.csproj @@ -1,16 +1,17 @@ - net5.0 + net6.0 - - - - - - + + + + + + + all diff --git a/MVVMPackage/Core/Commands/AsyncCommand.cs b/MVVMPackage/Core/Commands/AsyncCommand.cs index 276f533..2e33eb1 100644 --- a/MVVMPackage/Core/Commands/AsyncCommand.cs +++ b/MVVMPackage/Core/Commands/AsyncCommand.cs @@ -10,8 +10,8 @@ namespace MvvmPackage.Core.Commands public class AsyncCommand : IAsyncCommand { private readonly Func _execute; - private readonly Func _canExecute; - private readonly Action _onException; + private readonly Func? _canExecute; + private readonly Action? _onException; private readonly bool _continueOnCapturedContext; private readonly WeakEventManager _weakEventManager = new(); @@ -23,8 +23,8 @@ public class AsyncCommand : IAsyncCommand /// Action callback when an exception occurs /// If the context should be captured on exception public AsyncCommand(Func execute, - Func canExecute = null, - Action onException = null, + Func? canExecute = null, + Action? onException = null, bool continueOnCapturedContext = false) { _execute = execute ?? throw new ArgumentNullException(nameof(execute)); @@ -82,8 +82,8 @@ void ICommand.Execute(object parameter) public class AsyncCommand : IAsyncCommand { private readonly Func _execute; - private readonly Func _canExecute; - private readonly Action _onException; + private readonly Func? _canExecute; + private readonly Action? _onException; private readonly bool _continueOnCapturedContext; private readonly WeakEventManager _weakEventManager = new(); @@ -95,8 +95,8 @@ public class AsyncCommand : IAsyncCommand /// Action callback when an exception occurs /// If the context should be captured on exception public AsyncCommand(Func execute, - Func canExecute = null, - Action onException = null, + Func? canExecute = null, + Action? onException = null, bool continueOnCapturedContext = false) { _execute = execute ?? throw new ArgumentNullException(nameof(execute)); diff --git a/MVVMPackage/Core/Commands/Command.cs b/MVVMPackage/Core/Commands/Command.cs index 9c3eabb..1d70a5b 100644 --- a/MVVMPackage/Core/Commands/Command.cs +++ b/MVVMPackage/Core/Commands/Command.cs @@ -60,7 +60,7 @@ public Command(Action execute, Func canExecute) /// public class Command : ICommand { - private readonly Func _canExecute; + private readonly Func? _canExecute; private readonly Action _execute; private readonly WeakEventManager _weakEventManager = new(); diff --git a/MVVMPackage/Core/MvvmPackage.Core.csproj b/MVVMPackage/Core/MvvmPackage.Core.csproj index 74e827b..f179eb8 100644 --- a/MVVMPackage/Core/MvvmPackage.Core.csproj +++ b/MVVMPackage/Core/MvvmPackage.Core.csproj @@ -2,8 +2,8 @@ - - + + all diff --git a/MVVMPackage/Wpf/MvvmPackage.Wpf.csproj b/MVVMPackage/Wpf/MvvmPackage.Wpf.csproj index 2aeb860..55dc28e 100644 --- a/MVVMPackage/Wpf/MvvmPackage.Wpf.csproj +++ b/MVVMPackage/Wpf/MvvmPackage.Wpf.csproj @@ -1,13 +1,13 @@  - net5.0-windows + net6.0-windows true - - + + diff --git a/MVVMPackage/Xamarin/MvvmPackage.Xamarin.csproj b/MVVMPackage/Xamarin/MvvmPackage.Xamarin.csproj index 79d969b..bc95d92 100644 --- a/MVVMPackage/Xamarin/MvvmPackage.Xamarin.csproj +++ b/MVVMPackage/Xamarin/MvvmPackage.Xamarin.csproj @@ -2,8 +2,8 @@ - - + + diff --git a/NotatnikMechanika.Core.Tests/NotatnikMechanika.Core.Tests.csproj b/NotatnikMechanika.Core.Tests/NotatnikMechanika.Core.Tests.csproj index 0b4c38f..89e022e 100644 --- a/NotatnikMechanika.Core.Tests/NotatnikMechanika.Core.Tests.csproj +++ b/NotatnikMechanika.Core.Tests/NotatnikMechanika.Core.Tests.csproj @@ -1,15 +1,15 @@ - net5.0 + net6.0 false - - - + + + diff --git a/NotatnikMechanika.Maui/App.xaml b/NotatnikMechanika.Maui/App.xaml new file mode 100644 index 0000000..7241854 --- /dev/null +++ b/NotatnikMechanika.Maui/App.xaml @@ -0,0 +1,26 @@ + + + + + + #512bdf + White + + + + + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/App.xaml.cs b/NotatnikMechanika.Maui/App.xaml.cs new file mode 100644 index 0000000..2fa0fba --- /dev/null +++ b/NotatnikMechanika.Maui/App.xaml.cs @@ -0,0 +1,12 @@ +namespace NotatnikMechanika.Maui +{ + public partial class App : Application + { + public App() + { + InitializeComponent(); + + MainPage = new MainPage(); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Data/WeatherForecast.cs b/NotatnikMechanika.Maui/Data/WeatherForecast.cs new file mode 100644 index 0000000..80e6f64 --- /dev/null +++ b/NotatnikMechanika.Maui/Data/WeatherForecast.cs @@ -0,0 +1,13 @@ +namespace NotatnikMechanika.Maui.Data +{ + public class WeatherForecast + { + public DateTime Date { get; set; } + + public int TemperatureC { get; set; } + + public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); + + public string Summary { get; set; } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Data/WeatherForecastService.cs b/NotatnikMechanika.Maui/Data/WeatherForecastService.cs new file mode 100644 index 0000000..53de256 --- /dev/null +++ b/NotatnikMechanika.Maui/Data/WeatherForecastService.cs @@ -0,0 +1,20 @@ +namespace NotatnikMechanika.Maui.Data +{ + public class WeatherForecastService + { + private static readonly string[] Summaries = new[] + { + "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" + }; + + public Task GetForecastAsync(DateTime startDate) + { + return Task.FromResult(Enumerable.Range(1, 5).Select(index => new WeatherForecast + { + Date = startDate.AddDays(index), + TemperatureC = Random.Shared.Next(-20, 55), + Summary = Summaries[Random.Shared.Next(Summaries.Length)] + }).ToArray()); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Main.razor b/NotatnikMechanika.Maui/Main.razor new file mode 100644 index 0000000..024ed16 --- /dev/null +++ b/NotatnikMechanika.Maui/Main.razor @@ -0,0 +1,11 @@ + + + + + + + +

Sorry, there's nothing at this address.

+
+
+
diff --git a/NotatnikMechanika.Maui/MainPage.xaml b/NotatnikMechanika.Maui/MainPage.xaml new file mode 100644 index 0000000..dd5ad5a --- /dev/null +++ b/NotatnikMechanika.Maui/MainPage.xaml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/MainPage.xaml.cs b/NotatnikMechanika.Maui/MainPage.xaml.cs new file mode 100644 index 0000000..8d7eb78 --- /dev/null +++ b/NotatnikMechanika.Maui/MainPage.xaml.cs @@ -0,0 +1,10 @@ +namespace NotatnikMechanika.Maui +{ + public partial class MainPage : ContentPage + { + public MainPage() + { + InitializeComponent(); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/MauiProgram.cs b/NotatnikMechanika.Maui/MauiProgram.cs new file mode 100644 index 0000000..daef9ff --- /dev/null +++ b/NotatnikMechanika.Maui/MauiProgram.cs @@ -0,0 +1,28 @@ +using Microsoft.AspNetCore.Components.WebView.Maui; +using NotatnikMechanika.Maui.Data; + +namespace NotatnikMechanika.Maui +{ + public static class MauiProgram + { + public static MauiApp CreateMauiApp() + { + var builder = MauiApp.CreateBuilder(); + builder + .UseMauiApp() + .ConfigureFonts(fonts => + { + fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular"); + }); + + builder.Services.AddMauiBlazorWebView(); +#if DEBUG + builder.Services.AddBlazorWebViewDeveloperTools(); +#endif + + builder.Services.AddSingleton(); + + return builder.Build(); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/NotatnikMechanika.Maui.csproj b/NotatnikMechanika.Maui/NotatnikMechanika.Maui.csproj new file mode 100644 index 0000000..eb86950 --- /dev/null +++ b/NotatnikMechanika.Maui/NotatnikMechanika.Maui.csproj @@ -0,0 +1,98 @@ + + + + net6.0-android;net6.0-ios;net6.0-maccatalyst + $(TargetFrameworks);net6.0-windows10.0.19041.0 + + + Exe + NotatnikMechanika.Maui + true + true + enable + false + + + NotatnikMechanika.Maui + + + com.companyname.notatnikmechanika.maui + 3B3FD607-FF17-4D57-8610-50D348156F6F + + + 1.0 + 1 + + 14.0 + 14.0 + 28.0 + 10.0.17763.0 + 10.0.17763.0 + 6.5 + + False + + + + True + link + + + + True + link + + + + True + link + + + + True + link + + + + True + link + + + + True + link + + + + True + link + + + + True + link + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NotatnikMechanika.Maui/Pages/Counter.razor b/NotatnikMechanika.Maui/Pages/Counter.razor new file mode 100644 index 0000000..6324ad0 --- /dev/null +++ b/NotatnikMechanika.Maui/Pages/Counter.razor @@ -0,0 +1,16 @@ +@page "/counter" + +

Counter

+ +

Current count: @currentCount

+ + + +@code { + private int currentCount = 0; + + private void IncrementCount() + { + currentCount++; + } +} diff --git a/NotatnikMechanika.Maui/Pages/FetchData.razor b/NotatnikMechanika.Maui/Pages/FetchData.razor new file mode 100644 index 0000000..4a9de14 --- /dev/null +++ b/NotatnikMechanika.Maui/Pages/FetchData.razor @@ -0,0 +1,46 @@ +@page "/fetchdata" + +@using NotatnikMechanika.Maui.Data +@inject WeatherForecastService ForecastService + +

Weather forecast

+ +

This component demonstrates fetching data from a service.

+ +@if (forecasts == null) +{ +

Loading...

+} +else +{ + + + + + + + + + + + @foreach (var forecast in forecasts) + { + + + + + + + } + +
DateTemp. (C)Temp. (F)Summary
@forecast.Date.ToShortDateString()@forecast.TemperatureC@forecast.TemperatureF@forecast.Summary
+} + +@code { + private WeatherForecast[] forecasts; + + protected override async Task OnInitializedAsync() + { + forecasts = await ForecastService.GetForecastAsync(DateTime.Now); + } +} diff --git a/NotatnikMechanika.Maui/Pages/Index.razor b/NotatnikMechanika.Maui/Pages/Index.razor new file mode 100644 index 0000000..e54d914 --- /dev/null +++ b/NotatnikMechanika.Maui/Pages/Index.razor @@ -0,0 +1,7 @@ +@page "/" + +

Hello, world!

+ +Welcome to your new app. + + diff --git a/NotatnikMechanika.Maui/Platforms/Android/AndroidManifest.xml b/NotatnikMechanika.Maui/Platforms/Android/AndroidManifest.xml new file mode 100644 index 0000000..e9937ad --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Android/AndroidManifest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Android/MainActivity.cs b/NotatnikMechanika.Maui/Platforms/Android/MainActivity.cs new file mode 100644 index 0000000..dcc06c5 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Android/MainActivity.cs @@ -0,0 +1,11 @@ +using Android.App; +using Android.Content.PM; +using Android.OS; + +namespace NotatnikMechanika.Maui +{ + [Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)] + public class MainActivity : MauiAppCompatActivity + { + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Android/MainApplication.cs b/NotatnikMechanika.Maui/Platforms/Android/MainApplication.cs new file mode 100644 index 0000000..26e66f6 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Android/MainApplication.cs @@ -0,0 +1,16 @@ +using Android.App; +using Android.Runtime; + +namespace NotatnikMechanika.Maui +{ + [Application] + public class MainApplication : MauiApplication + { + public MainApplication(IntPtr handle, JniHandleOwnership ownership) + : base(handle, ownership) + { + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Android/Resources/values/colors.xml b/NotatnikMechanika.Maui/Platforms/Android/Resources/values/colors.xml new file mode 100644 index 0000000..c04d749 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Android/Resources/values/colors.xml @@ -0,0 +1,6 @@ + + + #512BD4 + #2B0B98 + #2B0B98 + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/MacCatalyst/AppDelegate.cs b/NotatnikMechanika.Maui/Platforms/MacCatalyst/AppDelegate.cs new file mode 100644 index 0000000..6e4df52 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/MacCatalyst/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace NotatnikMechanika.Maui +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/MacCatalyst/Info.plist b/NotatnikMechanika.Maui/Platforms/MacCatalyst/Info.plist new file mode 100644 index 0000000..c96dd0a --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/MacCatalyst/Info.plist @@ -0,0 +1,30 @@ + + + + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/NotatnikMechanika.Maui/Platforms/MacCatalyst/Program.cs b/NotatnikMechanika.Maui/Platforms/MacCatalyst/Program.cs new file mode 100644 index 0000000..5cf8d97 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/MacCatalyst/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace NotatnikMechanika.Maui +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Tizen/Main.cs b/NotatnikMechanika.Maui/Platforms/Tizen/Main.cs new file mode 100644 index 0000000..ed2cbfe --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Tizen/Main.cs @@ -0,0 +1,17 @@ +using Microsoft.Maui; +using Microsoft.Maui.Hosting; +using System; + +namespace NotatnikMechanika.Maui +{ + internal class Program : MauiApplication + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + + static void Main(string[] args) + { + var app = new Program(); + app.Run(args); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Tizen/tizen-manifest.xml b/NotatnikMechanika.Maui/Platforms/Tizen/tizen-manifest.xml new file mode 100644 index 0000000..6a6580c --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Tizen/tizen-manifest.xml @@ -0,0 +1,15 @@ + + + + + + appicon.xhigh.png + + + + + http://tizen.org/privilege/internet + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Windows/App.xaml b/NotatnikMechanika.Maui/Platforms/Windows/App.xaml new file mode 100644 index 0000000..1aa7107 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Windows/App.xaml @@ -0,0 +1,8 @@ + + + diff --git a/NotatnikMechanika.Maui/Platforms/Windows/App.xaml.cs b/NotatnikMechanika.Maui/Platforms/Windows/App.xaml.cs new file mode 100644 index 0000000..6adb01b --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Windows/App.xaml.cs @@ -0,0 +1,24 @@ +using Microsoft.UI.Xaml; + +// To learn more about WinUI, the WinUI project structure, +// and more about our project templates, see: http://aka.ms/winui-project-info. + +namespace NotatnikMechanika.Maui.WinUI +{ + /// + /// Provides application-specific behavior to supplement the default Application class. + /// + public partial class App : MauiWinUIApplication + { + /// + /// Initializes the singleton application object. This is the first line of authored code + /// executed, and as such is the logical equivalent of main() or WinMain(). + /// + public App() + { + this.InitializeComponent(); + } + + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/Windows/Package.appxmanifest b/NotatnikMechanika.Maui/Platforms/Windows/Package.appxmanifest new file mode 100644 index 0000000..2bcb11e --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Windows/Package.appxmanifest @@ -0,0 +1,43 @@ + + + + + + + $placeholder$ + User Name + $placeholder$.png + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NotatnikMechanika.Maui/Platforms/Windows/app.manifest b/NotatnikMechanika.Maui/Platforms/Windows/app.manifest new file mode 100644 index 0000000..51e7b9f --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/Windows/app.manifest @@ -0,0 +1,15 @@ + + + + + + + + true/PM + PerMonitorV2, PerMonitor + + + diff --git a/NotatnikMechanika.Maui/Platforms/iOS/AppDelegate.cs b/NotatnikMechanika.Maui/Platforms/iOS/AppDelegate.cs new file mode 100644 index 0000000..6e4df52 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/iOS/AppDelegate.cs @@ -0,0 +1,10 @@ +using Foundation; + +namespace NotatnikMechanika.Maui +{ + [Register("AppDelegate")] + public class AppDelegate : MauiUIApplicationDelegate + { + protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Platforms/iOS/Info.plist b/NotatnikMechanika.Maui/Platforms/iOS/Info.plist new file mode 100644 index 0000000..0004a4f --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/iOS/Info.plist @@ -0,0 +1,32 @@ + + + + + LSRequiresIPhoneOS + + UIDeviceFamily + + 1 + 2 + + UIRequiredDeviceCapabilities + + arm64 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + XSAppIconAssets + Assets.xcassets/appicon.appiconset + + diff --git a/NotatnikMechanika.Maui/Platforms/iOS/Program.cs b/NotatnikMechanika.Maui/Platforms/iOS/Program.cs new file mode 100644 index 0000000..5cf8d97 --- /dev/null +++ b/NotatnikMechanika.Maui/Platforms/iOS/Program.cs @@ -0,0 +1,16 @@ +using ObjCRuntime; +using UIKit; + +namespace NotatnikMechanika.Maui +{ + public class Program + { + // This is the main entry point of the application. + static void Main(string[] args) + { + // if you want to use a different Application Delegate class from "AppDelegate" + // you can specify it here. + UIApplication.Main(args, null, typeof(AppDelegate)); + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Properties/launchSettings.json b/NotatnikMechanika.Maui/Properties/launchSettings.json new file mode 100644 index 0000000..edf8aad --- /dev/null +++ b/NotatnikMechanika.Maui/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "Windows Machine": { + "commandName": "MsixPackage", + "nativeDebugging": false + } + } +} \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Resources/AppIcon/appicon.svg b/NotatnikMechanika.Maui/Resources/AppIcon/appicon.svg new file mode 100644 index 0000000..9d63b65 --- /dev/null +++ b/NotatnikMechanika.Maui/Resources/AppIcon/appicon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Resources/AppIcon/appiconfg.svg b/NotatnikMechanika.Maui/Resources/AppIcon/appiconfg.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/NotatnikMechanika.Maui/Resources/AppIcon/appiconfg.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Resources/Fonts/OpenSans-Regular.ttf b/NotatnikMechanika.Maui/Resources/Fonts/OpenSans-Regular.ttf new file mode 100644 index 0000000..b3d9e69 Binary files /dev/null and b/NotatnikMechanika.Maui/Resources/Fonts/OpenSans-Regular.ttf differ diff --git a/NotatnikMechanika.Maui/Resources/Images/dotnet_bot.svg b/NotatnikMechanika.Maui/Resources/Images/dotnet_bot.svg new file mode 100644 index 0000000..abfaff2 --- /dev/null +++ b/NotatnikMechanika.Maui/Resources/Images/dotnet_bot.svg @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NotatnikMechanika.Maui/Resources/Raw/AboutAssets.txt b/NotatnikMechanika.Maui/Resources/Raw/AboutAssets.txt new file mode 100644 index 0000000..15d6244 --- /dev/null +++ b/NotatnikMechanika.Maui/Resources/Raw/AboutAssets.txt @@ -0,0 +1,15 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories). Deployment of the asset to your application +is automatically handled by the following `MauiAsset` Build Action within your `.csproj`. + + + +These files will be deployed with you package and will be accessible using Essentials: + + async Task LoadMauiAsset() + { + using var stream = await FileSystem.OpenAppPackageFileAsync("AboutAssets.txt"); + using var reader = new StreamReader(stream); + + var contents = reader.ReadToEnd(); + } diff --git a/NotatnikMechanika.Maui/Resources/Splash/splash.svg b/NotatnikMechanika.Maui/Resources/Splash/splash.svg new file mode 100644 index 0000000..21dfb25 --- /dev/null +++ b/NotatnikMechanika.Maui/Resources/Splash/splash.svg @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/NotatnikMechanika.Maui/Shared/MainLayout.razor b/NotatnikMechanika.Maui/Shared/MainLayout.razor new file mode 100644 index 0000000..1ba7ad0 --- /dev/null +++ b/NotatnikMechanika.Maui/Shared/MainLayout.razor @@ -0,0 +1,17 @@ +@inherits LayoutComponentBase + +
+ + +
+
+ About +
+ +
+ @Body +
+
+
diff --git a/NotatnikMechanika.Maui/Shared/MainLayout.razor.css b/NotatnikMechanika.Maui/Shared/MainLayout.razor.css new file mode 100644 index 0000000..53213f4 --- /dev/null +++ b/NotatnikMechanika.Maui/Shared/MainLayout.razor.css @@ -0,0 +1,75 @@ +.page { + position: relative; + display: flex; + flex-direction: column; +} + +main { + flex: 1; +} + +.sidebar { + background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%); +} + +.top-row { + background-color: #f7f7f7; + border-bottom: 1px solid #d6d5d5; + justify-content: flex-end; + height: 3.5rem; + display: flex; + align-items: center; +} + + .top-row ::deep a, .top-row ::deep .btn-link { + white-space: nowrap; + margin-left: 1.5rem; + text-decoration: none; + } + + .top-row ::deep a:hover, .top-row ::deep .btn-link:hover { + text-decoration: underline; + } + + .top-row ::deep a:first-child { + overflow: hidden; + text-overflow: ellipsis; + } + +@media (max-width: 640.98px) { + .top-row:not(.auth) { + display: none; + } + + .top-row.auth { + justify-content: space-between; + } + + .top-row ::deep a, .top-row ::deep .btn-link { + margin-left: 0; + } +} + +@media (min-width: 641px) { + .page { + flex-direction: row; + } + + .sidebar { + width: 250px; + height: 100vh; + position: sticky; + top: 0; + } + + .top-row { + position: sticky; + top: 0; + z-index: 1; + } + + .top-row, article { + padding-left: 2rem !important; + padding-right: 1.5rem !important; + } +} diff --git a/NotatnikMechanika.Maui/Shared/NavMenu.razor b/NotatnikMechanika.Maui/Shared/NavMenu.razor new file mode 100644 index 0000000..4a616b1 --- /dev/null +++ b/NotatnikMechanika.Maui/Shared/NavMenu.razor @@ -0,0 +1,39 @@ + + +
+ +
+ +@code { + private bool collapseNavMenu = true; + + private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; + + private void ToggleNavMenu() + { + collapseNavMenu = !collapseNavMenu; + } +} diff --git a/NotatnikMechanika.Maui/Shared/NavMenu.razor.css b/NotatnikMechanika.Maui/Shared/NavMenu.razor.css new file mode 100644 index 0000000..acc5f9f --- /dev/null +++ b/NotatnikMechanika.Maui/Shared/NavMenu.razor.css @@ -0,0 +1,62 @@ +.navbar-toggler { + background-color: rgba(255, 255, 255, 0.1); +} + +.top-row { + height: 3.5rem; + background-color: rgba(0,0,0,0.4); +} + +.navbar-brand { + font-size: 1.1rem; +} + +.oi { + width: 2rem; + font-size: 1.1rem; + vertical-align: text-top; + top: -2px; +} + +.nav-item { + font-size: 0.9rem; + padding-bottom: 0.5rem; +} + + .nav-item:first-of-type { + padding-top: 1rem; + } + + .nav-item:last-of-type { + padding-bottom: 1rem; + } + + .nav-item ::deep a { + color: #d7d7d7; + border-radius: 4px; + height: 3rem; + display: flex; + align-items: center; + line-height: 3rem; + } + +.nav-item ::deep a.active { + background-color: rgba(255,255,255,0.25); + color: white; +} + +.nav-item ::deep a:hover { + background-color: rgba(255,255,255,0.1); + color: white; +} + +@media (min-width: 641px) { + .navbar-toggler { + display: none; + } + + .collapse { + /* Never collapse the sidebar for wide screens */ + display: block; + } +} diff --git a/NotatnikMechanika.Maui/Shared/SurveyPrompt.razor b/NotatnikMechanika.Maui/Shared/SurveyPrompt.razor new file mode 100644 index 0000000..fc67435 --- /dev/null +++ b/NotatnikMechanika.Maui/Shared/SurveyPrompt.razor @@ -0,0 +1,16 @@ +
+ + @Title + + + Please take our + brief survey + + and tell us what you think. +
+ +@code { + // Demonstrates how a parent component can supply parameters + [Parameter] + public string Title { get; set; } +} diff --git a/NotatnikMechanika.Maui/_Imports.razor b/NotatnikMechanika.Maui/_Imports.razor new file mode 100644 index 0000000..4c9483a --- /dev/null +++ b/NotatnikMechanika.Maui/_Imports.razor @@ -0,0 +1,8 @@ +@using System.Net.Http +@using Microsoft.AspNetCore.Components.Forms +@using Microsoft.AspNetCore.Components.Routing +@using Microsoft.AspNetCore.Components.Web +@using Microsoft.AspNetCore.Components.Web.Virtualization +@using Microsoft.JSInterop +@using NotatnikMechanika.Maui +@using NotatnikMechanika.Maui.Shared diff --git a/NotatnikMechanika.sln b/NotatnikMechanika.sln index 58a4dcc..cdf2e87 100644 --- a/NotatnikMechanika.sln +++ b/NotatnikMechanika.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.30204.135 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32519.111 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Api", "Api", "{535D483F-7F9A-48BE-B700-52FAC05F0EC9}" EndProject @@ -25,12 +25,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MvvmPackage.Xamarin", "Mvvm EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotatnikMechanika.Core", "Clients\Core\NotatnikMechanika.Core.csproj", "{C2E3DD12-8B52-4151-A4B7-F96EFDF10372}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotatnikMechanika.Forms", "Clients\Forms\NotatnikMechanika.Forms.csproj", "{5FFED678-5E44-4BFB-9B4B-4DA84E156864}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotatnikMechanika.Forms.Android", "Clients\Forms.Android\NotatnikMechanika.Forms.Android.csproj", "{8B1912D8-A126-4B13-8D1C-B3CACE821387}" -EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotatnikMechanika.Forms.iOS", "Clients\Forms.iOS\NotatnikMechanika.Forms.iOS.csproj", "{9B661DB8-4B79-4FAC-8C34-20A911166672}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotatnikMechanika.WPF", "Clients\WPF\NotatnikMechanika.WPF.csproj", "{49EF1200-C734-4B59-A042-A4EFAF95D55F}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NotatnikMechanika.Service", "Api\Service\NotatnikMechanika.Service.csproj", "{6992ACEE-7A62-47B8-8E6E-FC908D118B9F}" @@ -49,6 +43,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Settings.XamlStyler = Settings.XamlStyler EndProjectSection EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NotatnikMechanika.Maui", "NotatnikMechanika.Maui\NotatnikMechanika.Maui.csproj", "{FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -257,83 +253,6 @@ Global {C2E3DD12-8B52-4151-A4B7-F96EFDF10372}.Release|x64.Build.0 = Release|Any CPU {C2E3DD12-8B52-4151-A4B7-F96EFDF10372}.Release|x86.ActiveCfg = Release|Any CPU {C2E3DD12-8B52-4151-A4B7-F96EFDF10372}.Release|x86.Build.0 = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|Any CPU.Build.0 = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|ARM.ActiveCfg = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|ARM.Build.0 = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|iPhone.Build.0 = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|x64.ActiveCfg = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|x64.Build.0 = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|x86.ActiveCfg = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Debug|x86.Build.0 = Debug|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|Any CPU.ActiveCfg = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|Any CPU.Build.0 = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|ARM.ActiveCfg = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|ARM.Build.0 = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|iPhone.ActiveCfg = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|iPhone.Build.0 = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|x64.ActiveCfg = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|x64.Build.0 = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|x86.ActiveCfg = Release|Any CPU - {5FFED678-5E44-4BFB-9B4B-4DA84E156864}.Release|x86.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|Any CPU.Build.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|ARM.ActiveCfg = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|ARM.Build.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|ARM.Deploy.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|iPhone.ActiveCfg = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|iPhone.Build.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|iPhone.Deploy.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|x64.ActiveCfg = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|x64.Build.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|x64.Deploy.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|x86.ActiveCfg = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|x86.Build.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Debug|x86.Deploy.0 = Debug|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|Any CPU.ActiveCfg = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|Any CPU.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|Any CPU.Deploy.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|ARM.ActiveCfg = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|ARM.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|ARM.Deploy.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|iPhone.ActiveCfg = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|iPhone.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|iPhone.Deploy.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|iPhoneSimulator.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|x64.ActiveCfg = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|x64.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|x64.Deploy.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|x86.ActiveCfg = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|x86.Build.0 = Release|Any CPU - {8B1912D8-A126-4B13-8D1C-B3CACE821387}.Release|x86.Deploy.0 = Release|Any CPU - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|Any CPU.ActiveCfg = Debug|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|ARM.ActiveCfg = Debug|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|iPhone.ActiveCfg = Debug|iPhone - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|iPhone.Build.0 = Debug|iPhone - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|iPhone.Deploy.0 = Debug|iPhone - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|x64.ActiveCfg = Debug|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Debug|x86.ActiveCfg = Debug|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|Any CPU.ActiveCfg = Release|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|ARM.ActiveCfg = Release|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|iPhone.ActiveCfg = Release|iPhone - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|iPhone.Build.0 = Release|iPhone - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|x64.ActiveCfg = Release|iPhoneSimulator - {9B661DB8-4B79-4FAC-8C34-20A911166672}.Release|x86.ActiveCfg = Release|iPhoneSimulator {49EF1200-C734-4B59-A042-A4EFAF95D55F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {49EF1200-C734-4B59-A042-A4EFAF95D55F}.Debug|Any CPU.Build.0 = Debug|Any CPU {49EF1200-C734-4B59-A042-A4EFAF95D55F}.Debug|ARM.ActiveCfg = Debug|Any CPU @@ -454,6 +373,42 @@ Global {B69F5F0E-6EAB-48DF-BD58-D1F9457C1F2E}.Release|x64.Build.0 = Release|Any CPU {B69F5F0E-6EAB-48DF-BD58-D1F9457C1F2E}.Release|x86.ActiveCfg = Release|Any CPU {B69F5F0E-6EAB-48DF-BD58-D1F9457C1F2E}.Release|x86.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|Any CPU.Deploy.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|ARM.ActiveCfg = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|ARM.Build.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|ARM.Deploy.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|iPhone.Build.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|iPhone.Deploy.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|x64.ActiveCfg = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|x64.Build.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|x64.Deploy.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|x86.ActiveCfg = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|x86.Build.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Debug|x86.Deploy.0 = Debug|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|Any CPU.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|Any CPU.Deploy.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|ARM.ActiveCfg = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|ARM.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|ARM.Deploy.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|iPhone.ActiveCfg = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|iPhone.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|iPhone.Deploy.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|x64.ActiveCfg = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|x64.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|x64.Deploy.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|x86.ActiveCfg = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|x86.Build.0 = Release|Any CPU + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472}.Release|x86.Deploy.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -467,14 +422,12 @@ Global {855D8317-1020-410B-8CC7-6B38E9722847} = {9F4C474A-9C81-48AF-BCA4-A35B8AABF54D} {E0F158DA-4777-4742-A123-F469CDB3427C} = {9F4C474A-9C81-48AF-BCA4-A35B8AABF54D} {C2E3DD12-8B52-4151-A4B7-F96EFDF10372} = {CB020155-2ED3-47A4-9280-16802F94DF68} - {5FFED678-5E44-4BFB-9B4B-4DA84E156864} = {CB020155-2ED3-47A4-9280-16802F94DF68} - {8B1912D8-A126-4B13-8D1C-B3CACE821387} = {CB020155-2ED3-47A4-9280-16802F94DF68} - {9B661DB8-4B79-4FAC-8C34-20A911166672} = {CB020155-2ED3-47A4-9280-16802F94DF68} {49EF1200-C734-4B59-A042-A4EFAF95D55F} = {CB020155-2ED3-47A4-9280-16802F94DF68} {6992ACEE-7A62-47B8-8E6E-FC908D118B9F} = {535D483F-7F9A-48BE-B700-52FAC05F0EC9} {F7A3A1B3-EBD3-4E00-B166-829938ECC60F} = {535D483F-7F9A-48BE-B700-52FAC05F0EC9} {2FA117B8-9E29-4464-911B-9EF966CD81D4} = {535D483F-7F9A-48BE-B700-52FAC05F0EC9} {B69F5F0E-6EAB-48DF-BD58-D1F9457C1F2E} = {78BFE887-2F9A-459C-9001-9CA9F41AD3A1} + {FFBEC13E-5303-4AD0-86BE-A6A59EA7E472} = {CB020155-2ED3-47A4-9280-16802F94DF68} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {3DA0B231-74F3-47B7-961B-BE044D60B8CD}