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); } }
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); } }