using Cowain.Bake.BLL; using Cowain.Bake.Common.Core; using Cowain.Bake.Common.Enums; using Cowain.Bake.Model; using HandyControl.Controls; using Prism.Commands; using Prism.Mvvm; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using Unity; namespace Cowain.Bake.UI.Home.ViewModels { public class SetScannerViewModel : BindableBase { List _scanCodeConfigs; IUnityContainer _unityContainer; private List scannersName; public List ScannersName { get => scannersName; set => SetProperty(ref scannersName, value); } private List isCheckScnner; public List IsCheckScnner { get => isCheckScnner; set => SetProperty(ref isCheckScnner, value); } public SetScannerViewModel(IUnityContainer unityContainer) { _unityContainer = unityContainer; _scanCodeConfigs = _unityContainer.Resolve().GetConfig(EDeviceType.SCANNER).OrderBy(x=>x.Id).ToList(); scannersName = _scanCodeConfigs.Select(x => x.Desc).ToList(); IsCheckScnner = _scanCodeConfigs.Select(x => x.Enable).ToList(); } public DelegateCommand SubmitCommand => new DelegateCommand((x) => { bool status = false; if (MessageBoxResult.OK != HandyControl.Controls.MessageBox.Ask("确认是否重新选择扫码枪!", "操作提示")) { return; } int index = 0; foreach (var item in _scanCodeConfigs) { status = IsCheckScnner[index++]; _unityContainer.Resolve().UpdateEnable(item.Id, status); item.Enable = status; CommonCoreHelper.Instance.BlockStatusColor.Add(item); } HandyControl.Controls.MessageBox.Show("选择成功,请重启上位机!"); }); } }