//Знаходження ідентичних параметрів цілей
 private bool FindSimiliarParameterOfGoal(List <ParametersGoal> list, ParametersGoal param)
 {
     foreach (ParametersGoal item in list)
     {
         if ((item.id_parameter == param.id_parameter && item.Goal.id_goal == param.Goal.id_goal))
         {
             // && item.name == param.name && item.Goal.name == param.Goal.name)
             return(true);
         }
     }
     return(false);
 }
        //Додавання параметрів цілей до списку
        private void buttonAddParameterToList_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow == null)
            {
                return;
            }

            ParametersGoal paramGoal = dataGridView1.CurrentRow.DataBoundItem as ParametersGoal;

            if (paramGoal == null)
            {
                MessageBox.Show("Параметр для цілі не обрано!", "Помилка");
                return;
            }

            //Знаходимо ціль, яку вибрав користувач в базі даних. для зв'язки
            string selectedGoalName = comboBox1.SelectedItem.ToString();

            Goal selectedGoal = goals.FirstOrDefault(g => g.name == selectedGoalName);

            if (selectedGoal == null)
            {
                MessageBox.Show("Обраної цілі не існує в базі даних! \n Оберіть існуючу ціль!", "Помилка вибору цілі");
                return;
            }

            //Закріплюємо за параметром обрану користувачем ціль
            ParametersGoal newParamGoal = new ParametersGoal()
            {
                id_parameter = paramGoal.id_parameter,
                name         = paramGoal.name,
                unit         = paramGoal.unit,
                Goal         = selectedGoal
            };

            //Зберегти в локальне сховище
            if (cacheData.AddElement <ParametersGoal>(newParamGoal))
            {
                MessageBox.Show("Параметр: " + newParamGoal.name + " для цілі: " + newParamGoal.Goal.name + " додано для оцінювання!", "Підтверджено");
            }
            else
            {
                MessageBox.Show("Параметр: " + newParamGoal.name + " для цілі: " + newParamGoal.Goal.name + " вже занесено для оцінювання!", "Відхилено");
            }
            //Зберегти до бази даних
            //db.SolutionsOfFunctions.AddOrUpdate(solOfFunc);
        }
        //Add
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == String.Empty || textBox2.Text == String.Empty)
            {
                MessageBox.Show("Текстові поля незаповнені!");
                return;
            }

            ParametersGoal paramGoal = new ParametersGoal
            {
                name = textBox1.Text.Trim(),
                unit = textBox2.Text.Trim(),
            };

            db.ParametersGoals.Add(paramGoal);
            db.SaveChanges();
            dataGridView1.Refresh();

            textBox1.Text = String.Empty;
            textBox2.Text = String.Empty;
        }