private void tbnRemoveCourse_Click(object sender, EventArgs e) { dgvLinkedCourses.EndEdit(); using (var Dbconnection = new MCDEntities()) { List <FacilitatorAssociatedCourse> CoursesToBeRemoved = new List <FacilitatorAssociatedCourse>(); foreach (DataGridViewRow currentRow in dgvLinkedCourses.Rows) { DataGridViewCheckBoxCell chk = currentRow.Cells[chkItemToReomve.Index] as DataGridViewCheckBoxCell; if (chk.Value != null) { Course CurrentCourse = (Course)currentRow.DataBoundItem; FacilitatorAssociatedCourse LinkedFacilitatorCourse = (from a in CurrentCourse.FacilitatorAssociatedCourses where a.CourseID == CurrentCourse.CourseID && a.IndividualID == currentFacilitator.FacilitatorID select a).FirstOrDefault <FacilitatorAssociatedCourse>(); Dbconnection.FacilitatorAssociatedCourses.Attach(LinkedFacilitatorCourse); CoursesToBeRemoved.Add(LinkedFacilitatorCourse); } } Dbconnection.FacilitatorAssociatedCourses.RemoveRange(CoursesToBeRemoved); Dbconnection.SaveChanges(); } refreshAvailableCourses(); refreshLinkedCourses(); }
private void btnLinkCourse_Click(object sender, EventArgs e) { dgvAvailableCourses.EndEdit(); using (var Dbconnection = new MCDEntities()) { List <FacilitatorAssociatedCourse> CoursesToBeLinked = new List <FacilitatorAssociatedCourse>(); foreach (DataGridViewRow currentRow in dgvAvailableCourses.Rows) { DataGridViewCheckBoxCell chk = currentRow.Cells[SelectCourses.Index] as DataGridViewCheckBoxCell; if (chk.Value != null) { FacilitatorAssociatedCourse linkCourseToFacilitator = new FacilitatorAssociatedCourse { CourseID = ((Course)currentRow.DataBoundItem).CourseID, IndividualID = currentFacilitator.FacilitatorID }; CoursesToBeLinked.Add(linkCourseToFacilitator); } } Dbconnection.FacilitatorAssociatedCourses.AddRange(CoursesToBeLinked); Dbconnection.SaveChanges(); } this.refreshAvailableCourses(); this.refreshLinkedCourses(); }