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."); } } }