using CommunityToolkit.Mvvm.ComponentModel; using CommunityToolkit.Mvvm.Input; using System; using System.Collections.ObjectModel; using System.Drawing; using System.Linq; using System.Windows; using System.Windows.Controls; using WPFWCSDemo.Data; namespace WPFWCSDemo.ViewModels { public partial class LineManagementViewModel:ObservableObject { public LineManagementViewModel(Window window) { LineManagementDialog = window; Caption = "输送线管理"; Enables = new ObservableCollection(); InitializeStyle(); } /// /// 当前页面 /// [ObservableProperty] string _caption; /// /// 当前页面 /// [ObservableProperty] Window _lineManagementDialog; /// /// 当前页面 /// [ObservableProperty] Color _btnColor; [RelayCommand] void Accept(Window window) { window.Close(); } [ObservableProperty] ObservableCollection _enables; [ObservableProperty] int _e1009; [ObservableProperty] int _e1010; [ObservableProperty] int _e1011; [ObservableProperty] int _e1012; [ObservableProperty] int _e1002; [ObservableProperty] int _e1004; [ObservableProperty] int _e1006; [RelayCommand] void StateChange(string targetLocation) { var context = new AppDbContext(); var res = context.LineState .Where(a => a.Target == int.Parse(targetLocation)) .ToList(); if (res == null) return; for (int i = 0; i < res.Count; i++) { if (res[i].IsEnable == 0) { if (MessageBox.Show($"确认要恢复{targetLocation}输送口允许进垛吗?", "警告", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { res[i].IsEnable = 1; } } else { if (MessageBox.Show($"确认要禁止{targetLocation}输送口进垛吗?", "警告", MessageBoxButton.OKCancel) == MessageBoxResult.OK) { res[i].IsEnable = 0; } } } context.SaveChanges(); InitializeStyle(); } /// /// 按钮样式初始化 /// void InitializeStyle() { var context = new AppDbContext(); var results = context.LineState .Select(a=>a.IsEnable) .ToList(); Enables.Clear(); foreach (var result in results) { Enables.Add(result); } E1009 = Enables[1]; E1010 = Enables[2]; E1011 = Enables[3]; E1012 = Enables[0]; E1002 = Enables[5]; E1004 = Enables[6]; E1006 = Enables[7]; } } }