using Aucma.Scada.Business; using Aucma.Scada.UI.Page.InventoryInfo; using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.Command; using HighWayIot.Config; using HighWayIot.Repository.domain; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Windows; namespace Aucma.Scada.UI.viewModel.InventoryInfo { public class ShellInventoryViewModel : ViewModelBase { private ObservableCollection spaceItems = new ObservableCollection(); private InventoryInfoBusiness inventoryInfoBusiness = InventoryInfoBusiness.Instance; private AppConfig appConfig = AppConfig.Instance; public ShellInventoryViewModel() { UpdateInStoreFlagCommand = new RelayCommand(obj => UpdateInStoreFlag(obj)); UpdateOutStoreFlagCommand = new RelayCommand(obj => UpdateOutStoreFlag(obj)); UpdateUnusualFlagCommand = new RelayCommand(obj => UpdateUnusualFlag(obj)); UpdateSpaceStatusCommand = new RelayCommand(obj => UpdateSpaceStatus(obj)); SpaceDetailCommand = new RelayCommand(obj => SpaceDetail(obj)); Query(); } #region 参数定义 public ObservableCollection _shapes; public ObservableCollection Shapes { get { return _shapes; } set { _shapes = value; RaisePropertyChanged(nameof(Shapes)); } } #endregion #region 事件定义 public RelayCommand UpdateInStoreFlagCommand { get; set; } public RelayCommand UpdateOutStoreFlagCommand { get; set; } public RelayCommand UpdateUnusualFlagCommand { get; set; } public RelayCommand UpdateSpaceStatusCommand { get; set; } public RelayCommand SpaceDetailCommand { get; set; } #endregion private void Query() { var info = inventoryInfoBusiness.GetSpaceInfos(appConfig.shellStoreCode); if (info != null) { if(spaceItems.Count > 0) { spaceItems.Clear(); } foreach (var item in info) { spaceItems.Add(item); } Shapes = spaceItems; } } /// /// 货道入库标识设置 /// /// private void UpdateInStoreFlag(object obj) { string info = obj as string; bool result = inventoryInfoBusiness.UpdateInStoreFlag(appConfig.shellStoreCode, info); if (result) { Query(); MessageBox.Show("货道入库状态修改成功"); } else { MessageBox.Show("货道入库状态修改失败"); } } /// /// 货道出库标识设置 /// /// private void UpdateOutStoreFlag(object obj) { string info = obj as string; bool result = inventoryInfoBusiness.UpdateOutStoreFlag(appConfig.shellStoreCode, info); if (result) { Query(); MessageBox.Show("货道出库状态修改成功"); } else { MessageBox.Show("货道出库状态修改失败"); } } /// /// 货道异常标识设置 /// /// private void UpdateUnusualFlag(object obj) { string info = obj as string; bool result = inventoryInfoBusiness.UpdateUnusualFlag(appConfig.shellStoreCode, info); if (result) { Query(); MessageBox.Show("货道异常标识修改成功"); } else { MessageBox.Show("货道异常标识修改失败"); } } /// /// 修改货道状态 /// /// private void UpdateSpaceStatus(object obj) { string info = obj as string; bool result = inventoryInfoBusiness.UpdateSpaceStatus(appConfig.shellStoreCode, info); if (result) { Query(); MessageBox.Show("货道状态修改成功"); } else { MessageBox.Show("货道状态修改失败"); } } private void SpaceDetail(object obj) { string info = obj as string; SpaceDetailWindow spaceDetailWindow = new SpaceDetailWindow(appConfig.shellStoreCode, info); spaceDetailWindow.Show(); inventoryInfoBusiness.RefreshBaseSpaceDetails(appConfig.shellStoreCode, info); } } }