ElectionsMandateCalculator.Models.MandatesCalculator.ExcludePartiesThatDoNotPass4PercentBarrier C# (CSharp) Method

ExcludePartiesThatDoNotPass4PercentBarrier() private method

private ExcludePartiesThatDoNotPass4PercentBarrier ( int partiesCountTable1, bool workingPartyFlagsTable1, int _mirVotesCountTable1, int _partyVotesCountTable1 ) : void
partiesCountTable1 int
workingPartyFlagsTable1 bool
_mirVotesCountTable1 int
_partyVotesCountTable1 int
return void
        private void ExcludePartiesThatDoNotPass4PercentBarrier(int partiesCountTable1, bool[] workingPartyFlagsTable1, int[] _mirVotesCountTable1, int[] _partyVotesCountTable1)
        {
            int allVotesCount = _mirVotesCountTable1.Sum();
            Logger.logger.Info("\r\n==Определяне на минималния брой гласове за допускане==");
            //Calculate 4% barrier
            decimal fourPercentBarrier = 0.04M * allVotesCount;
            Logger.logger.InfoFormat("4% бариера = {0} вота", fourPercentBarrier);

            Logger.logger.Info("\r\n==Определяне на партиите, които преминават бариерата от 4%==");
            Logger.logger.Info("Изключени партии:");
            for (int i = 0; i < partiesCountTable1; i++)
            {
                if (!workingPartyFlagsTable1[i])
                {
                    continue;
                }
                int partyVotes = _partyVotesCountTable1[i];
                if (partyVotes < fourPercentBarrier)
                {
                    workingPartyFlagsTable1[i] = false;
                    Logger.logger.InfoFormat("Изключена партия:\n {0} \n", _partiesAll[i].ToString());
                    Logger.logger.InfoFormat("Причина: {0} има {1} вота {2} {3}", _partiesAll[i].DisplayName, partyVotes, partyVotes < fourPercentBarrier ? "<" : ">=", fourPercentBarrier);
                }
            }
        }