65 lines
2.3 KiB
C#
65 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using BathHouseManagmet.Database;
|
|
using BathHouseManagmet.Models;
|
|
using BathHouseManagmet.Views;
|
|
using BathHouseManagmet.Views.AddWindows;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace BathHouseManagmet.ViewModels;
|
|
|
|
public partial class MainWindowViewModel : ViewModelBase
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
[ObservableProperty] OrderViewModel _orderViewModel;
|
|
[ObservableProperty] EmployeeViewModel _employeeViewModel;
|
|
[ObservableProperty] ServiceViewModel _serviceViewModel;
|
|
[ObservableProperty] ZoneViewModel _zoneViewModel;
|
|
[ObservableProperty] DiscountViewModel _discountViewModel;
|
|
[ObservableProperty] PositionViewModel _positionViewModel;
|
|
|
|
public MainWindowViewModel(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
|
|
OrderViewModel = _serviceProvider.GetRequiredService<OrderViewModel>();
|
|
EmployeeViewModel = _serviceProvider.GetRequiredService<EmployeeViewModel>();
|
|
ServiceViewModel = _serviceProvider.GetRequiredService<ServiceViewModel>();
|
|
ZoneViewModel = _serviceProvider.GetRequiredService<ZoneViewModel>();
|
|
DiscountViewModel = _serviceProvider.GetRequiredService<DiscountViewModel>();
|
|
PositionViewModel = _serviceProvider.GetRequiredService<PositionViewModel>();
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void AddEmployee()
|
|
{
|
|
var vm = ActivatorUtilities.CreateInstance<AddEmployeeWindowViewModel>(_serviceProvider);
|
|
var win = _serviceProvider.GetService<AddEmployeeWindow>();
|
|
win.DataContext = vm;
|
|
win.Show();
|
|
vm.SetClose(win.Close);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void AddPosition()
|
|
{
|
|
var vm = ActivatorUtilities.CreateInstance<AddPositionWindowViewModel>(_serviceProvider);
|
|
var win = _serviceProvider.GetService<AddPositionWindow>();
|
|
win.DataContext = vm;
|
|
win.Show();
|
|
vm.SetClose(win.Close);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void AddZone()
|
|
{
|
|
var vm = ActivatorUtilities.CreateInstance<AddZoneWindowViewModel>(_serviceProvider);
|
|
var win = _serviceProvider.GetService<AddZoneWindow>();
|
|
win.DataContext = vm;
|
|
win.Show();
|
|
vm.SetClose(win.Close);
|
|
}
|
|
} |