37 lines
1.1 KiB
C#
37 lines
1.1 KiB
C#
using System;
|
|
using Avalonia.Controls;
|
|
using CommunityToolkit.Mvvm.Messaging;
|
|
using GazpromApp.Messages;
|
|
using GazpromApp.ViewModels;
|
|
|
|
namespace GazpromApp.Views;
|
|
|
|
public partial class NewEquipmentDialog : Window
|
|
{
|
|
public NewEquipmentDialog()
|
|
{
|
|
InitializeComponent();
|
|
|
|
// done entering new equipment
|
|
WeakReferenceMessenger.Default.Register<NewEquipmentDialog, NewEquipmentDone>(this, static (w, m) =>
|
|
{
|
|
w.Close(m.Equipment);
|
|
});
|
|
|
|
// register to work with errors
|
|
WeakReferenceMessenger.Default.Register<NewEquipmentDialog, ErrorMessage>(this, static (w, m) =>
|
|
{
|
|
ErrorView dialog = new ErrorView()
|
|
{
|
|
DataContext = m.Error
|
|
};
|
|
m.Reply(dialog.ShowDialog<ErrorViewModel?>(w));
|
|
});
|
|
}
|
|
|
|
private void Window_OnClosed(object? sender, EventArgs e)
|
|
{
|
|
WeakReferenceMessenger.Default.Unregister<NewEquipmentDone>(this);
|
|
WeakReferenceMessenger.Default.Unregister<ErrorMessage>(this);
|
|
}
|
|
} |