You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Aucma.Scada/Aucma.Scada.UI/viewModel/InventoryInfo/LinerInventoryViewModel.cs

174 lines
5.2 KiB
C#

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;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace Aucma.Scada.UI.viewModel.InventoryInfo
{
public class LinerInventoryViewModel :ViewModelBase
{
private ObservableCollection<BaseSpaceInfo> spaceItems = new ObservableCollection<BaseSpaceInfo>();
private InventoryInfoBusiness inventoryInfoBusiness = InventoryInfoBusiness.Instance;
private AppConfig appConfig = AppConfig.Instance;
public LinerInventoryViewModel()
{
UpdateInStoreFlagCommand = new RelayCommand<object>(obj => UpdateInStoreFlag(obj));
UpdateOutStoreFlagCommand = new RelayCommand<object>(obj => UpdateOutStoreFlag(obj));
UpdateUnusualFlagCommand = new RelayCommand<object>(obj => UpdateUnusualFlag(obj));
UpdateSpaceStatusCommand = new RelayCommand<object>(obj => UpdateSpaceStatus(obj));
SpaceDetailCommand = new RelayCommand<object>(obj => SpaceDetail(obj));
Query();
}
#region 参数定义
public ObservableCollection<BaseSpaceInfo> _shapes;
public ObservableCollection<BaseSpaceInfo> Shapes
{
get { return _shapes; }
set { _shapes = value; RaisePropertyChanged(nameof(Shapes)); }
}
#endregion
#region 事件定义
public RelayCommand<object> UpdateInStoreFlagCommand { get; set; }
public RelayCommand<object> UpdateOutStoreFlagCommand { get; set; }
public RelayCommand<object> UpdateUnusualFlagCommand { get; set; }
public RelayCommand<object> UpdateSpaceStatusCommand { get; set; }
public RelayCommand<object> SpaceDetailCommand { get; set; }
#endregion
private void update(object obj)
{
string info = obj as string;
MessageBox.Show("编号:" + info);
}
private void Query()
{
var info = inventoryInfoBusiness.GetSpaceInfos(appConfig.linerStoreCode);
if (info != null)
{
if (spaceItems.Count > 0)
{
spaceItems.Clear();
}
foreach (var item in info)
{
spaceItems.Add(item);
}
Shapes = spaceItems;
}
}
/// <summary>
/// 货道入库标识设置
/// </summary>
/// <param name="obj"></param>
private void UpdateInStoreFlag(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateInStoreFlag(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBox.Show("货道入库状态修改成功");
}
else
{
MessageBox.Show("货道入库状态修改失败");
}
}
/// <summary>
/// 货道出库标识设置
/// </summary>
/// <param name="obj"></param>
private void UpdateOutStoreFlag(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateOutStoreFlag(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBox.Show("货道出库状态修改成功");
}
else
{
MessageBox.Show("货道出库状态修改失败");
}
}
/// <summary>
/// 货道异常标识设置
/// </summary>
/// <param name="obj"></param>
private void UpdateUnusualFlag(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateUnusualFlag(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBox.Show("货道异常标识修改成功");
}
else
{
MessageBox.Show("货道异常标识修改失败");
}
}
/// <summary>
/// 修改货道状态
/// </summary>
/// <param name="obj"></param>
private void UpdateSpaceStatus(object obj)
{
string info = obj as string;
bool result = inventoryInfoBusiness.UpdateSpaceStatus(appConfig.linerStoreCode, info);
if (result)
{
Query();
MessageBox.Show("货道状态修改成功");
}
else
{
MessageBox.Show("货道状态修改失败");
}
}
private void SpaceDetail(object obj)
{
string info = obj as string;
SpaceDetailWindow spaceDetailWindow = new SpaceDetailWindow(appConfig.linerStoreCode,info);
spaceDetailWindow.Show();
inventoryInfoBusiness.RefreshBaseSpaceDetails(appConfig.linerStoreCode, info);
}
}
}