예제 #1
0
        private void buttonNewMonster_Click(object sender, EventArgs e)
        {
            FormNewMonster form = new FormNewMonster();

            form.ShowDialog();
            this.FillDataGridMonsters();
        }
예제 #2
0
        private void dataGridViewMonsters_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            DataGridView             dataGrid = (DataGridView)sender;
            DataGridViewButtonColumn button   = dataGrid.Columns[e.ColumnIndex] as DataGridViewButtonColumn;

            int id = ((int)dataGrid.Rows[e.RowIndex].Cells[0].Value);

            if (e.ColumnIndex == dataGrid.Columns["ColumnEditMonsterButton"].Index && e.RowIndex >= 0)
            {
                using (Model.KeynerContext db = new Model.KeynerContext())
                {
                    Model.Monster  monster = db.MonsterSet.FirstOrDefault(m => m.Id == id);
                    FormNewMonster form    = new FormNewMonster(ref monster);
                    form.ShowDialog();
                    if (form.DialogResult == DialogResult.Yes)
                    {
                        this.FillDataGridMonsters();
                    }
                }
            }

            if (e.ColumnIndex == dataGrid.Columns["ColumnDeleteMonsterButton"].Index && e.RowIndex >= 0)
            {
                if (MessageBox.Show("Do you want delete this monster?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    using (Model.KeynerContext db = new Model.KeynerContext())
                    {
                        db.Entry(db.MonsterSet.FirstOrDefault(m => m.Id == id)).State = System.Data.Entity.EntityState.Deleted;
                        foreach (Model.MonsterLevel item in db.MonsterLevelSet.Where(l => l.Id_Monster == id).ToList())
                        {
                            db.Entry(item).State = System.Data.Entity.EntityState.Deleted;
                        }
                        db.SaveChanges();
                        dataGrid.Rows.RemoveAt(e.RowIndex);
                    }
                }
            }
        }