public ActionResult _Accesses(AccessViewModel AVM, int group_id) // term id
        {
            checkLogin();

            AVM.groupUserlist = new List <GroupUserView>();
            AVM.groupRights   = new List <USER_GROUP_RIGHT>();
            AVM.SelectedGroup = group_id;

            List <GROUP_RIGHT> rights = DBS.findALLRecords <GROUP_RIGHT>();
            List <QE_USER>     user   = DBS.findActiveRecords <QE_USER>();

            //gen user list
            List <USER_GROUP_USER_LIST> groupUserList = DBS.findALLRecords <USER_GROUP_USER_LIST>();

            foreach (var u in user)
            {
                GroupUserView view = new GroupUserView(u);
                view.USER_GROUP = group_id;
                view.QE_USER    = u.ID;
                view.user_name  = u.USER_NAME;
                if (groupUserList != null)
                {
                    if (groupUserList.Exists(g => (g.USER_GROUP == group_id) && (g.QE_USER == u.ID)))
                    {
                        USER_GROUP_USER_LIST foundList = groupUserList.Where(g => (g.USER_GROUP == group_id) && (g.QE_USER == u.ID)).FirstOrDefault();
                        view.ID         = foundList.ID;
                        view.QE_USER    = foundList.QE_USER;
                        view.user_name  = u.USER_NAME;
                        view.USER_GROUP = foundList.USER_GROUP;
                        view.contain    = true;
                    }
                }
                AVM.groupUserlist.Add(view);
            }

            //gen right list
            List <USER_GROUP_RIGHT> groupRightList = DBS.findALLRecords <USER_GROUP_RIGHT>();

            foreach (var r in rights)
            {
                USER_GROUP_RIGHT right = new USER_GROUP_RIGHT();
                right.RIGHT_ID   = r.ID;
                right.RIGHT_NAME = r.RIGHT_NAME;
                right.USER_GROUP = group_id;
                if (groupRightList != null)
                {
                    if (groupRightList.Exists(g => (g.USER_GROUP == group_id) && (g.RIGHT_ID == r.ID)))
                    {
                        right = groupRightList.Where(g => g.USER_GROUP == group_id && (g.RIGHT_ID == r.ID)).FirstOrDefault();
                    }
                }
                AVM.groupRights.Add(right);
            }


            ModelState.Clear();
            return(View("Accesses", AVM));
        }
        /// <summary>
        /// Load a window
        /// </summary>
        /// <param name="parameter">The window name</param>
        public void LoadWindow(object parameter = null)
        {
            if (parameter is string)
            {
                string windowName = (string)parameter;

                switch (windowName)
                {
                case ("Shares"):
                {
                    ShareView sv = new ShareView();
                    sv.Show();
                    break;
                }

                case ("Network Adapters"):
                {
                    NetworkAdapterView nav = new NetworkAdapterView();
                    nav.Show();
                    break;
                }

                case ("IP4 Routes"):
                {
                    IP4RoutingTableView iprv = new IP4RoutingTableView();
                    iprv.Show();
                    break;
                }

                case ("User Sessions"):
                {
                    UserSessionView usv = new UserSessionView();
                    usv.Show();
                    break;
                }

                case ("Computer Sessions"):
                {
                    ComputerSessionView csv = new ComputerSessionView();
                    csv.Show();
                    break;
                }

                case ("Computer System"):
                {
                    ComputerSystemView cosv = new ComputerSystemView();
                    cosv.Show();
                    break;
                }

                case ("Environment Variables"):
                {
                    EnvironmentVariableView evv = new EnvironmentVariableView();
                    evv.Show();
                    break;
                }

                case ("Startup Entries"):
                {
                    StartupEntryView sev = new StartupEntryView();
                    sev.Show();
                    break;
                }

                case ("Recently Used"):
                {
                    RecentlyUsedEntryView reuv = new RecentlyUsedEntryView();
                    reuv.Show();
                    break;
                }

                case ("Updates"):
                {
                    UpdateView uv = new UpdateView();
                    uv.Show();
                    break;
                }

                case ("Processes"):
                {
                    ProcessView pv = new ProcessView();
                    pv.Show();
                    break;
                }

                case ("BIOS"):
                {
                    BIOSView vb = new BIOSView();
                    vb.Show();
                    break;
                }

                case ("Services"):
                {
                    WindowsServiceView wsv = new WindowsServiceView();
                    wsv.Show();
                    break;
                }

                case ("ARP Table"):
                {
                    ARPTableView atv = new ARPTableView();
                    atv.Show();
                    break;
                }

                case ("WLAN Sessions"):
                {
                    WLANSessionView wsv = new WLANSessionView();
                    wsv.Show();
                    break;
                }

                case ("Installed Programs"):
                {
                    InstalledProgramView ipv = new InstalledProgramView();
                    ipv.Show();
                    break;
                }

                case ("USB Device History"):
                {
                    USBDeviceHistoryView udhv = new USBDeviceHistoryView();
                    udhv.ShowDialog();
                    break;
                }

                case ("Users And Groups"):
                {
                    GroupUserView guv = new GroupUserView();
                    guv.ShowDialog();
                    break;
                }

                case ("User Assist"):
                {
                    UserAssistView uaw = new UserAssistView();
                    uaw.ShowDialog();
                    break;
                }

                case ("Recent Apps"):
                {
                    RecentAppView rav = new RecentAppView();
                    rav.ShowDialog();
                    break;
                }

                case ("Shim Cache"):
                {
                    ShimCacheView scv = new ShimCacheView();
                    scv.ShowDialog();
                    break;
                }

                case ("Prefetch"):
                {
                    PrefetchView pfv = new PrefetchView();
                    pfv.ShowDialog();
                    break;
                }

                case ("SRUM App Usage"):
                {
                    SRUMView sv = new SRUMView();
                    sv.ShowDialog();
                    break;
                }

                case ("SRUM Network Connectivity"):
                {
                    SRUMNetworkView snv = new SRUMNetworkView();
                    snv.ShowDialog();
                    break;
                }

                case ("BAM Data"):
                {
                    BAMView bv = new BAMView();
                    bv.ShowDialog();
                    break;
                }
                }
            }
        }