using System; using System.Collections.Generic; using ReactiveUI; using System.Linq; using System.Data; using AvaloniaApplication5.Models; using Microsoft.EntityFrameworkCore; using MsBox.Avalonia; using MsBox.Avalonia.Enums; namespace AvaloniaApplication5.ViewModels { public class AddDisCursViewModel : ViewModelBase { Course? _newcourse; public Course? NewCourse { get => _newcourse; set => this.RaiseAndSetIfChanged(ref _newcourse, value); } public List CoursesList => MainWindowViewModel.myConnection.Courses.ToList(); public AddDisCursViewModel() { _newcourse = new Course(); } string _message = ""; public string Message { get => _message; set => this.RaiseAndSetIfChanged(ref _message, value); } public async void AddCourse() { if(string.IsNullOrEmpty(NewCourse.Time) || !IsNumeric(NewCourse.Time)) { await MessageBoxManager.GetMessageBoxStandard("Сообщение", "В поле количества часов должны быть только цифры").ShowAsync(); return; } else { if (NewCourse.Id == 0) { MainWindowViewModel.myConnection.Courses.Add(NewCourse); } MainWindowViewModel.myConnection.SaveChanges(); MainWindowViewModel.Instance.PageContent = new AddPage(); } } private bool IsNumeric(string value) { return int.TryParse(value, out _); // Или double.TryParse, если нужно поддерживать дробные числа } } }