public void CreateGrade(string grName, int language_Id)
        {
            Grade           grade = new Grade(grName, language_Id);
            GradeController gc    = new GradeController();

            gc.Create(grade);
        }
        /// <summary>
        /// Occurs when the value of a cell changes. Adds a new Grade if there wasn't no value. Edit an existing Grade if the value changed. Deletes an existing Grade if the value is empty.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DataGridViewCellEventArgs"/> instance containing the event data.</param>
        private void dgvGrades_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex > -1 && subjects.Count == dgvGrades.RowCount)
            {
                if (selectedUser.Id == currentUser.Id)
                {
                    int   result = 0;
                    Grade query  = (from grade in grades
                                    where grade.RowIndex == Convert.ToUInt32(e.RowIndex) && grade.ColumnIndex == Convert.ToUInt32(e.ColumnIndex)
                                    select grade).FirstOrDefault();

                    if (query == null && dgvGrades[e.ColumnIndex, e.RowIndex].Value != null)
                    {
                        //adds a grade
                        float  number;
                        string value = dgvGrades[e.ColumnIndex, e.RowIndex].Value.ToString().Replace(',', '.');
                        float.TryParse(value, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out number);

                        if (number > 10.0 || number < 1.0)
                        {
                            MessageBox.Show("Kon het cijfer niet toevoegen.\nWaarde moet tussen de 1,0 en 10 liggen.");
                            result = 2;
                        }
                        else
                        {
                            result = gradeController.Create(new Grade()
                            {
                                ColumnIndex = Convert.ToUInt32(e.ColumnIndex),
                                RowIndex    = Convert.ToUInt32(e.RowIndex),
                                UserId      = selectedUser.Id,
                                Number      = (float)Math.Round(number, 1)
                            });
                        }

                        if (result == 0)
                        {
                            MessageBox.Show("Kon het cijfer niet toevoegen.");
                        }
                    }
                    else if (query != null && dgvGrades[e.ColumnIndex, e.RowIndex].Value == null)
                    {
                        //deletes the grade
                        result = gradeController.Delete(query);

                        if (result == 0)
                        {
                            MessageBox.Show("Kon het cijfer niet verwijderen.");
                        }
                    }
                    else if (query != null && string.IsNullOrEmpty(dgvGrades[e.ColumnIndex, e.RowIndex].Value.ToString()) != true)
                    {
                        //edits the grade
                        float  number;
                        string value = dgvGrades[e.ColumnIndex, e.RowIndex].Value.ToString().Replace(',', '.');
                        float.TryParse(value, NumberStyles.AllowDecimalPoint, CultureInfo.InvariantCulture, out number);

                        if (number > 10.0 || number < 1.0)
                        {
                            MessageBox.Show("Kon het cijfer niet wijzigen.\nWaarde moet tussen de 1,0 en 10 liggen.");
                            result = 2;
                            number = 1.0f;
                        }
                        else
                        {
                            query.Number = (float)Math.Round(number, 1);
                            result       = gradeController.Edit(query);
                        }

                        if (result == 0)
                        {
                            MessageBox.Show("Kon het cijfer niet wijzigen.");
                        }
                    }

                    LoadToGrid(typeof(Grade));
                }
                else
                {
                    MessageBox.Show("Kan cijfers voor andere gebruikers niet toevoegen/wijzigen.");
                }
            }
        }