| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- using Prism.Mvvm;
- using System.Linq;
- using Prism.Events;
- using SHJX.Service.Common.Event;
- using System.Collections.Generic;
- using SHJX.Service.Model.EventArgs;
- using SHJX.Service.Common.Interface;
- using SHJX.Service.Control.Interface;
- using SHJX.Service.Model.XmlModules;
- using System.Collections.ObjectModel;
- using SHJX.Service.Model.ControlModules;
- using SHJX.Service.Common.Constants;
- namespace SHJX.Service.Main.ViewModels
- {
- public class DissolveTopPosViewModel : BindableBase
- {
- #region Fields
- private readonly ILogService _log;
- #endregion
- #region Properties
- public ObservableCollection<RingProcessBarControl> RingProcessBars { get; set; }
- #endregion
- public DissolveTopPosViewModel(ILogService log, IEventAggregator ea, ISampleService service)
- {
- _log = log;
- SamplePosition position = service.GetSamplePosition("DissolveTopPos");
- RingProcessBars = new ObservableCollection<RingProcessBarControl>();
- for (int i = 0; i < position.Count; i++)
- {
- RingProcessBarControl ringProcess = new()
- {
- Index = i,
- Name = $"{position.Value}{i + 1}"
- };
- RingProcessBars.Add(ringProcess);
- }
- ea.GetEvent<UpdateElementEvent>().Subscribe(ChangeElement);
- ea.GetEvent<UpdateDissolveElementEvent>().Subscribe(ChangeProgress);
- }
- #region Event Methods
- public void ChangeElement(List<ElementArgs> args)
- {
- try
- {
- foreach (ElementArgs arg in args)
- {
- RingProcessBarControl control = RingProcessBars.Where(item => item.Name.Equals(arg.Name)).FirstOrDefault();
- if (control is null)
- {
- continue;
- }
- RingProcessBars[control.Index].CurrentText = !arg.Enable ? string.IsNullOrWhiteSpace(arg.Current) ? string.Empty : arg.Current.Length < 2 ? arg.Current : arg.Current[1..] : string.Empty;
- RingProcessBars[control.Index].CenterColor = !arg.Enable ? ColorNames.SentColor : ColorNames.MainColor;
- }
- }
- catch (System.Exception ex)
- {
- _log.ErrorFormat(ex.ToString());
- }
- }
- public void ChangeProgress(List<HeatingChangeArgs> args)
- {
- try
- {
- foreach (var arg in args)
- {
- var control = RingProcessBars.Where(item => item.Name.Equals(arg.Name)).FirstOrDefault();
- if (control is null) continue;
- RingProcessBars[control.Index].RoundVisiable = arg.Dispaly;
- RingProcessBars[control.Index].CurrentCycleValue = arg.Progress;
- }
- }
- catch (System.Exception ex)
- {
- _log.ErrorFormat(ex.ToString());
- }
- }
- #endregion
- }
- }
|