using System; using System.Collections.Generic; using BathHouseManagmet.Database; using BathHouseManagmet.Models; using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using Microsoft.Extensions.DependencyInjection; namespace BathHouseManagmet.ViewModels; public partial class AddServiceWindowViewModel : ViewModelBase { private readonly IServiceProvider _serviceProvider; [ObservableProperty] List _services; [ObservableProperty] string _serviceName; [ObservableProperty] string _serviceDescription; [ObservableProperty] int _servicePrice; public AddServiceWindowViewModel(IServiceProvider serviceProvider) { _serviceProvider = serviceProvider; } [RelayCommand] public void AddService() { var service = new Service { Name = _serviceName, Description = _serviceDescription, Price = _servicePrice }; using (var rep = _serviceProvider.GetRequiredService()) rep.Add(service); CloseWindow(); } [RelayCommand] public void CloseWindow() { close(); } private Action close; public void SetClose(Action close) { this.close = close; } }