public AdminSitesCollection GetAdminSites(int siteUserGuid) { MCB.MasterPiece.Data.CollectionClasses.AdminSitesCollection adminSites = new AdminSitesCollection(); IRelationCollection relations = new RelationCollection(); relations.Add(AdminSitesEntity.Relations.AdminSiteModuleEntityUsingSiteGuid); relations.Add(AdminSiteModuleEntity.Relations.AdminUserAccessEntityUsingSiteModuleGuid); relations.Add(AdminUserAccessEntity.Relations.AdminUserEntityUsingUserGuid); IPredicateExpression filter = new PredicateExpression(); filter.Add(AdminUserAccessFields.UserGuid == siteUserGuid); filter.AddWithAnd(AdminSitesFields.AccountingMarkAsInactive != 1); IPredicateExpression sensitiveDataFilter = new PredicateExpression(); sensitiveDataFilter.Add(AdminUserFields.HasAccessToSitesWithSensitiveData == 1); sensitiveDataFilter.AddWithOr(AdminSitesFields.SiteContainsSensitiveData == 0); filter.AddWithAnd(sensitiveDataFilter); ISortExpression sort = new SortExpression(); sort.Add(AdminSitesFields.CostumerFullname | SortOperator.Ascending); adminSites.GetMulti(filter, 0, sort, relations); return(adminSites); }
static AdminSitesCollection GetAdminSites(int siteGuid) { IPredicateExpression filter = new PredicateExpression(); filter.Add(AdminSitesFields.SiteTypeGuid > 0); if (siteGuid > -1) { filter.Add(AdminSitesFields.SiteGuid == siteGuid); } var adminSites = new AdminSitesCollection(); ISortExpression sortExpression = new SortExpression(SiteUserFields.SiteUserGuid | SortOperator.Ascending); // var batchSize = 10000; adminSites.GetMulti(filter, null, null); // return(adminSites); }
static void Main(string[] args) { MCB.MasterPiece.Data.DaoClasses.CommonDaoBase.ActualConnectionString = MCB.Configuration.ServerConfig.GetConnectionString(5); PBKDF2HashingService hashingService = new PBKDF2HashingService(); Stopwatch stopwatch = new Stopwatch(); Process.GetCurrentProcess().ProcessorAffinity = new IntPtr(2); // Uses the second Core or Processor for the Test Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.High; // Prevents "Normal" processes from interrupting Threads Thread.CurrentThread.Priority = ThreadPriority.Highest; // Prevents "Normal" Threads from interrupting this thread stopwatch.Reset(); stopwatch.Start(); Console.WriteLine("Password Hashing has started"); int filterHusetSiteGuid = 11961; AdminSitesCollection adminSites = GetAdminSites(-1); Console.WriteLine("Number of Admin Sites: " + adminSites.Count); IDictionary <int, string> excludeListDictionary = GetExcludeSitelist(); Console.WriteLine("Excluding " + excludeListDictionary.Count + " sites"); var numberOfAdminSites = adminSites.Count; numberOfAdminSites = 10; if (numberOfAdminSites > 0) { Console.WriteLine("Starting site loop: " + numberOfAdminSites + " sites"); for (var i = 0; i < numberOfAdminSites; i++) { int siteGuid = adminSites[i].SiteGuid; if (excludeListDictionary.ContainsKey(siteGuid)) { Console.WriteLine("-------------------------------------------------------"); Console.WriteLine(siteGuid + " -> NO HASHING, " + adminSites[i].AdminCompany.Name); } else { Console.WriteLine("-------------------------------------------------------"); Console.WriteLine(siteGuid + " -> Start Hashing, " + adminSites[i].AdminCompany.Name); Console.Write(" AmountLeft: "); var siteUsers = new SiteUserCollection(); ISortExpression sortExpression = new SortExpression(SiteUserFields.SiteUserGuid | SortOperator.Ascending); IPredicateExpression filter = GetSelectionFilter(siteGuid); siteUsers.GetMulti(filter, null, null); var amountLeft = siteUsers.GetDbCount(filter); Console.Write(amountLeft); if (amountLeft == 0) { Console.WriteLine(", Der var IKKE nongen at hashe"); } else { while (amountLeft > 0) { amountLeft -= PasswordHashing(hashingService, stopwatch, siteGuid, 1); // hashing 1000 at the time if (amountLeft == 0) { Console.WriteLine(" AmountLeft: " + amountLeft + ". "); } else { Console.Write(" AmountLeft: " + amountLeft); } } } } } } stopwatch.Stop(); Console.WriteLine("Password Hashing has finished"); Console.WriteLine("mS: " + stopwatch.ElapsedMilliseconds); Console.WriteLine("-------------------------------------------------------"); Console.WriteLine("Press ENTER to close."); Console.ReadLine(); }