Exemple #1
0
        public ResultsModel(Election election = null, IStatusUpdateHub hub = null)
        {
            _election = election ?? UserSession.CurrentElection;

            _analyzer = CurrentElection.IsSingleNameElection
        ? new ElectionAnalyzerSingleName(CurrentElection, hub) as IElectionAnalyzer
        : new ElectionAnalyzerNormal(CurrentElection, hub);
        }
        protected ElectionAnalyzerCore(IAnalyzerFakes fakes)
        {
            IsFaked = true;

            _election       = UserSession.CurrentElection;
            _hub            = fakes.FakeHub;
            SharedDbContext = fakes.DbContext;
            Savers          = new Savers(SharedDbContext);
        }
 protected ElectionAnalyzerCore(Election election, IStatusUpdateHub hub = null)
 {
     _election = election;
     _hub      = hub ?? Startup.ServiceProvider.GetService <IAnalyzeHubHelper>();
     Savers    = new Savers(SharedDbContext);
 }
Exemple #4
0
 public ElectionAnalyzerSingleName(Election election, IStatusUpdateHub hub = null)
     : base(election, hub)
 {
 }
        //private ResultSummaryCacher _localResultSummaryCacher;

        protected ElectionAnalyzerCore()
        {
            _election = UserSession.CurrentElection;
            _hub      = Startup.ServiceProvider.GetService <IAnalyzeHubHelper>();
            Savers    = new Savers(SharedDbContext);
        }
 public ElectionAnalyzerNormal(Election election, IStatusUpdateHub hub = null)
     : base(election, hub)
 {
 }
Exemple #7
0
 protected ElectionAnalyzerCore(Election election, IStatusUpdateHub hub = null)
 {
     _election = election;
     _hub      = hub ?? new AnalyzeHub();
     Savers    = new Savers(Db);
 }
Exemple #8
0
        //private ResultSummaryCacher _localResultSummaryCacher;

        protected ElectionAnalyzerCore()
        {
            _election = UserSession.CurrentElection;
            _hub      = new AnalyzeHub();
            Savers    = new Savers(Db);
        }
Exemple #9
0
        /// <summary>
        ///   Ensure the flags match the Guid
        /// </summary>
        /// <param name="people"></param>
        /// <param name="hub"></param>
        /// <param name="personSaver"></param>
        public void EnsureFlagsAreRight(List <Person> people, IStatusUpdateHub hub, Action <DbAction, Person> personSaver)
        {
            hub.StatusUpdate("Reviewing people", true);
            var currentElectionGuid = UserSession.CurrentElectionGuid;

            // var defaultCanVote = UserSession.CurrentElection.CanVote == "A";
            // var defaultCanReceiveVotes = UserSession.CurrentElection.CanReceive == "A";

            var numDone = 0;

            foreach (var person in people)
            {
                var changesMade = false;

                numDone++;
                if (numDone % 10 == 0)
                {
                    hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone), true);
                }

                if (currentElectionGuid != person.ElectionGuid)
                {
                    hub.StatusUpdate("Found unexpected person. Please review. Name: " + person.C_FullName);
                }

                var matchedReason = IneligibleReasonEnum.Get(person.IneligibleReasonGuid);
                if (person.IneligibleReasonGuid.HasValue && matchedReason == null)
                {
                    personSaver(DbAction.Attach, person);
                    person.IneligibleReasonGuid = IneligibleReasonEnum.Ineligible_Other;

                    hub.StatusUpdate("Found unknown ineligible reason. Set to Unknown. Name: " + person.C_FullName);

                    changesMade = true;
                }

                if (ApplyVoteReasonFlags(person))
                {
                    personSaver(DbAction.Attach, person);
                    changesMade = true;
                }
                // var reason = IneligibleReasonEnum.Get(person.IneligibleReasonGuid);
                // if (reason == null)
                // {
                //   unknownIneligibleGuid = true;
                // }
                // else
                // {
                //   var canVote = reason.CanVote;
                //   var canReceiveVotes = reason.CanReceiveVotes;
                //
                //   if (canVote != person.CanVote || canReceiveVotes != person.CanReceiveVotes)
                //   {
                //     personSaver(DbAction.Attach, person);
                //     person.CanVote = canVote;
                //     person.CanReceiveVotes = canReceiveVotes;
                //   }
                // }
                // else
                // {
                //   if (defaultCanVote != person.CanVote || defaultCanReceiveVotes != person.CanReceiveVotes)
                //   {
                //     personSaver(DbAction.Attach, person);
                //     person.CanVote = defaultCanVote;
                //     person.CanReceiveVotes = defaultCanReceiveVotes;
                //     changesMade = true;
                //   }
                // }

                if (changesMade)
                {
                    //          personSaver(DbAction.Save, person);
                    Db.SaveChanges();
                }
            }

            hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone));
        }
Exemple #10
0
        /// <summary>
        ///   Ensure the flags match the Guid
        /// </summary>
        /// <param name="people"></param>
        /// <param name="hub"></param>
        /// <param name="personSaver"></param>
        public void EnsureFlagsAreRight(List <Person> people, IStatusUpdateHub hub, Action <DbAction, Person> personSaver)
        {
            hub.StatusUpdate("Reviewing people", true);
            var currentElectionGuid = UserSession.CurrentElectionGuid;

            var numDone = 0;

            foreach (var person in people)
            {
                var changesMade           = false;
                var unknownIneligibleGuid = false;

                numDone++;
                if (numDone % 10 == 0)
                {
                    hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone), true);
                }

                if (currentElectionGuid != person.ElectionGuid)
                {
                    hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone));
                    hub.StatusUpdate("Found unexpected person. Please review. Name: " + person.C_FullNameFL);
                }

                if (person.IneligibleReasonGuid.HasValue)
                {
                    var reason = IneligibleReasonEnum.Get(person.IneligibleReasonGuid);
                    if (reason == null)
                    {
                        unknownIneligibleGuid = true;
                    }
                    else
                    {
                        var canVote         = reason.CanVote;
                        var canReceiveVotes = reason.CanReceiveVotes;

                        if (canVote != person.CanVote || canReceiveVotes != person.CanReceiveVotes)
                        {
                            personSaver(DbAction.Attach, person);
                            person.CanVote         = canVote;
                            person.CanReceiveVotes = canReceiveVotes;
                            changesMade            = true;
                        }
                    }
                }
                if (unknownIneligibleGuid)
                {
                    personSaver(DbAction.Attach, person);
                    person.IneligibleReasonGuid = IneligibleReasonEnum.Ineligible_Other;

                    hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone));
                    hub.StatusUpdate("Found unknown ineligible reason. Set to Unknown. Name: " + person.C_FullNameFL);

                    changesMade = true;
                }
                if (changesMade)
                {
                    personSaver(DbAction.Save, person);
                }
            }
            hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone));
        }