177 lines
4.8 KiB
C#
177 lines
4.8 KiB
C#
using Common;
|
|
using CommunityToolkit.Mvvm.ComponentModel;
|
|
using CommunityToolkit.Mvvm.Input;
|
|
using Heisig.HMI.AdsManager;
|
|
using InfineonHMI.Common;
|
|
using Microsoft.Extensions.Configuration;
|
|
namespace InfineonHMI;
|
|
|
|
public sealed partial class OverviewPageVM : ObservableValidator, IDisposable
|
|
{
|
|
[ObservableProperty] private PackMLControlVM machinePackMLControlVM;
|
|
|
|
private User currentUser;
|
|
private MainWindowVM _mainVm;
|
|
private readonly IAdsManager _adsManager;
|
|
private readonly IConfiguration _config;
|
|
|
|
public bool CanUserChangePageAlignment
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
|
|
public bool CanUserChangePageEtching1
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageEtching2
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageHighVoltage
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageHotCoolplate
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageKukaRobot
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageMediaCabinet
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageNIOStation
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageProductionOverview
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangePageReceipe
|
|
{
|
|
get { return currentUser.UserLevel == 100; }
|
|
}
|
|
public bool CanUserChangePageTrayFeeder
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
public bool CanUserChangeMachineState
|
|
{
|
|
get { return currentUser.UserLevel > 50; }
|
|
}
|
|
|
|
public OverviewPageVM()
|
|
{
|
|
// default ctor
|
|
MachinePackMLControlVM = new();
|
|
MachinePackMLControlVM.STitle = "Betriebszustand\n Gesamtanlage";
|
|
|
|
currentUser = Users.getCurrentUser();
|
|
}
|
|
|
|
public OverviewPageVM(IAdsManager adsManager, string variableName)
|
|
{
|
|
_adsManager = adsManager;
|
|
currentUser = Users.getCurrentUser();
|
|
MachinePackMLControlVM = new(_adsManager, "GVL_SCADA.stMachine.stMachineCmds");
|
|
|
|
MachinePackMLControlVM.STitle = "Betriebszustand\n Gesamtanlage";
|
|
}
|
|
|
|
|
|
[RelayCommand]
|
|
public void TrayfeederPageClicked()
|
|
{
|
|
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(TrayFeederPage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void AlignerPageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(AlignmentStationPage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void Etching1PageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(EtchingStation1Page));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void Etching2PageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(EtchingStation2Page));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void HVTestPageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(HighVoltageStationPage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void HotCoolplatePageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(HotCoolPlatePage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void NIOStationPageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(NIOStationPage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
|
|
|
|
[RelayCommand]
|
|
public void KukaPageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(KukaRobotPage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
[RelayCommand]
|
|
public void MediaCabinetPageClicked()
|
|
{
|
|
NavigateMessage message = new("", typeof(ProductionOverviewPage));
|
|
NavigateMessage nextMessage = new("", typeof(MediaCabinetPage));
|
|
this.Dispose();
|
|
_mainVm?.NavigateFromOuterPage(message, nextMessage);
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
}
|
|
|
|
|
|
} |