From 4cf80ff0676298c1c9578b236e45a45f5451a688 Mon Sep 17 00:00:00 2001 From: student Date: Thu, 7 May 2026 13:23:44 +1000 Subject: [PATCH] =?UTF-8?q?=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B0=D1=86=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Policlinica/DB/UserRepository.cs | 32 +- .../ViewModels/AdminWindowViewModel.cs | 2 +- .../ViewModels/AutorizationViewModel.cs | 54 ++- .../ViewModels/RegistrationViewModel.cs | 33 +- Policlinica/Views/AutorizationView.axaml | 3 +- Policlinica/Views/RegistrationView.axaml | 1 + .../bin/Debug/net9.0/Policlinica.deps.json | 37 +- Policlinica/bin/Debug/net9.0/Policlinica.dll | Bin 226816 -> 228864 bytes Policlinica/bin/Debug/net9.0/Policlinica.pdb | Bin 34520 -> 34520 bytes .../net9.0/Avalonia/Resources.Inputs.cache | 2 +- .../obj/Debug/net9.0/Avalonia/references | 444 +++++++++--------- .../obj/Debug/net9.0/Avalonia/resources | Bin 182040 -> 182069 bytes .../Debug/net9.0/Policlinica.AssemblyInfo.cs | 2 +- .../Policlinica.AssemblyInfoInputs.cache | 2 +- ....GeneratedMSBuildEditorConfig.editorconfig | 16 +- .../obj/Debug/net9.0/Policlinica.assets.cache | Bin 47707 -> 45993 bytes ...Policlinica.csproj.AssemblyReference.cache | Bin 30784 -> 30039 bytes ...Policlinica.csproj.CoreCompileInputs.cache | 2 +- .../Policlinica.csproj.FileListAbsolute.txt | 339 ++++++++----- Policlinica/obj/Debug/net9.0/Policlinica.dll | Bin 226816 -> 228864 bytes .../net9.0/Policlinica.genruntimeconfig.cache | 2 +- Policlinica/obj/Debug/net9.0/Policlinica.pdb | Bin 34520 -> 34520 bytes .../Debug/net9.0/Policlinica.sourcelink.json | 2 +- .../obj/Debug/net9.0/ref/Policlinica.dll | Bin 13312 -> 13312 bytes .../obj/Debug/net9.0/refint/Policlinica.dll | Bin 13312 -> 13312 bytes .../obj/Policlinica.csproj.nuget.dgspec.json | 19 +- .../obj/Policlinica.csproj.nuget.g.props | 20 +- .../obj/Policlinica.csproj.nuget.g.targets | 20 +- Policlinica/obj/project.assets.json | 17 +- Policlinica/obj/project.nuget.cache | 126 ++--- Policlinica/obj/project.packagespec.json | 2 +- .../obj/rider.project.model.nuget.info | 2 +- Policlinica/obj/rider.project.restore.info | 2 +- 33 files changed, 688 insertions(+), 493 deletions(-) diff --git a/Policlinica/DB/UserRepository.cs b/Policlinica/DB/UserRepository.cs index 2f3395c..5da3ce8 100644 --- a/Policlinica/DB/UserRepository.cs +++ b/Policlinica/DB/UserRepository.cs @@ -40,7 +40,6 @@ public class UserRepository:BaseRep string sql = "select * from users"; try { - connection.Open(); using (var mc = new MySqlCommand(sql, connection)) using (var dr = mc.ExecuteReader()) { @@ -103,9 +102,38 @@ public class UserRepository:BaseRep public void Dispose() { - base.Dispose(); CloseConnection(); + base.Dispose(); } + + + public List CheckLogin(string name) + { + List us = new List(); + string sql = @"select * from `users` where `Name` = @name"; + try + { + using (var mc = new MySqlCommand(sql, connection)) + { + mc.Parameters.AddWithValue("@name", name); + var reader = mc.ExecuteReader(); + while (reader.Read()) + { + us.Add(new User() + { + Id = reader.GetInt32("id"), + Name = reader.GetString("name"), + }); + } + } + } + catch (Exception e) + { + Console.WriteLine(e); + } + + return us; + } } \ No newline at end of file diff --git a/Policlinica/ViewModels/AdminWindowViewModel.cs b/Policlinica/ViewModels/AdminWindowViewModel.cs index 94a737a..45fc0be 100644 --- a/Policlinica/ViewModels/AdminWindowViewModel.cs +++ b/Policlinica/ViewModels/AdminWindowViewModel.cs @@ -1,6 +1,6 @@ namespace Policlinica.ViewModels; -public class AdminWindowViewModel +public class AdminWindowViewModel : ViewModelBase { } \ No newline at end of file diff --git a/Policlinica/ViewModels/AutorizationViewModel.cs b/Policlinica/ViewModels/AutorizationViewModel.cs index 69d798f..4d96780 100644 --- a/Policlinica/ViewModels/AutorizationViewModel.cs +++ b/Policlinica/ViewModels/AutorizationViewModel.cs @@ -15,49 +15,59 @@ public partial class AutorizationViewModel : ViewModelBase [ObservableProperty] string _login; [ObservableProperty] string _password; - [ObservableProperty] List _usersList; - [ObservableProperty] UserRepository _repository; + [ObservableProperty] public string _eror; - public AutorizationViewModel(IServiceProvider provider, UserRepository repository,Navigation navigation ) + public AutorizationViewModel(IServiceProvider provider, Navigation navigation) { _provider = provider; _navigation = navigation; - - _usersList = repository.GetUsersByTest(); - // _repository = repository; } [RelayCommand] public void StartTest() { - var vm = ActivatorUtilities.CreateInstance( _provider, - Login); + Login, + Password); var win = _provider.GetRequiredService(); - //vm.SetClose(win.Close); - win.DataContext = vm; - win.Show(); - // close(); - - } - [RelayCommand] - public void SaveDB() - { - _repository.CheckLoginAndPassword(Login,Password); - var vm = _provider.GetRequiredService(); - var win = _provider.GetRequiredService(); - //vm.SetClose(win.Close); win.DataContext = vm; win.Show(); - //close(); + // close(); } + [RelayCommand] + public void Conti() + { + List SpUser = new(); + + using (UserRepository repository = _provider.GetRequiredService()) + { + SpUser = repository.CheckLoginAndPassword(Login, Password); + } + + if (SpUser.Count == 0) + { + Eror = "Неверный логин или пароль"; + return; + } + + + var vm = _provider.GetRequiredService(); + var win = _provider.GetRequiredService(); + //vm.SetClose(win.Close); + win.DataContext = vm; + win.Show(); + //Сlose(); + } + + [RelayCommand] void OpenRegWin() { var vm = _provider.GetRequiredService(); _navigation.Navigate(vm); } + } \ No newline at end of file diff --git a/Policlinica/ViewModels/RegistrationViewModel.cs b/Policlinica/ViewModels/RegistrationViewModel.cs index fae5bcf..00f6417 100644 --- a/Policlinica/ViewModels/RegistrationViewModel.cs +++ b/Policlinica/ViewModels/RegistrationViewModel.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using Microsoft.Extensions.DependencyInjection; @@ -7,35 +8,48 @@ using Policlinica.Views; namespace Policlinica.ViewModels; -public partial class RegistrationViewModel:ViewModelBase +public partial class RegistrationViewModel : ViewModelBase { private readonly IServiceProvider _serviceProvider; private readonly Navigation _navigation; - + private readonly IServiceProvider _provider; + [ObservableProperty] private string _password; [ObservableProperty] private string _login; + [ObservableProperty] public string _eror; - public RegistrationViewModel(IServiceProvider serviceProvider, Navigation navigation) + public RegistrationViewModel(IServiceProvider serviceProvider, Navigation navigation, IServiceProvider provider) { _serviceProvider = serviceProvider; _navigation = navigation; + _provider = provider; + } - + [RelayCommand] void OpenAutorization() { var vm = _serviceProvider.GetRequiredService(); _navigation.Navigate(vm); + } [RelayCommand] void Registration() { + + using (UserRepository repository = _provider.GetRequiredService()) + { + var count = repository.CheckLogin(Login).Count; + if (count > 0) + { + Eror = "Такой логин уже существует"; + return; + } var user = new User() { Name = Login, Password = Password, - }; using (var rep = _serviceProvider.GetRequiredService()) @@ -43,13 +57,14 @@ public partial class RegistrationViewModel:ViewModelBase rep.AddUser(user); } - // var vm = ActivatorUtilities.CreateInstance(_serviceProvider); - // var win = _serviceProvider.GetRequiredService(); - //win.DataContext = vm; - //win.Show(); + // var vm = ActivatorUtilities.CreateInstance(_serviceProvider); + // var win = _serviceProvider.GetRequiredService(); + //win.DataContext = vm; + //win.Show(); //_navigation.Close(); var vm = _serviceProvider.GetRequiredService(); _navigation.Navigate(vm); + } } diff --git a/Policlinica/Views/AutorizationView.axaml b/Policlinica/Views/AutorizationView.axaml index 68a76e7..59807d2 100644 --- a/Policlinica/Views/AutorizationView.axaml +++ b/Policlinica/Views/AutorizationView.axaml @@ -16,9 +16,10 @@ +