void Search(object sender, RoutedEventArgs e)
        {
            // get the name entered by the user:
            string name = tbxName.Text;

            // search through collection...
            int i;

            if (name == "")
            {
                i = namesCollection.Count + 1;
            }
            else
            {
                i = namesCollection.IndexOf(new BabyName(name + " 1 1 1 1 1 1 1 1 1 1 1"));
            }

            // Alternative manual search
            //for (i = 0; i < namesCollection.Count; ++i)
            //{
            //   if (namesCollection[i].Name == name)
            //      break;
            //}

            if (-1 < i && i < namesCollection.Count)
            {
                tblkError.Text = "";
                BabyName theName = namesCollection[i];
                tboxAveRank.Text = theName.AverageRank().ToString();
                if (theName.Trend() > 0)
                {
                    tboxTrend.Text = "More popular";
                }
                else if (theName.Trend() == 0)
                {
                    tboxTrend.Text = "Inconclusive";
                }
                else
                {
                    tboxTrend.Text = "Less popular";
                }

                int rank;
                lstNameRanking.Items.Clear();
                for (int year = 1900; year < 2001; year += 10)
                {
                    rank = theName.Rank(year);
                    lstNameRanking.Items.Add(string.Format("{0:####}   {1:####}", year, rank));
                }
            }
            else
            {
                tblkError.Text   = "Name not found!";
                tboxAveRank.Text = "";
                tboxTrend.Text   = "";
                lstNameRanking.Items.Clear();
            }
        }
        void Search(object sender, RoutedEventArgs e)
        {
            string name = tbxName.Text;

            int i;

            for (i = 0; i < _namesCollection.Count; i++)
            {
                if (_namesCollection[i].Name == name)
                {
                    break;
                }
            }

            if (-1 < i && i < _namesCollection.Count)
            {
                tblkError.Text = "";
                BabyName theName = _namesCollection[i];
                tboxAveRank.Text = theName.AverageRank().ToString();
                if (theName.Trend() > 0)
                {
                    tboxTrend.Text = "More popular";
                }
                else if (theName.Trend() == 0)
                {
                    tboxTrend.Text = "Inconclusive";
                }
                else
                {
                    tboxTrend.Text = "Less popular";
                }

                int rank;
                IstNameRanking.Items.Clear();
                for (int year = 1900; year < 2001; year += 10)
                {
                    rank = theName.Rank(year);
                    IstNameRanking.Items.Add(string.Format("{0:####}    {1:####}", year, rank));
                }
            }
            else
            {
                tblkError.Text   = "Name not found!";
                tboxAveRank.Text = "";
                tboxTrend.Text   = "";
                IstNameRanking.Items.Clear();
            }
        }
Exemple #3
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            String currentName = TB_searchName.Text.ToString(); //get name to search for

            MessageBox.Show("Searching for name: " + currentName);
            try {
                BabyName currentNameObject = babyNames.Find(x => x.Name == currentName); //find name object.
                TB_avg_rating.Text = currentNameObject.AverageRank().ToString();         //get average rating.

                //get rating over years.
                selectedNameOverYears.Clear();
                for (int i = 1900; i <= 2000; i += 10)
                {
                    selectedNameOverYears.Add(i + ": " + currentNameObject.Rank(i));
                }

                //update ListBox
                LB_nameOverYears.ItemsSource = selectedNameOverYears;

                //Get trend
                String trend = "";
                if (currentNameObject.Trend() == 0)
                {
                    trend = "Popularity stable";
                }
                else if (currentNameObject.Trend() < 0)
                {
                    trend = "Decreasing popularity";
                }
                else if (currentNameObject.Trend() > 0)
                {
                    trend = "Increasing popularity";
                }

                //update trend
                TB_trend.Text = trend;
            }
            catch //if no data for name is found
            {
                MessageBox.Show("No data for name: " + currentName);
            }
        }