From e86b971d6245480cb455cd1816fe162b206ca2aa Mon Sep 17 00:00:00 2001 From: Selim Mustafaev Date: Wed, 19 Jul 2023 00:42:11 +0300 Subject: [PATCH] Initial commit --- .gitignore | 6 ++ AutoCat.sln | 22 +++++ AutoCat.sln.DotSettings.user | 6 ++ AutoCat/.DS_Store | Bin 0 -> 6148 bytes AutoCat/App.axaml | 14 +++ AutoCat/App.axaml.cs | 58 ++++++++++++ AutoCat/Assets/avalonia-logo.ico | Bin 0 -> 176111 bytes AutoCat/AutoCat.csproj | 34 +++++++ AutoCat/Extensions/TernaryExtension.cs | 31 +++++++ AutoCat/Mocks/AuthWindowViewModelMock.cs | 12 +++ AutoCat/Program.cs | 22 +++++ AutoCat/Utils/AbstractFactory.cs | 23 +++++ AutoCat/Utils/DIExtentions.cs | 15 ++++ AutoCat/Utils/ViewModelProvider.cs | 24 +++++ AutoCat/ViewLocator.cs | 27 ++++++ AutoCat/ViewModels/AuthWindowViewModel.cs | 83 ++++++++++++++++++ AutoCat/ViewModels/MainWindowViewModel.cs | 6 ++ AutoCat/ViewModels/ViewModelBase.cs | 14 +++ AutoCat/Views/AuthWindow.axaml | 37 ++++++++ AutoCat/Views/AuthWindow.axaml.cs | 20 +++++ AutoCat/Views/MainWindow.axaml | 22 +++++ AutoCat/Views/MainWindow.axaml.cs | 11 +++ AutoCat/app.manifest | 18 ++++ AutoCatCore/.DS_Store | Bin 0 -> 6148 bytes AutoCatCore/AutoCatCore.csproj | 14 +++ AutoCatCore/Model/AutoCatDbContext.cs | 19 ++++ AutoCatCore/Model/Osago.cs | 16 ++++ AutoCatCore/Model/Requests/Credentials.cs | 14 +++ AutoCatCore/Model/Requests/PagedResponse.cs | 13 +++ AutoCatCore/Model/Requests/Response.cs | 8 ++ AutoCatCore/Model/User.cs | 16 ++++ AutoCatCore/Model/Vehicle.cs | 31 +++++++ AutoCatCore/Model/VehicleAd.cs | 18 ++++ AutoCatCore/Model/VehicleBrand.cs | 8 ++ AutoCatCore/Model/VehicleEngine.cs | 11 +++ AutoCatCore/Model/VehicleEvent.cs | 14 +++ AutoCatCore/Model/VehicleModel.cs | 7 ++ AutoCatCore/Model/VehicleName.cs | 8 ++ AutoCatCore/Model/VehicleOwnershipPeriod.cs | 17 ++++ AutoCatCore/Model/VehiclePhoto.cs | 10 +++ AutoCatCore/Services/Api/ApiService.cs | 63 +++++++++++++ AutoCatCore/Services/Api/IApiService.cs | 10 +++ .../Services/Storage/IStorageService.cs | 10 +++ .../Services/Storage/StorageService.cs | 33 +++++++ 44 files changed, 845 insertions(+) create mode 100644 .gitignore create mode 100644 AutoCat.sln create mode 100644 AutoCat.sln.DotSettings.user create mode 100644 AutoCat/.DS_Store create mode 100644 AutoCat/App.axaml create mode 100644 AutoCat/App.axaml.cs create mode 100644 AutoCat/Assets/avalonia-logo.ico create mode 100644 AutoCat/AutoCat.csproj create mode 100644 AutoCat/Extensions/TernaryExtension.cs create mode 100644 AutoCat/Mocks/AuthWindowViewModelMock.cs create mode 100644 AutoCat/Program.cs create mode 100644 AutoCat/Utils/AbstractFactory.cs create mode 100644 AutoCat/Utils/DIExtentions.cs create mode 100644 AutoCat/Utils/ViewModelProvider.cs create mode 100644 AutoCat/ViewLocator.cs create mode 100644 AutoCat/ViewModels/AuthWindowViewModel.cs create mode 100644 AutoCat/ViewModels/MainWindowViewModel.cs create mode 100644 AutoCat/ViewModels/ViewModelBase.cs create mode 100644 AutoCat/Views/AuthWindow.axaml create mode 100644 AutoCat/Views/AuthWindow.axaml.cs create mode 100644 AutoCat/Views/MainWindow.axaml create mode 100644 AutoCat/Views/MainWindow.axaml.cs create mode 100644 AutoCat/app.manifest create mode 100644 AutoCatCore/.DS_Store create mode 100644 AutoCatCore/AutoCatCore.csproj create mode 100644 AutoCatCore/Model/AutoCatDbContext.cs create mode 100644 AutoCatCore/Model/Osago.cs create mode 100644 AutoCatCore/Model/Requests/Credentials.cs create mode 100644 AutoCatCore/Model/Requests/PagedResponse.cs create mode 100644 AutoCatCore/Model/Requests/Response.cs create mode 100644 AutoCatCore/Model/User.cs create mode 100644 AutoCatCore/Model/Vehicle.cs create mode 100644 AutoCatCore/Model/VehicleAd.cs create mode 100644 AutoCatCore/Model/VehicleBrand.cs create mode 100644 AutoCatCore/Model/VehicleEngine.cs create mode 100644 AutoCatCore/Model/VehicleEvent.cs create mode 100644 AutoCatCore/Model/VehicleModel.cs create mode 100644 AutoCatCore/Model/VehicleName.cs create mode 100644 AutoCatCore/Model/VehicleOwnershipPeriod.cs create mode 100644 AutoCatCore/Model/VehiclePhoto.cs create mode 100644 AutoCatCore/Services/Api/ApiService.cs create mode 100644 AutoCatCore/Services/Api/IApiService.cs create mode 100644 AutoCatCore/Services/Storage/IStorageService.cs create mode 100644 AutoCatCore/Services/Storage/StorageService.cs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..39c9242 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +bin/ +obj/ +/packages/ +riderModule.iml +/_ReSharper.Caches/ +.idea/ diff --git a/AutoCat.sln b/AutoCat.sln new file mode 100644 index 0000000..ac88a63 --- /dev/null +++ b/AutoCat.sln @@ -0,0 +1,22 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoCat", "AutoCat\AutoCat.csproj", "{9FB32BFB-805B-49F2-B5A2-E1F5A0C06A62}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AutoCatCore", "AutoCatCore\AutoCatCore.csproj", "{39A58D42-E1FA-4442-A7E3-7616D35AC770}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {9FB32BFB-805B-49F2-B5A2-E1F5A0C06A62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9FB32BFB-805B-49F2-B5A2-E1F5A0C06A62}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9FB32BFB-805B-49F2-B5A2-E1F5A0C06A62}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9FB32BFB-805B-49F2-B5A2-E1F5A0C06A62}.Release|Any CPU.Build.0 = Release|Any CPU + {39A58D42-E1FA-4442-A7E3-7616D35AC770}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {39A58D42-E1FA-4442-A7E3-7616D35AC770}.Debug|Any CPU.Build.0 = Debug|Any CPU + {39A58D42-E1FA-4442-A7E3-7616D35AC770}.Release|Any CPU.ActiveCfg = Release|Any CPU + {39A58D42-E1FA-4442-A7E3-7616D35AC770}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection +EndGlobal diff --git a/AutoCat.sln.DotSettings.user b/AutoCat.sln.DotSettings.user new file mode 100644 index 0000000..e702cc0 --- /dev/null +++ b/AutoCat.sln.DotSettings.user @@ -0,0 +1,6 @@ + + ShowAndRun + <AssemblyExplorer> + <Assembly Path="/Users/selim/.nuget/packages/avalonia/11.0.0/ref/net6.0/Avalonia.Markup.dll" /> + <Assembly Path="/Users/selim/Documents/dev/AutoCatAvalonia/AutoCat/bin/Debug/net7.0/Avalonia.Base.dll" /> +</AssemblyExplorer> \ No newline at end of file diff --git a/AutoCat/.DS_Store b/AutoCat/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..41f4f385dfce3f0661833d80e7983db38a6d94d7 GIT binary patch literal 6148 zcmeI0Jx;?w5QX1Mf)oiMQc`jS-vA=h(B=Rj6Nw)=I1M$_oQ9GEK*>qq5a`Y9f&(ks zSYp0rY|p-#wI%QDEC9~$mK87qFoj#{qJSP3U86KuPAW#Vxad~vLWtp_xsTD{8n^9b zfBsLJbMmaZx^CL8Ngv|z`Tga%?_K`kU0)TVc4%<3k#FyubA)Qfsb3Y;g literal 0 HcmV?d00001 diff --git a/AutoCat/App.axaml b/AutoCat/App.axaml new file mode 100644 index 0000000..4527556 --- /dev/null +++ b/AutoCat/App.axaml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/AutoCat/App.axaml.cs b/AutoCat/App.axaml.cs new file mode 100644 index 0000000..7b79f40 --- /dev/null +++ b/AutoCat/App.axaml.cs @@ -0,0 +1,58 @@ +using AutoCat.Utils; +using Avalonia; +using Avalonia.Controls.ApplicationLifetimes; +using Avalonia.Markup.Xaml; +using AutoCat.ViewModels; +using AutoCat.Views; +using AutoCatCore.Services.Api; +using AutoCatCore.Services.Storage; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; + +namespace AutoCat; + +public partial class App : Application +{ + public IHost AppHost { get; private set; } + + private static void RegisterDependencies(HostBuilderContext context, IServiceCollection services) + { + // Services + services.AddSingleton(); + services.AddSingleton(); + + // ViewModels + services.AddTransient(); + services.AddTransient(); + + // Windows + services.AddWindowFactory(); + services.AddWindowFactory(); + } + + public App() + { + AppHost = Host.CreateDefaultBuilder() + .ConfigureServices(RegisterDependencies) + .Build(); + } + + public override void Initialize() + { + AvaloniaXamlLoader.Load(this); + } + + public override void OnFrameworkInitializationCompleted() + { + if (ApplicationLifetime is IClassicDesktopStyleApplicationLifetime desktop) + { + var storageService = AppHost.Services.GetRequiredService(); + + desktop.MainWindow = storageService.IsLoggedIn + ? AppHost.Services.GetRequiredService() + : AppHost.Services.GetRequiredService(); + } + + base.OnFrameworkInitializationCompleted(); + } +} \ No newline at end of file diff --git a/AutoCat/Assets/avalonia-logo.ico b/AutoCat/Assets/avalonia-logo.ico new file mode 100644 index 0000000000000000000000000000000000000000..da8d49ff9b94e52778f5324a1b87dd443a698b57 GIT binary patch literal 176111 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 D^#{@9 literal 0 HcmV?d00001 diff --git a/AutoCat/AutoCat.csproj b/AutoCat/AutoCat.csproj new file mode 100644 index 0000000..4d7d7a2 --- /dev/null +++ b/AutoCat/AutoCat.csproj @@ -0,0 +1,34 @@ + + + WinExe + net7.0 + enable + true + app.manifest + false + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/AutoCat/Extensions/TernaryExtension.cs b/AutoCat/Extensions/TernaryExtension.cs new file mode 100644 index 0000000..994d85c --- /dev/null +++ b/AutoCat/Extensions/TernaryExtension.cs @@ -0,0 +1,31 @@ +using System; +using Avalonia.Data; +using Avalonia.Data.Converters; +using Avalonia.Markup.Xaml; +using Avalonia.Markup.Xaml.MarkupExtensions; + +namespace AutoCat.Extensions; + +public class TernaryExtension : MarkupExtension +{ + public TernaryExtension() + { + } + + public string Path { get; set; } + + public object True { get; set; } + + public object False { get; set; } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + var binding = new ReflectionBindingExtension(Path) + { + Mode = BindingMode.OneWay, + Converter = new FuncValueConverter(e => e ? True : False) + }; + + return binding.ProvideValue(serviceProvider); + } +} \ No newline at end of file diff --git a/AutoCat/Mocks/AuthWindowViewModelMock.cs b/AutoCat/Mocks/AuthWindowViewModelMock.cs new file mode 100644 index 0000000..79a7b17 --- /dev/null +++ b/AutoCat/Mocks/AuthWindowViewModelMock.cs @@ -0,0 +1,12 @@ +using System.Reactive; +using AutoCat.ViewModels; +using ReactiveUI; + +namespace AutoCat.Mocks; + +public class AuthWindowViewModelMock: ViewModelBase +{ + public string Email { get; set; } = ""; + public string Password { get; set; } = ""; + public ReactiveCommand LoginCommand { get; } = ReactiveCommand.Create(() => { }); +} \ No newline at end of file diff --git a/AutoCat/Program.cs b/AutoCat/Program.cs new file mode 100644 index 0000000..427afc4 --- /dev/null +++ b/AutoCat/Program.cs @@ -0,0 +1,22 @@ +using Avalonia; +using Avalonia.ReactiveUI; +using System; + +namespace AutoCat; + +class Program +{ + // Initialization code. Don't use any Avalonia, third-party APIs or any + // SynchronizationContext-reliant code before AppMain is called: things aren't initialized + // yet and stuff might break. + [STAThread] + public static void Main(string[] args) => BuildAvaloniaApp() + .StartWithClassicDesktopLifetime(args); + + // Avalonia configuration, don't remove; also used by visual designer. + public static AppBuilder BuildAvaloniaApp() + => AppBuilder.Configure() + .UsePlatformDetect() + .LogToTrace() + .UseReactiveUI(); +} \ No newline at end of file diff --git a/AutoCat/Utils/AbstractFactory.cs b/AutoCat/Utils/AbstractFactory.cs new file mode 100644 index 0000000..b54cd54 --- /dev/null +++ b/AutoCat/Utils/AbstractFactory.cs @@ -0,0 +1,23 @@ +using System; + +namespace AutoCat.Utils; + +public interface IAbstractFactory +{ + T Create(); +} + +public class AbstractFactory : IAbstractFactory +{ + private readonly Func _factory; + + public AbstractFactory(Func factory) + { + _factory = factory; + } + + public T Create() + { + return _factory(); + } +} \ No newline at end of file diff --git a/AutoCat/Utils/DIExtentions.cs b/AutoCat/Utils/DIExtentions.cs new file mode 100644 index 0000000..5f9d529 --- /dev/null +++ b/AutoCat/Utils/DIExtentions.cs @@ -0,0 +1,15 @@ +using System; +using Avalonia.Controls; +using Microsoft.Extensions.DependencyInjection; + +namespace AutoCat.Utils; + +public static class DependencyInjectionExtensions +{ + public static void AddWindowFactory(this IServiceCollection services) where TWindow: Window + { + services.AddTransient(); + services.AddSingleton>(x => () => x.GetService()!); + services.AddSingleton, AbstractFactory>(); + } +} \ No newline at end of file diff --git a/AutoCat/Utils/ViewModelProvider.cs b/AutoCat/Utils/ViewModelProvider.cs new file mode 100644 index 0000000..ab6b1f6 --- /dev/null +++ b/AutoCat/Utils/ViewModelProvider.cs @@ -0,0 +1,24 @@ +using System; +using Avalonia; +using Avalonia.Markup.Xaml; + +namespace AutoCat.Utils; + +public class ViewModelProvider: MarkupExtension +{ + private readonly Type _viewModelType; + + public ViewModelProvider(Type viewModelType) + { + _viewModelType = viewModelType; + } + + public override object ProvideValue(IServiceProvider serviceProvider) + { + if (Application.Current is App app) + return app.AppHost.Services.GetService(_viewModelType) + ?? throw new Exception("Error finding ViewModel"); + else + throw new Exception("Error getting App instance"); + } +} \ No newline at end of file diff --git a/AutoCat/ViewLocator.cs b/AutoCat/ViewLocator.cs new file mode 100644 index 0000000..0ffcdd0 --- /dev/null +++ b/AutoCat/ViewLocator.cs @@ -0,0 +1,27 @@ +using System; +using Avalonia.Controls; +using Avalonia.Controls.Templates; +using AutoCat.ViewModels; + +namespace AutoCat; + +public class ViewLocator : IDataTemplate +{ + public Control Build(object data) + { + var name = data.GetType().FullName!.Replace("ViewModel", "View"); + var type = Type.GetType(name); + + if (type != null) + { + return (Control)Activator.CreateInstance(type)!; + } + + return new TextBlock { Text = "Not Found: " + name }; + } + + public bool Match(object data) + { + return data is ViewModelBase; + } +} \ No newline at end of file diff --git a/AutoCat/ViewModels/AuthWindowViewModel.cs b/AutoCat/ViewModels/AuthWindowViewModel.cs new file mode 100644 index 0000000..913424f --- /dev/null +++ b/AutoCat/ViewModels/AuthWindowViewModel.cs @@ -0,0 +1,83 @@ +using System; +using System.Reactive; +using System.Threading.Tasks; +using AutoCatCore.Services.Api; +using AutoCatCore.Services.Storage; +using ReactiveUI; +using MsBox.Avalonia; +using MsBox.Avalonia.Dto; +using MsBox.Avalonia.Enums; + +namespace AutoCat.ViewModels; + +public class AuthWindowViewModel: ViewModelBase +{ + #region Dependencies + + private readonly IApiService _apiService; + private readonly IStorageService _storageService; + + #endregion + + #region Fields + + private string _email = ""; + private string _password = ""; + + #endregion + + #region Properties + + public string Email + { + get => _email; + set => this.RaiseAndSetIfChanged(ref _email, value); + } + + public string Password + { + get => _password; + set => this.RaiseAndSetIfChanged(ref _password, value); + } + + #endregion + + #region Commands + + public ReactiveCommand LoginCommand { get; } + + #endregion + + public AuthWindowViewModel(IApiService apiService, IStorageService storageService) + { + _apiService = apiService; + _storageService = storageService; + + var loginEnabled = this.WhenAnyValue( + vm => vm.Email, + vm => vm.Password, + (login, password) => login.Length > 3 && password.Length > 3); + + LoginCommand = ReactiveCommand.CreateFromTask(Login, loginEnabled); + LoginCommand.ThrownExceptions.Subscribe(ShowError); + } + + private async Task Login() + { + var user = await _apiService.Login(Email, Password); + //await _storageService.SetUser(user); + Close(); + } + + private async void ShowError(Exception error) + { + var msgBox = MessageBoxManager.GetMessageBoxStandard(new MessageBoxStandardParams + { + ButtonDefinitions = ButtonEnum.Ok, + ContentTitle = "Error", + ContentMessage = error.Message + }); + + await msgBox.ShowAsync(); + } +} \ No newline at end of file diff --git a/AutoCat/ViewModels/MainWindowViewModel.cs b/AutoCat/ViewModels/MainWindowViewModel.cs new file mode 100644 index 0000000..ecfdb67 --- /dev/null +++ b/AutoCat/ViewModels/MainWindowViewModel.cs @@ -0,0 +1,6 @@ +namespace AutoCat.ViewModels; + +public class MainWindowViewModel : ViewModelBase +{ + public string Greeting => "Welcome to Avalonia!"; +} \ No newline at end of file diff --git a/AutoCat/ViewModels/ViewModelBase.cs b/AutoCat/ViewModels/ViewModelBase.cs new file mode 100644 index 0000000..a54e22e --- /dev/null +++ b/AutoCat/ViewModels/ViewModelBase.cs @@ -0,0 +1,14 @@ +using System; +using ReactiveUI; + +namespace AutoCat.ViewModels; + +public class ViewModelBase : ReactiveObject +{ + public event EventHandler? ClosingRequest; + + protected void Close() + { + ClosingRequest?.Invoke(this, EventArgs.Empty); + } +} \ No newline at end of file diff --git a/AutoCat/Views/AuthWindow.axaml b/AutoCat/Views/AuthWindow.axaml new file mode 100644 index 0000000..0670b33 --- /dev/null +++ b/AutoCat/Views/AuthWindow.axaml @@ -0,0 +1,37 @@ + + + + + + + + + +