using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.FSE.Common; namespace Tango.FSE.UI.Dialogs { public class EmulateMachineEventDialogViewVM : FSEDialogViewVM { private static EmulateMachineEventDialogViewVM _lastInstance; public List EventTypes { get; set; } private EventType _selectedEventType; public EventType SelectedEventType { get { return _selectedEventType; } set { _selectedEventType = value; RaisePropertyChangedAuto(); InvalidateRelayCommands(); } } private int _durationSeconds; public int DurationSeconds { get { return _durationSeconds; } set { _durationSeconds = value; RaisePropertyChangedAuto(); } } private String _message; public String Message { get { return _message; } set { _message = value; RaisePropertyChangedAuto(); } } public EmulateMachineEventDialogViewVM() { EventTypes = new List(); DurationSeconds = 5; } protected override bool CanOK() { return base.CanOK() && SelectedEventType != null && DurationSeconds > 0; } protected override void Accept() { _lastInstance = this; base.Accept(); } public override void OnShow() { base.OnShow(); if (_lastInstance != null) { SelectedEventType = EventTypes.FirstOrDefault(x => x.Code == _lastInstance.SelectedEventType.Code); DurationSeconds = _lastInstance.DurationSeconds; Message = _lastInstance.Message; } } } }