OilErrorInfoViewModel.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. 
  2. using Shaker.Models;
  3. using Avalonia.Controls;
  4. namespace ShakerApp.ViewModels
  5. {
  6. public sealed class OilErrorInfoViewModel : ViewModelBase<ErrorInfoModel>
  7. {
  8. public OilErrorInfoViewModel()
  9. {
  10. }
  11. public OilErrorInfoViewModel(ErrorInfoModel model):this()
  12. {
  13. UpDateModel(model);
  14. }
  15. [PropertyAssociation(nameof(ErrorInfoModel.Name))]
  16. public string Name => Model.Name;
  17. [PropertyAssociation(nameof(ErrorInfoModel.Status))]
  18. public bool Status { get => Model.Status; set => SetProperty(ref Model.Status, value); }
  19. [PropertyAssociation(nameof(ErrorInfoModel.Name))]
  20. public bool IsVisibily => !string.IsNullOrEmpty(Name);
  21. public override void UpDateModel(ErrorInfoModel model)
  22. {
  23. bool lastStatus = Model.Status;
  24. base.UpDateModel(model);
  25. if(model.Status!= lastStatus && model.Status)
  26. {
  27. LogViewModel.Instance.AddLog($"{App.Current?.FindResource(Name)}{App.Current?.FindResource("OilError")}");
  28. }
  29. }
  30. }
  31. }