12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- using Avalonia.Controls;
- using Shaker.Models;
- using System.Collections.Generic;
- namespace ShakerApp.ViewModels
- {
- public class OilSourceAnalogViewModel : ViewModelBase<OilSourceAnalogModel>
- {
- public OilSourceAnalogViewModel()
- {
- Content = typeof(Views.OilAnalogView);
- }
- public OilSourceAnalogViewModel(OilSourceAnalogModel model) : this()
- {
- UpDateModel(model);
- }
- public override bool CanCancel => false;
- [PropertyAssociation(nameof(OilSourceAnalogModel.Name))]
- public bool IsVisible => !string.IsNullOrEmpty(Name);
- [PropertyAssociation(nameof(OilSourceAnalogModel.Name))]
- public string Name => Model.Name;
- [PropertyAssociation(nameof(OilSourceAnalogModel.Value))]
- public float Value { get => Model.Value; set => SetProperty(ref Model.Value, value); }
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsUpperWarn))]
- public bool IsUpperWarn { get => Model.IsUpperWarn; set => SetProperty(ref Model.IsUpperWarn, value); }
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsUpperError))]
- public bool IsUpperError { get => Model.IsUpperError; set => SetProperty(ref Model.IsUpperError, value); }
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsLowerWarn))]
- public bool IsLowerWarn { get => Model.IsLowerWarn; set => SetProperty(ref Model.IsLowerWarn, value); }
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsLowerError))]
- public bool IsLowerError { get => Model.IsLowerError; set => SetProperty(ref Model.IsLowerError, value); }
- [PropertyAssociation(nameof(OilSourceAnalogModel.Unit))]
- public string Unit { get => Model.Unit; set => SetProperty(ref Model.Unit, value); }
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsUpperError),nameof(OilSourceAnalogModel.IsLowerError))]
- public bool IsError => IsUpperError || IsLowerError;
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsLowerError),nameof(OilSourceAnalogModel.IsUpperError),nameof(OilSourceAnalogModel.IsLowerWarn),nameof(OilSourceAnalogModel.IsUpperWarn))]
- public bool IsWarn => !IsError && (IsLowerWarn || IsUpperWarn);
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsUpperError), nameof(OilSourceAnalogModel.IsUpperWarn))]
- public bool IsUpper => IsUpperError || IsUpperWarn;
- [PropertyAssociation(nameof(OilSourceAnalogModel.IsLowerWarn), nameof(OilSourceAnalogModel.IsLowerError))]
- public bool IsLower => IsLowerError || IsLowerWarn;
- private readonly string[] errornames = new string[4] { "UpperWarn", "LowerWarn", "UpperError", "LowerError" };
- public override void UpDateModel(OilSourceAnalogModel model)
- {
- bool[] laststate = new bool[4] { IsUpperWarn, IsLowerWarn, IsUpperError, IsLowerError };
- base.UpDateModel(model);
- bool[] currentstate = new bool[4] { IsUpperWarn, IsLowerWarn, IsUpperError, IsLowerError };
- for(int i=0;i<laststate.Length;i++)
- {
- if (laststate[i]!= currentstate[i] && !laststate[i])
- {
- LogViewModel.Instance.AddLog($"{App.Current?.FindResource(Name)}{App.Current?.FindResource(errornames[i])}", i >= 2 ? LogType.Error : LogType.Warn);
- }
- }
- }
- }
- }
|