private void deleteBtn_Click(object sender, EventArgs e) { KevinTB learner; int deletingId = int.Parse(learnerIDTb.Text); //Get learner for the given learnerId using (var dbContext = new KevinDBEntities()) { learner = dbContext.KevinTBs .Where(l => l.learnerID == deletingId) .FirstOrDefault <KevinTB>(); } // Create new context for disconnected scenario using (var dbContext = new KevinDBEntities()) { dbContext.Entry(learner).State = EntityState.Deleted; // Save changes to database dbContext.SaveChanges(); } MessageBox.Show($"{learner.learnerName} has been deleted"); this.loadUnfilteredResults(); this.resetFormControls(); }
private void addBtn_Click(object sender, EventArgs e) { using (var dbContext = new KevinDBEntities()) { try { //create an instance of the Entity object KevinTB learner = new KevinTB { learnerID = int.Parse(learnerIDTb.Text), learnerName = learnerNameTb.Text, enrolledProgram = enrolledProgramTb.Text, favoriteSubject = favSubTb.Text, numberOfLanguages = int.Parse(numLangTb.Text), strongestSkill = strongSkillTb.Text }; //adds the given entity to the context underlying the set dbContext.KevinTBs.Add(learner); dbContext.Entry(learner).State = EntityState.Added; //save dbContext - also save data to the db dbContext.SaveChanges(); MessageBox.Show($"Added new learner to the directory: {learner.learnerName}"); this.loadUnfilteredResults(); this.resetFormControls(); } catch (Exception) { MessageBox.Show($"LearnerID and Number of Languages must be positive integer numbers!"); } } }
/// <summary> /// Fills the kevinTBBindingSource with all rows, ordered by learnerID /// </summary> private void loadUnfilteredResults() { using (var dbContext = new KevinDBEntities()) { //load kevintb table ordered by learnerid dbContext.KevinTBs .OrderBy(learner => learner.learnerID) .Load(); //specify DataSource for kevinTBBindingSource kevinTBBindingSource.DataSource = dbContext.KevinTBs.Local; kevinTBBindingSource.MoveFirst(); // go to first result } }
private void searchBtn_Click(object sender, EventArgs e) { using (var dbContext = new KevinDBEntities()) { var filteredResults = from learner in dbContext.KevinTBs where learner.enrolledProgram.Equals(searchTb.Text) select new { learner.learnerID, learner.learnerName, learner.enrolledProgram }; kevinTBBindingSource.DataSource = filteredResults.ToList(); kevinTBBindingSource.MoveFirst(); this.resetFormControls(); } }
private void updateBtn_Click(object sender, EventArgs e) { KevinTB learner; int updatingId = int.Parse(learnerIDTb.Text); //Get learner for the given learnerId using (var dbContext = new KevinDBEntities()) { learner = dbContext.KevinTBs .Where(l => l.learnerID == updatingId) .FirstOrDefault <KevinTB>(); } // Update learner info in disconnected mode (out of dbContext scope) try { learner.learnerID = int.Parse(learnerIDTb.Text); learner.learnerName = learnerNameTb.Text; learner.enrolledProgram = enrolledProgramTb.Text; learner.favoriteSubject = favSubTb.Text; learner.numberOfLanguages = int.Parse(numLangTb.Text); learner.strongestSkill = strongSkillTb.Text; } catch (Exception) { MessageBox.Show($"LearnerID and Number of Languages must be positive integer numbers!"); } // Save modified entity using new Context using (var dbContext = new KevinDBEntities()) { // Mark entity as modified dbContext.Entry(learner).State = EntityState.Modified; // Save changes to database dbContext.SaveChanges(); } MessageBox.Show($"{learner.learnerName} has been updated"); this.loadUnfilteredResults(); this.resetFormControls(); }
private void kevinTBDataGridView_CellClick(object sender, DataGridViewCellEventArgs e) { KevinTB learner; int selectedId = int.Parse(kevinTBDataGridView.SelectedRows[0].Cells[0].Value.ToString()); //Get learner for the given learnerId using (var dbContext = new KevinDBEntities()) { learner = dbContext.KevinTBs .Where(l => l.learnerID == selectedId) .FirstOrDefault <KevinTB>(); } learnerIDTb.Text = learner.learnerID.ToString(); learnerNameTb.Text = learner.learnerName; enrolledProgramTb.Text = learner.enrolledProgram; favSubTb.Text = learner.favoriteSubject; numLangTb.Text = learner.numberOfLanguages.ToString(); strongSkillTb.Text = learner.strongestSkill.ToString(); currentlyEditing = true; learnerIDTb.Enabled = false; addBtn.Enabled = false; }
/// <summary> /// Fills the kevinTBBindingSource with all rows, ordered by learnerID /// </summary> private void _refreshContacts() { //dispose of old dbContext, if any if (dbContext != null) { dbContext.Dispose(); } // create new DbContext so we can reorder records based on edits dbContext = new KevinDBEntities(); //enables the save button kevinTBBindingNavigatorSaveItem.Enabled = true; //load KevinTB table ordered by learnerID dbContext.KevinTBs .OrderBy(learner => learner.learnerID) .Load(); //specify DataSource for kevinTBBindingSource kevinTBBindingSource.DataSource = dbContext.KevinTBs.Local; kevinTBBindingSource.MoveFirst(); // go to first result searchTextBox.Clear(); }