From 95c7a142f1325139328d46b4ac09cd84ffc8ecc9 Mon Sep 17 00:00:00 2001 From: "PAL\\cbo" Date: Wed, 9 Mar 2022 11:07:03 +0100 Subject: [PATCH] Add window, user group filtering and minor change --- wpf_ax_utility/App.xaml.cs | 35 +++++++++++-- wpf_ax_utility/MainWindow.xaml | 26 +++++++--- wpf_ax_utility/MainWindow.xaml.cs | 10 ++-- wpf_ax_utility/UserWindow.xaml | 82 +++++++++++++++++++++++++++++++ wpf_ax_utility/UserWindow.xaml.cs | 80 ++++++++++++++++++++++++++++++ 5 files changed, 219 insertions(+), 14 deletions(-) create mode 100644 wpf_ax_utility/UserWindow.xaml create mode 100644 wpf_ax_utility/UserWindow.xaml.cs diff --git a/wpf_ax_utility/App.xaml.cs b/wpf_ax_utility/App.xaml.cs index 8572971..b967e3f 100644 --- a/wpf_ax_utility/App.xaml.cs +++ b/wpf_ax_utility/App.xaml.cs @@ -1,10 +1,12 @@ using System; +using System.Collections; using System.Collections.Generic; using System.Configuration; using System.Data; +using System.DirectoryServices; using System.Linq; -using System.Threading.Tasks; using System.Windows; +using System.Security.Principal; namespace wpf_ax_utility { @@ -15,8 +17,35 @@ namespace wpf_ax_utility { public App() { - // TODO: Verifica se l'utente fa parte di GG IT, in caso yes fai apparire una pagina, in caso no ne fai apparire un'altra - this.StartupUri = new Uri("/wpf_ax_utility;component/MainWindow.xaml", UriKind.Relative); + string userName = WindowsIdentity.GetCurrent().Name.Replace("PAL\\", ""); + var userGroups = GetGroups(userName); + + var uriString = "/wpf_ax_utility;component/UserWindow.xaml"; + + if (userGroups.Contains("PAL\\BRAIN FORCE - AX DEV ADMINS") || userGroups.Contains("PAL\\PAL GG ITe")) + { + uriString = "/wpf_ax_utility;component/MainWindow.xaml"; + } + + this.StartupUri = new Uri(uriString, UriKind.Relative); + } + + private List GetGroups(string userName) + { + List result = new List(); + WindowsIdentity wi = new WindowsIdentity(userName); + + foreach (IdentityReference group in wi.Groups) + { + try + { + result.Add(group.Translate(typeof(NTAccount)).ToString()); + } + catch (Exception ex) { } + } + + result.Sort(); + return result; } } } diff --git a/wpf_ax_utility/MainWindow.xaml b/wpf_ax_utility/MainWindow.xaml index e0ca0e0..41269cf 100644 --- a/wpf_ax_utility/MainWindow.xaml +++ b/wpf_ax_utility/MainWindow.xaml @@ -59,36 +59,46 @@ + + + +