using System; using CommunityToolkit.Mvvm.ComponentModel; using GazpromApp.Enums; using GazpromApp.Models; namespace GazpromApp.ViewModels; public partial class InspectionViewModel : ViewModelBase { private Inspection Inspection { get; } [ObservableProperty] private string _name; [ObservableProperty] private DateTimeOffset _inspectionDate; [ObservableProperty] private PeriodType _periodType; [ObservableProperty] private float _periodValue; // Visual properties [ObservableProperty] private bool _isEditing; public InspectionViewModel() { Name = string.Empty; InspectionDate = DateTimeOffset.Now; PeriodType = 0; PeriodValue = 1; Inspection = new Inspection(); } public InspectionViewModel(Inspection inspection) { Name = inspection.Name; InspectionDate = inspection.InspectionDate; PeriodType = inspection.PeriodType.ToPeriodType(); PeriodValue = inspection.PeriodValue; Inspection = inspection; } public Inspection GetInspection() { Inspection.Name = Name; Inspection.InspectionDate = InspectionDate; Inspection.PeriodType = PeriodType.ToDescription(); Inspection.PeriodValue = PeriodValue; return Inspection; } }