Бе-бе-бе, у меня совсем нету времени

master
Святой Владислав Солоп 2026-06-17 19:05:39 +10:00
parent 0efb72816d
commit d01296e4c0
18 changed files with 189 additions and 98 deletions

View File

@ -50,7 +50,7 @@ public class ClientRepository : BaseRepository<Client>, IDisposable
public override bool Add(Client client)
{
string sql = "insert into `client` (`id`, `name`, `surname`) values (0, @name, @surname)";
string sql = "insert into `client` (`id`, `name`, `surname`, `email`) values (0, @name, @surname, @email)";
try
{
using (var command = new MySqlCommand(sql, connection))
@ -71,7 +71,7 @@ public class ClientRepository : BaseRepository<Client>, IDisposable
public override bool Update(Client client)
{
string sql = "update `client` set name = @name, surname = @surname";
string sql = "update `client` set name = @name, surname = @surname, email = @email";
try
{
using (var command = new MySqlCommand(sql, connection))

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using BathHouseManagmet.Database;
using BathHouseManagmet.Models;
@ -13,7 +14,7 @@ public partial class ClientViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
[ObservableProperty] List<Client> _clients;
[ObservableProperty] ObservableCollection<Client> _clients;
[ObservableProperty] int _currentPageSize;
[ObservableProperty] List<int> _pageSizes;
[ObservableProperty] string _pageInfo;
@ -25,8 +26,8 @@ public partial class ClientViewModel : ViewModelBase
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<ClientRepository>())
Clients = new List<Client>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<ClientRepository>())
Clients = new ObservableCollection<Client>(rep.GetPage());
PageSizes = new List<int>([5,10,15]);
CurrentPageSize = PageSizes.First();

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Linq;
using BathHouseManagmet.Database;
@ -14,7 +15,7 @@ public partial class DiscountViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
[ObservableProperty] List<Discount> _discounts;
[ObservableProperty] ObservableCollection<Discount> _discounts;
[ObservableProperty] int _currentPageSize;
[ObservableProperty] List<int> _pageSizes;
[ObservableProperty] string _pageInfo;
@ -26,8 +27,8 @@ public partial class DiscountViewModel : ViewModelBase
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<DiscountRepository>())
Discounts = new List<Discount>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<DiscountRepository>())
Discounts = new ObservableCollection<Discount>(rep.GetPage());
PageSizes = new List<int>([5, 10, 15]);
CurrentPageSize = PageSizes.First();

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using BathHouseManagmet.Database;
using BathHouseManagmet.Models;
@ -13,8 +14,8 @@ public partial class EmployeeViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
[ObservableProperty] List<Employee> _employees;
[ObservableProperty] List<Position> _positions;
[ObservableProperty] ObservableCollection<Employee> _employees;
[ObservableProperty] ObservableCollection<Position> _positions;
[ObservableProperty] int _currentPageSize;
[ObservableProperty] List<int> _pageSizes;
[ObservableProperty] string _pageInfo;
@ -26,10 +27,10 @@ public partial class EmployeeViewModel : ViewModelBase
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<EmployeeRepository>())
Employees = new List<Employee>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<PositionRepository>())
Positions = new List<Position>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<EmployeeRepository>())
Employees = new ObservableCollection<Employee>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<PositionRepository>())
Positions = new ObservableCollection<Position>(rep.GetPage());
PageSizes = new List<int>([5, 10, 15]);
CurrentPageSize = PageSizes.First();

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using BathHouseManagmet.Database;
using BathHouseManagmet.Models;
@ -19,32 +20,32 @@ public partial class OrderViewModel : ViewModelBase
private int currentPage = 0;
private int totalPages;
[ObservableProperty] List<Order> orders;
[ObservableProperty] List<Employee> employees;
[ObservableProperty] List<Position> positions;
[ObservableProperty] List<Client> clients;
[ObservableProperty] List<Zone> zones;
[ObservableProperty] List<Service> services;
[ObservableProperty] List<Discount> discounts;
[ObservableProperty] ObservableCollection<Order> orders;
[ObservableProperty] ObservableCollection<Employee> employees;
[ObservableProperty] ObservableCollection<Position> positions;
[ObservableProperty] ObservableCollection<Client> clients;
[ObservableProperty] ObservableCollection<Zone> zones;
[ObservableProperty] ObservableCollection<Service> services;
[ObservableProperty] ObservableCollection<Discount> discounts;
public OrderViewModel(IServiceProvider serviceProvider)
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<OrderRepository>())
Orders = new List<Order>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<EmployeeRepository>())
Employees = new List<Employee>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<ZoneRepository>())
Zones = new List<Zone>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<ServiceRepository>())
Services = new List<Service>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<ClientRepository>())
Clients = new List<Client>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<PositionRepository>())
Positions = new List<Position>(rep.GetPage());
using (var rep = serviceProvider.GetRequiredService<DiscountRepository>())
Discounts = new List<Discount>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<OrderRepository>())
Orders = new ObservableCollection<Order>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<EmployeeRepository>())
Employees = new ObservableCollection<Employee>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<ZoneRepository>())
Zones = new ObservableCollection<Zone>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<ServiceRepository>())
Services = new ObservableCollection<Service>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<ClientRepository>())
Clients = new ObservableCollection<Client>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<PositionRepository>())
Positions = new ObservableCollection<Position>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<DiscountRepository>())
Discounts = new ObservableCollection<Discount>(rep.GetPage());
PageSizes = new List<int>([5,10,20]);
CurrentPageSize = PageSizes.First();

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using BathHouseManagmet.Database;
using BathHouseManagmet.Models;
@ -13,7 +14,7 @@ public partial class PositionViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
[ObservableProperty] List<Position> _positions;
[ObservableProperty] ObservableCollection<Position> _positions;
[ObservableProperty] int _currentPageSize;
[ObservableProperty] List<int> _pageSizes;
[ObservableProperty] string pageInfo;
@ -25,8 +26,8 @@ public partial class PositionViewModel : ViewModelBase
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<PositionRepository>())
Positions = new List<Position>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<PositionRepository>())
Positions = new ObservableCollection<Position>(rep.GetPage());
PageSizes = new List<int>([5, 10, 15]);
CurrentPageSize = PageSizes.First();

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using BathHouseManagmet.Database;
using BathHouseManagmet.Models;
@ -13,7 +14,7 @@ public partial class ServiceViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
[ObservableProperty] List<Service> services;
[ObservableProperty] ObservableCollection<Service> services;
[ObservableProperty] int _currentPageSize;
[ObservableProperty] List<int> _pageSizes;
[ObservableProperty] string _pageInfo;
@ -25,8 +26,8 @@ public partial class ServiceViewModel : ViewModelBase
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<ServiceRepository>())
Services = new List<Service>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<ServiceRepository>())
Services = new ObservableCollection<Service>(rep.GetPage());
PageSizes = new List<int>([5, 10, 15]);
CurrentPageSize = PageSizes.First();

View File

@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using BathHouseManagmet.Database;
using BathHouseManagmet.Models;
@ -13,7 +14,7 @@ public partial class ZoneViewModel : ViewModelBase
{
private readonly IServiceProvider _serviceProvider;
[ObservableProperty] private List<Zone> zones;
[ObservableProperty] ObservableCollection<Zone> zones;
[ObservableProperty] int _currentPageSize;
[ObservableProperty] List<int> _pageSizes;
[ObservableProperty] string _pageInfo;
@ -25,8 +26,8 @@ public partial class ZoneViewModel : ViewModelBase
{
_serviceProvider = serviceProvider;
using (var rep = serviceProvider.GetRequiredService<ZoneRepository>())
Zones = new List<Zone>(rep.GetPage());
using (var rep = _serviceProvider.GetRequiredService<ZoneRepository>())
Zones = new ObservableCollection<Zone>(rep.GetPage());
PageSizes = new List<int>([5, 10, 15]);
CurrentPageSize = PageSizes.First();

View File

@ -6,11 +6,23 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.ClientView"
x:DataType="viewModels:ClientViewModel">
<DataGrid ItemsSource="{Binding Clients}">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Clients}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Имя" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Фамилия" Binding="{Binding Surname}"/>
<DataGridTextColumn Header="Почта" Binding="{Binding Email}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

View File

@ -6,7 +6,8 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.DiscountView"
x:DataType="viewModels:DiscountViewModel">
<DataGrid ItemsSource="{Binding Discounts}">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Discounts}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Название" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Описание" Binding="{Binding Description}"/>
@ -15,4 +16,15 @@
<DataGridTextColumn Header="Дата конца" Binding="{Binding EndDate}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

View File

@ -6,6 +6,7 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.EmployeeView"
x:DataType="viewModels:EmployeeViewModel">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Employees}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Имя сотрудника" Binding="{Binding Name}"/>
@ -13,4 +14,15 @@
<DataGridTextColumn Header="Должность сотрудника" Binding="{Binding Position.Name}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

View File

@ -6,6 +6,7 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.OrderView"
x:DataType="viewModels:OrderViewModel">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Orders}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Дата заказа" Binding="{Binding OrderDate}"/>
@ -18,4 +19,15 @@
<DataGridTextColumn Header="Окончательная цена" Binding="{Binding FinalPrice}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

View File

@ -6,9 +6,21 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.PositionView"
x:DataType="viewModels:PositionViewModel">
<DataGrid ItemsSource="{Binding Positions}">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Positions}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Название" Binding="{Binding Name}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

View File

@ -6,6 +6,7 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.ServiceView"
x:DataType="viewModels:ServiceViewModel">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Services}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Название" Binding="{Binding Name}"/>
@ -13,4 +14,15 @@
<DataGridTextColumn Header="Цена" Binding="{Binding Price}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

View File

@ -6,9 +6,21 @@
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
x:Class="BathHouseManagmet.Views.ZoneView"
x:DataType="viewModels:ZoneViewModel">
<DataGrid ItemsSource="{Binding Zones}">
<Grid RowDefinitions="* Auto">
<DataGrid ItemsSource="{Binding Zones}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Название" Binding="{Binding Name}"/>
</DataGrid.Columns>
</DataGrid>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center">
<Button Content="&lt;&lt;" Command="{Binding ShowFirstPageCommand}"/>
<Button Content="&lt;" Command="{Binding ShowPreviousPageCommand}"/>
<Label Content="{Binding PageInfo}"/>
<Button Content="&gt;" Command="{Binding ShowNextPageCommand}"/>
<Button Content="&gt;&gt;" Command="{Binding ShowLastPageCommand}"/>
<Label Content="Кол-во записей на странице:"/>
<ComboBox ItemsSource="{Binding PageSizes}"
SelectedItem="{Binding CurrentPageSize}"/>
</StackPanel>
</Grid>
</UserControl>

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("BathHouseManagmet")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+81727a9173bad0eb629f1dacad49c41afc58fa61")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+0efb72816daff20daf5f8aa68e5b744a4ce053f8")]
[assembly: System.Reflection.AssemblyProductAttribute("BathHouseManagmet")]
[assembly: System.Reflection.AssemblyTitleAttribute("BathHouseManagmet")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
b6dda2c085853849dab802a59b20655a846dac333cfb3e8bb9ebd6b9e633feed
2b7339148ade8b90c8c1c1754a75ec643f32ee3dca2da6a9d578002a6a6dc40b