Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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();
        }