100 lines
3.3 KiB
C#
100 lines
3.3 KiB
C#
![]() |
using System.Collections.ObjectModel;
|
|||
|
using Seyounth.Hyosung.Data.Models;
|
|||
|
using Seyounth.Hyosung.Data.Services;
|
|||
|
using Seyounth.Hyosung.Runtime;
|
|||
|
using Wpf.Ui;
|
|||
|
using Wpf.Ui.Controls;
|
|||
|
|
|||
|
namespace Seyounth.Hyosung.UI.ViewModels.Pages
|
|||
|
{
|
|||
|
public partial class DashboardViewModel : ObservableObject, INavigationAware
|
|||
|
{
|
|||
|
[ObservableProperty] private ObservableCollection<Variety> _varieties;
|
|||
|
|
|||
|
[ObservableProperty] private Variety _selectedVariety;
|
|||
|
|
|||
|
[ObservableProperty] private List<string> _yarnCarTypes;
|
|||
|
|
|||
|
[ObservableProperty] private List<string> _yarnCarSideType;
|
|||
|
|
|||
|
[ObservableProperty] private int _selectedYarnCarTypeIndex;
|
|||
|
|
|||
|
[ObservableProperty] private int _selectedYarnCarSideTypeIndex;
|
|||
|
|
|||
|
private readonly IVarietyService _varietyService;
|
|||
|
|
|||
|
private readonly IPalletService _palletService;
|
|||
|
|
|||
|
private readonly ISnackbarService _snackbarService;
|
|||
|
|
|||
|
private readonly IHyosungRuntime _runtime;
|
|||
|
|
|||
|
public DashboardViewModel(IVarietyService varietyService, ISnackbarService snackbarService,
|
|||
|
IHyosungRuntime runtime)
|
|||
|
{
|
|||
|
_runtime = runtime;
|
|||
|
SelectedYarnCarTypeIndex = 0;
|
|||
|
SelectedYarnCarSideTypeIndex = 0;
|
|||
|
_varietyService = varietyService;
|
|||
|
_snackbarService = snackbarService;
|
|||
|
Varieties = new ObservableCollection<Variety>(varietyService.GetAll());
|
|||
|
|
|||
|
YarnCarTypes =
|
|||
|
[
|
|||
|
"A",
|
|||
|
"B",
|
|||
|
"C",
|
|||
|
"D"
|
|||
|
];
|
|||
|
|
|||
|
YarnCarSideType =
|
|||
|
[
|
|||
|
"正面",
|
|||
|
"反面"
|
|||
|
];
|
|||
|
}
|
|||
|
|
|||
|
public void OnNavigatedTo()
|
|||
|
{
|
|||
|
Varieties = new ObservableCollection<Variety>(_varietyService.GetAll());
|
|||
|
}
|
|||
|
|
|||
|
public void OnNavigatedFrom()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
[RelayCommand]
|
|||
|
private void OnChangeVariety()
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
SelectedVariety.YarnCarType = SelectedYarnCarTypeIndex + 1;
|
|||
|
SelectedVariety.YarnCarSide = SelectedYarnCarSideTypeIndex + 1;
|
|||
|
_runtime.SendVarietyToPlcAsync(SelectedVariety);
|
|||
|
_snackbarService.Show("切换成功", $"当前产品为: {SelectedVariety.Name}", ControlAppearance.Success,
|
|||
|
new SymbolIcon(SymbolRegular.ArrowCircleUp24), TimeSpan.FromSeconds(5));
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
_snackbarService.Show("切换异常", e.Message, ControlAppearance.Danger,
|
|||
|
new SymbolIcon(SymbolRegular.ArrowCircleUp24), TimeSpan.FromSeconds(5));
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[RelayCommand]
|
|||
|
private void OnChangeVarietyLastNo()
|
|||
|
{
|
|||
|
if (SelectedVariety.LastNo != null)
|
|||
|
{
|
|||
|
_varietyService.SetLastNo(SelectedVariety.Id, SelectedVariety.LastNo.Value);
|
|||
|
_snackbarService.Show("保存成功", "当前控制号保存成功", ControlAppearance.Success,
|
|||
|
new SymbolIcon(SymbolRegular.Save24), TimeSpan.FromSeconds(5));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_snackbarService.Show("保存失败", "当前控制号为空", ControlAppearance.Danger,
|
|||
|
new SymbolIcon(SymbolRegular.Save24), TimeSpan.FromSeconds(5));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|