コード例 #1
0
        /// <summary>
        /// Occurs when the Button control is clicked. Deletes an extisting Subject.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param>
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Weet je het zeker?", "Vak Verwijderen", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                int          result             = 0;
                List <Grade> subjectGradesQuery = (from grade in grades
                                                   where grade.RowIndex == model.RowIndex
                                                   select grade).ToList();

                List <Grade> gradeQuery = (from grade in grades
                                           where grade.RowIndex > model.RowIndex
                                           select grade).ToList();

                List <Subject> subjectQuery = (from subject in subjects
                                               where subject.RowIndex > model.RowIndex
                                               select subject).ToList();

                if (subjectGradesQuery.Count != 0)
                {
                    for (int i = 0; i < subjectGradesQuery.Count; i++)
                    {
                        gradeController.Delete(grades[i]);
                    }

                    for (int i = 0; i < subjectQuery.Count; i++)
                    {
                        gradeQuery[i].RowIndex -= 1;
                        gradeController.Edit(gradeQuery[i]);
                    }
                }

                if (subjectQuery.Count != 0)
                {
                    for (int i = 0; i < subjectQuery.Count; i++)
                    {
                        subjectQuery[i].RowIndex -= 1;
                        subjectController.Edit(subjectQuery[i]);
                    }
                }

                result = subjectController.Delete(model);

                if (result != 0)
                {
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Onbekend probleem bij het verwijderen van het vak.");
                }
            }
        }
コード例 #2
0
        /// <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.");
                }
            }
        }
コード例 #3
0
        /// <summary>
        /// Occurs when the value of a cell changes. Adds a new Appointment if there wasn't no value. Edit an existing Appointment if the value changed. Deletes an existing Appointment 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 dgvUsers_CellValueChanged(object sender, DataGridViewCellEventArgs e)
        {
            dgvUsers.CellValueChanged -= dgvUsers_CellValueChanged;
            dgvUsers[e.ColumnIndex, e.RowIndex].Value = false;
            dgvUsers.CellValueChanged += dgvUsers_CellValueChanged;

            if (e.ColumnIndex == 1)
            {
                DialogResult dialogResult = MessageBox.Show("U staat op het punt om deze gebruiker te verwijderen.\nAlle taken, vakken, cijfers en afspraken zullen van deze gebruiker verwijderd worden.", "Gebruiker verwijderen", MessageBoxButtons.YesNo);

                if (dialogResult == DialogResult.Yes)
                {
                    int  result = 0;
                    User query  = null;
                    uint?id     = null;

                    List <DataGridViewRow> rows = (from row in dgvUsers.Rows.Cast <DataGridViewRow>()
                                                   select row).ToList();

                    id = (from row in rows
                          where Convert.ToBoolean(row.Cells["verwijderen?"].Value) == true
                          select Convert.ToUInt32(row.Cells[dgvUsers.ColumnCount - 1].Value)).FirstOrDefault();

                    query = (from user in users
                             where user.Id == id
                             select user).FirstOrDefault();

                    if (query != null)
                    {
                        tasks          = taskController.Details(id);
                        repeatingTasks = repeatingTaskController.Details(id);
                        grades         = gradeController.Details(id);
                        subjects       = subjectController.Details(id);
                        appointments   = appointmentController.Details(id);

                        for (int i = 0; i < tasks.Count; i++)
                        {
                            taskController.Delete(tasks[i]);
                        }

                        for (int i = 0; i < repeatingTasks.Count; i++)
                        {
                            repeatingTaskController.Delete(repeatingTasks[i]);
                        }

                        for (int i = 0; i < grades.Count; i++)
                        {
                            gradeController.Delete(grades[i]);
                        }

                        for (int i = 0; i < subjects.Count; i++)
                        {
                            subjectController.Delete(subjects[i]);
                        }

                        for (int i = 0; i < appointments.Count; i++)
                        {
                            appointmentController.Delete(appointments[i]);
                        }

                        result = userController.Delete(query);

                        if (result == 0)
                        {
                            MessageBox.Show("Kon de gebruiker niet verwijderen.");
                        }
                        else
                        {
                            MessageBox.Show("De gebruiker is succesvol verwijderd.");
                        }
                    }

                    LoadToGrid();
                }
            }
        }