示例#1
0
        private void updateApp(DesktopUser currentUser, DesktopUser backupedUser, App app)
        {
            if (app.hasRola())
            {
                if (currentCheckedRola != null)
                {
                    string originalRolaId = backupedUser.getRolaId(app);

                    if (originalRolaId.Equals(currentCheckedRola.Name))
                    {
                        currentUser.addUpdateApp(app);                  //użytkownik originalnie miał tę apkę z taką samą rolą więc tylko dodaję ją do bieżącego użytkownika
                        deleteFromChangedAppDataDict(currentUser, app); //żeby się wyświetlała, ale nie chcę jej na liście zmian
                    }
                    else                                                //użytkownik miał ją ale z inną rolą, należy zaktualizować
                    {
                        addApp(currentUser, app);
                    }
                }
            }
            else                                                //ta apka nie ma roli
            {
                currentUser.addUpdateApp(app);                  //a użytkownik originalnie ją miał, więc tylko dodaję ją do bieżącego użytkownika
                deleteFromChangedAppDataDict(currentUser, app); //żeby się wyświetlała, ale nie chcę jej na liście zmian
            }
        }
示例#2
0
        private void addApp(DesktopUser currentUser, App app)
        {
            Rola rola;

            if (!app.hasRola())         //tutaj aktualizuję tylko aplikację, która nie ma roli; aplikację która ma rolę aktualizuję po zaznaczeniu roli
            {
                currentUser.addUpdateApp(app);
                addChangedAppDataToDict(currentUser, app);
                saveButton.Enabled              = true;
                saveAndCloseButton.Enabled      = true;
                statusInformationButton.Enabled = true;
            }
            else
            {
                if (currentCheckedRola != null)     //ten fragment kodu uruchamiany jest ze zdarzenia ItemCheck na liście ról
                {
                    rolaDict.TryGetValue(currentCheckedRola.Name, out rola);
                    currentUser.addUpdateApp(app, rola);
                    addChangedAppDataToDict(currentUser, app);
                    saveButton.Enabled              = true;
                    saveAndCloseButton.Enabled      = true;
                    statusInformationButton.Enabled = true;
                }
            }
        }
示例#3
0
        //dane każdego użytkownika uzupełniam o zestawienie aplikacji do których ma uprawnienia wraz z rolami
        private void getUserApps()
        {
            DesktopUser user = null;

            foreach (string userId in allUsersDict.Keys)
            {
                string          query     = SqlQueries.getUserApps + "'" + userId + "'";
                List <string[]> appList   = dbReader.readFromDB(query).getQueryDataAsStrings();
                List <string>   appIdList = convertColumnDataToList(appList);               //ta kwerenda zwraca pojedynczą listę, tj tylko id

                allUsersDict.TryGetValue(userId, out user);
                if (appIdList.Count > 0)
                {
                    App  app;
                    Rola rola;
                    foreach (string appId in appIdList)
                    {
                        appDictionary.TryGetValue(appId, out app);
                        string rolaId = getAppRola(userId, appId);
                        rolaDict.TryGetValue(rolaId, out rola);

                        user.addUpdateApp(app, rola);
                    }
                }
            }
        }