62 lines
2.1 KiB
C#
62 lines
2.1 KiB
C#
using AgroBase.Models;
|
|
using AgroBase.Models.Operacoes;
|
|
using OperationControl.Helpers;
|
|
using System.ComponentModel;
|
|
using System.Windows.Input;
|
|
|
|
namespace OperationControl.ViewModels.Views.Operacao.Monitoramento
|
|
{
|
|
public class ParametrizacaoViewModel : INotifyPropertyChanged
|
|
{
|
|
private OperacaoParametrosModel _parametros = new OperacaoParametrosModel();
|
|
public OperacaoParametrosModel Parametros
|
|
{
|
|
get => _parametros;
|
|
set
|
|
{
|
|
if (_parametros != value)
|
|
{
|
|
_parametros = value;
|
|
OnPropertyChanged(nameof(Parametros));
|
|
}
|
|
}
|
|
}
|
|
|
|
public ParametrizacaoViewModel()
|
|
{
|
|
CarregarParametrosPadraoCommand = new RelayCommand(p => CarregarParametrosPadrao((AgroBase.Models.Enums.ModoOperacao)p));
|
|
LerParametrosCommand = new RelayCommand(_ => LerParametrosSolicitado?.Invoke());
|
|
SalvarParametrosCommand = new RelayCommand(_ => SalvarParametrosSolicitado?.Invoke(Parametros));
|
|
}
|
|
|
|
|
|
public event Action? LerParametrosSolicitado;
|
|
public event Action<OperacaoParametrosModel>? SalvarParametrosSolicitado;
|
|
public ICommand LerParametrosCommand { get; }
|
|
public ICommand SalvarParametrosCommand { get; }
|
|
public ICommand CarregarParametrosPadraoCommand { get; }
|
|
public Array ModosOperacaoDisponiveis { get; } = Enum.GetValues(typeof(AgroBase.Models.Enums.ModoOperacao));
|
|
|
|
|
|
private void CarregarParametrosPadrao(AgroBase.Models.Enums.ModoOperacao modo)
|
|
{
|
|
var p = OperacaoModel.CarregarParametrosOperacaoPadrao(modo, false);
|
|
p.Descricao = $"{p.Modo} - Padrão";
|
|
Parametros = p;
|
|
}
|
|
|
|
public void AtualizarParametros(OperacaoParametrosModel origem)
|
|
{
|
|
if (origem == null) return;
|
|
Parametros = origem;
|
|
}
|
|
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
private void OnPropertyChanged(string nome)
|
|
{
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nome));
|
|
}
|
|
}
|
|
}
|