Exemple #1
0
        private static void SetupCategories()
        {
            var cred = CredentialManager.GetCredentials(App.CredDb);

            if (cred == null || cred.UserName.Length < 1)
            {
                return;
            }
            using var db = new LiteDatabase($"{App.GetDbStringWithoutPass}'{cred.Password}'");
            var dbUserData = db.GetCollection <UserDataCategories>(DbUserData.UserData_Categories.ToString());

            var userDataList = dbUserData.Query().ToList();

            if (userDataList.Any() || userDataList.Any(x => x.CategoryName == "All"))
            {
                return;
            }

            var entry = new UserDataCategories()
            {
                CategoryName = "All"
            };

            dbUserData.Insert(entry);
        }
        /// <summary>
        /// Create new category
        /// <see cref="CreateNewCategory"/>
        /// </summary>
        /// <returns></returns>
        public async Task CreateNewCategory()
        {
            try
            {
                bool result = await ValidateAsync();

                if (result)
                {
                    var cred = CredentialManager.GetCredentials(App.CredDb);
                    if (cred == null || cred.UserName.Length < 1)
                    {
                        return;
                    }
                    using (var db = new LiteDatabase($"{App.GetDbStringWithoutPass}'{cred.Password}'"))
                    {
                        var dbUserCategories = db.GetCollection <UserDataCategories>(DbUserData.UserData_Categories.ToString());
                        var newCategory      = new UserDataCategories {
                            CategoryName = NewCategoryValue
                        };
                        dbUserCategories.Insert(newCategory);
                    }
                    _windowManager.ShowMessageBox($"{App.ResMan.GetString("CreatedCategory")} {NewCategoryValue}", App.ResMan.GetString("CreatedCategory"));
                    _events.PublishOnUIThread(new UpdateEvent {
                        ShouldUpdate = true
                    }, EventChannels.RefreshCategoryList.ToString());
                    FillCategories();
                    NewCategoryValue = string.Empty;
                }
            }
            catch (Exception e)
            {
                App.Logger.Warning(e, "Failed to create new category");
                SentrySdk.CaptureException(e);
            }
        }
Exemple #3
0
        private void UpdateInteractiveUserDataCategories()
        {
            auditAgentScannerDefinition.InteractiveUserDataCategories.Clear();

            AssetTypeList listAssetTypes = new AssetTypeList();

            listAssetTypes.Populate();

            AssetTypeList computersList = listAssetTypes.EnumerateChildren(listAssetTypes.FindByName("Computers").AssetTypeID);

            UserDataCategoryList listCategories = new UserDataCategoryList(UserDataCategory.SCOPE.Asset);

            listCategories.Populate();

            // Sort the list to put the categories in Tab Order
            listCategories.Sort();

            // Iterate through the categories
            foreach (UserDataCategory category in listCategories)
            {
                if ((category.AppliesToName != "Computers") && (category.AppliesToName != String.Empty))
                {
                    // No - OK is it a type of computer?
                    bool exclude = true;
                    foreach (AssetType assetType in computersList)
                    {
                        if (assetType.Name == category.AppliesToName)
                        {
                            exclude = false;
                            break;
                        }
                    }

                    // If excluded, skip this category
                    if (exclude)
                    {
                        continue;
                    }
                }

                UserDataCategories lUserDataCategory = new UserDataCategories();
                lUserDataCategory.Name       = category.Name;
                lUserDataCategory.UserFields = category;
                auditAgentScannerDefinition.InteractiveUserDataCategories.Add(lUserDataCategory);
            }
        }