public ElectionEntity Connect(ElectionEntity electionResultForParty)
        {
            foreach (var partyClassificationEntity in _toBeConnectedClassificationEntitiesForCurrentCountry)
            {
                if (partyClassificationEntity.Name.Equals(electionResultForParty.PartyAbbreviation,
                                                          StringComparison.CurrentCultureIgnoreCase))
                {
                    //We have found a classification Entity whose abrevviations equals that of the electionsResultForParty's newly made abrevviation.
                    Console.WriteLine("Matched classification with party abrevviation " +
                                      partyClassificationEntity.Name +
                                      " to an election result for a party with (newly made) abrevviation " +
                                      electionResultForParty.PartyAbbreviation + ". Full party name: " +
                                      electionResultForParty.PartyName +
                                      ", their newly associated classification is: " +
                                      partyClassificationEntity.Classification);

                    //Now that we have a classification abrev match to (newly made) election result for party abrev, that election results party's classification can be set! :)
                    electionResultForParty.PartyClassification = partyClassificationEntity.Classification;


                    PartyClassificationAndElectionsMerger
                    .PoliticalFamilyPerPartyInCurrentCountry[electionResultForParty.PartyName].Classification =
                        partyClassificationEntity.Classification;


                    break;
                }
            }
            return(electionResultForParty);
        }
        private static ElectionEntity ManuallyClassify(ElectionEntity electionResultForParty)
        {
            if (PoliticalFamilyPerPartyInCurrentCountry[electionResultForParty.PartyName] != null &&
                PoliticalFamilyPerPartyInCurrentCountry[electionResultForParty.PartyName].Classification != null)
            {
                electionResultForParty.PartyClassification =
                    PoliticalFamilyPerPartyInCurrentCountry[electionResultForParty.PartyName].Classification;
            }
            else
            {
                Console.WriteLine("Enter a classification for " + electionResultForParty.PartyName + " (" + electionResultForParty.Year + ")");
                var manualClassification = Console.ReadLine();

                PoliticalFamilyPerPartyInCurrentCountry[electionResultForParty.PartyName].Classification =
                    manualClassification;
                electionResultForParty.PartyClassification = manualClassification;
            }
            return(electionResultForParty);
        }
 public bool WasConnectingSuccesfull(ElectionEntity electionResultForParty)
 {
     return(!electionResultForParty.PartyClassification.Equals("Unknown") &&
            !electionResultForParty.PartyClassification.Equals("null"));
 }
Exemplo n.º 4
0
 public PartyNameToAbbreviationConnector(ElectionEntity originalElectionResultForParty,
                                         PartyClassificationEntity[] allPartyClassificationsInCountry)
 {
     _originalElectionResultForParty   = originalElectionResultForParty;
     _allPartyClassificationsInCountry = allPartyClassificationsInCountry;
 }