using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.FSE.Common; using Tango.FSE.Common.Navigation; using Tango.FSE.MachineConfiguration.Navigation; using Tango.SharedUI.Helpers; namespace Tango.FSE.MachineConfiguration.ViewModels { [ModularNavigationContainer] public class MainViewVM : ConfigurationViewModel { public override void OnApplicationReady() { if (CurrentUser.HasPermission(Tango.BL.Enumerations.Permissions.FSE_RunConfigurationModule)) { InvokeUI(() => { NavigationManager.MenuItems.Add(new NavigationMenuItem(() => { NavigationManager.NavigateTo(); }) { Name = "Configuration", Index = 8, Description = "Access to the organization machines configuration and settings", Image = ResourceHelper.GetImageFromResources("Images/configuration.png"), }); }); } } public async override Task OnApplicationLogout() { while (ModularNavigationManager.CurrentView != ConfigurationView.SelectionView) { if (!await ModularNavigationManager.NavigateBack()) { return false; } } return await base.OnApplicationLogout(); } public async override Task OnNavigateBackRequest() { if (ModularNavigationManager.CurrentView == ConfigurationView.SelectionView) { return await base.OnNavigateBackRequest(); } else { await ModularNavigationManager.NavigateBack(); return false; } } } }