private void LoadRatings(int index)
        {
            if (index < 0)
            {
                FormUtility.GetBindingSource(dataGridViewRatingCodes).Clear();
                return;
            }
            FormUtility.GetBindingSource(dataGridViewRatingCodes).Clear();
            if (currentRatingAgency == null)
            {
                return;
            }
            TableUtility tableUtility = new TableUtility();

            List <Range> agencyRanges = tableUtility.ReadTableRow(Rating.GetDefaultValue(), new Dictionary <string, string>
            {
                { "Agency", currentRatingAgency.GetIndex().ToString() }
            }, QueryOperator.OR);

            if (agencyRanges.Count == 0)
            {
                return;
            }

            List <Rating> ratings = tableUtility.ConvertRangesToObjects <Rating>(agencyRanges);

            foreach (Rating rating in ratings)
            {
                FormUtility.GetBindingSource(dataGridViewRatingCodes).Add(rating);
            }
        }
        private void DeleteRatingAgencyClick(object sender, EventArgs e)
        {
            TableUtility  tableUtility         = new TableUtility();
            RatingAgency  ratingAgencyToDelete = dataGridViewRatingAgencies.Rows[ratingAgenciesRowIndex].DataBoundItem as RatingAgency;
            List <Rating> ratingsToDelete      = tableUtility.ConvertRangesToObjects <Rating>(tableUtility.ReadTableRow(Rating.GetDefaultValue(), new Dictionary <string, string>
            {
                { "Agency", ratingAgencyToDelete.GetIndex().ToString() }
            }, QueryOperator.OR));

            foreach (Rating rating in ratingsToDelete)
            {
                tableUtility.DeleteTableRow(rating);
            }
            tableUtility.DeleteTableRow(ratingAgencyToDelete);
            FormUtility.GetBindingSource(dataGridViewRatingAgencies).RemoveAt(ratingAgenciesRowIndex);
            LoadRatings(ratingAgenciesRowIndex);
            if (FormUtility.GetBindingSource(dataGridViewRatingAgencies).Count == 0)
            {
                currentRatingAgency = null;
            }
        }