using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; using Tango.BL.Entities; using Tango.FSE.Common; using Tango.FSE.Common.Navigation; using Tango.FSE.UsersAndRoles.Navigation; using Tango.SharedUI.Helpers; namespace Tango.FSE.UsersAndRoles.ViewModels { [ModularNavigationContainer] public class MainViewVM : UsersAndRolesViewModel { public override void OnApplicationReady() { if (CurrentUser.HasPermission(Tango.BL.Enumerations.Permissions.FSE_ManageOrganizationUsersAndRoles) || CurrentUser.HasPermission(Tango.BL.Enumerations.Permissions.FSE_ManageAllOrganizationsUsersAndRoles)) { InvokeUI(() => { NavigationManager.MenuItems.Add(new NavigationMenuItem(() => { NavigationManager.NavigateTo(); }) { Name = "Users & Roles", Index = 12, Description = "Manage users and their permissions on your organization.", Image = ResourceHelper.GetImageFromResources("Images/users_and_roles.png"), }); }); } } public async override Task OnApplicationLogout() { while (ModularNavigationManager.CurrentView != UsersAndRolesView.OrganizationSelectionView) { if (!await ModularNavigationManager.NavigateBack()) { return false; } } return await base.OnApplicationLogout(); } public async override Task OnNavigateBackRequest() { if (ModularNavigationManager.CurrentView == UsersAndRolesView.OrganizationSelectionView) { return await base.OnNavigateBackRequest(); } else { await ModularNavigationManager.NavigateBack(); return false; } } } }