Inspections added

This commit is contained in:
retr0volkov
2025-07-08 22:19:51 +03:00 Unverified
parent bd8b780a39
commit 646f60e800
14 changed files with 239 additions and 20 deletions
+35 -3
View File
@@ -1,5 +1,7 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using Avalonia.Controls;
@@ -33,6 +35,8 @@ public partial class EditEquipmentDialogViewModel : ViewModelBase
[ObservableProperty]
private ImageViewModel? _image;
public ObservableCollection<InspectionViewModel> Inspections { get; set; }
[RelayCommand]
private void EditName()
{
@@ -90,6 +94,27 @@ public partial class EditEquipmentDialogViewModel : ViewModelBase
Image = null;
IsImageSelected = false;
}
[RelayCommand]
private void AddInspection()
{
Inspections.Add(new InspectionViewModel { Name = "Название инспекции", InspectionDate = DateTimeOffset.Now, PeriodValue = 1, PeriodType = PeriodType.Day });
}
[RelayCommand]
private void EditInspection(InspectionViewModel inspection)
{
foreach (var item in Inspections)
if (item != inspection)
item.IsEditing = false;
inspection.IsEditing = !inspection.IsEditing;
}
[RelayCommand]
private void DeleteInspection(InspectionViewModel inspection)
{
Inspections.Remove(inspection);
}
private bool CanCompleteEdit() => !string.IsNullOrWhiteSpace(Name);
@@ -102,6 +127,7 @@ public partial class EditEquipmentDialogViewModel : ViewModelBase
Name = Name,
Description = Description,
Image = Image?.GetImage(),
Inspections = Inspections.Select(e => e.GetInspection()).ToList(),
Properties = [],
};
WeakReferenceMessenger.Default.Send(new EditEquipmentDone(new EquipmentViewModel(equipment)));
@@ -124,15 +150,20 @@ public partial class EditEquipmentDialogViewModel : ViewModelBase
private readonly EquipmentViewModel _equipment;
public PeriodType[] AllPeriods => Enum.GetValues<PeriodType>()
.Where(p => p != PeriodType.Unknown)
.ToArray();
public EditEquipmentDialogViewModel()
{
Name = "";
Description = "";
Name = "Testing";
Description = "Testing";
Image = null;
Inspections = [];
IsImageSelected = false;
_equipment = new EquipmentViewModel(new Equipment());
_equipment = new EquipmentViewModel();
}
public EditEquipmentDialogViewModel(EquipmentViewModel equipment)
@@ -140,6 +171,7 @@ public partial class EditEquipmentDialogViewModel : ViewModelBase
Name = equipment.Name;
Description = equipment.Description;
Image = equipment.Image;
Inspections = new ObservableCollection<InspectionViewModel>(equipment.Inspections.Select(e => e));
IsImageSelected = equipment.Image is { Bytes.Length: > 0 };