Files
Wino-Mail/Wino.Core.Domain/Models/Menus/MenuOperationItemBase.cs
T
2026-04-03 19:50:52 +02:00

51 lines
1.2 KiB
C#

using System;
using CommunityToolkit.Mvvm.ComponentModel;
using Wino.Core.Domain.Interfaces;
namespace Wino.Core.Domain.Models.Menus;
public class MenuOperationItemBase<TOperation> : ObservableObject, IMenuOperation where TOperation : Enum
{
private TOperation _operation;
private string _identifier = string.Empty;
private bool _isEnabled;
private bool _isSecondaryMenuPreferred;
public MenuOperationItemBase(TOperation operation, bool isEnabled)
{
Operation = operation;
IsEnabled = isEnabled;
Identifier = operation.ToString();
}
public TOperation Operation
{
get => _operation;
set
{
if (SetProperty(ref _operation, value))
{
Identifier = value.ToString();
}
}
}
public string Identifier
{
get => _identifier;
protected set => SetProperty(ref _identifier, value);
}
public bool IsEnabled
{
get => _isEnabled;
set => SetProperty(ref _isEnabled, value);
}
public bool IsSecondaryMenuPreferred
{
get => _isSecondaryMenuPreferred;
set => SetProperty(ref _isSecondaryMenuPreferred, value);
}
}