private void UpdateInstructorCourses(string[] selectedCourses, Instructor instructorToUpdate) { if (selectedCourses == null) { instructorToUpdate.CourseAssignments = new List <CourseAssignment>(); return; } var selectedCoursesHS = new HashSet <string>(selectedCourses); var instructorCourses = new HashSet <int> (instructorToUpdate.CourseAssignments.Select(c => c.Course.CourseID)); foreach (var course in _context.Course) { if (selectedCoursesHS.Contains(course.CourseID.ToString())) { if (!instructorCourses.Contains(course.CourseID)) { instructorToUpdate.CourseAssignments.Add(new CourseAssignment { InstructorID = instructorToUpdate.ID, CourseID = course.CourseID }); } } else { if (instructorCourses.Contains(course.CourseID)) { CourseAssignment courseToRemove = instructorToUpdate.CourseAssignments.FirstOrDefault(i => i.CourseID == course.CourseID); _context.Remove(courseToRemove); } } } }
private void UpdateInstructorCourses(string[] selectedCourses, Instructor instructorToUpdate) { //Empty list if courses are empty if (selectedCourses == null) { instructorToUpdate.CourseAssignments = new List <CourseAssignment>(); return; } var instructorCourses = new HashSet <int> (instructorToUpdate.CourseAssignments.Select(c => c.Course.CourseID));//All the courseId that current instructor have foreach (var course in _context.Courses) { //If current course is inside the selected course list but current instuctor doesn't have it, then we add it if (selectedCourses.Contains(course.CourseID.ToString()) && !instructorCourses.Contains(course.CourseID)) { instructorToUpdate.CourseAssignments.Add(new CourseAssignment { InstructorID = instructorToUpdate.ID, CourseID = course.CourseID }); } //Else if current course is not inside the selected course list but current instructor has it, then we remove it else if (!selectedCourses.Contains(course.CourseID.ToString()) && instructorCourses.Contains(course.CourseID)) { CourseAssignment courseToRemove = instructorToUpdate.CourseAssignments.FirstOrDefault(i => i.CourseID == course.CourseID); _context.Remove(courseToRemove); } } }
public IActionResult Post([FromBody] PgHeader header) { var res = checkExistHeader(header); if (res is BadRequestObjectResult) { return(res); } if (ModelState.IsValid) { var existingHeader = db.PgHeaders .Include(x => x.PgContractStuffs) .FirstOrDefault(x => x.Id == header.Id); if (existingHeader == null) { db.Add(header); } else { db.Entry(existingHeader).CurrentValues.SetValues(header); foreach (var stuff in header.PgContractStuffs) { stuff.Student = null; PgContractStuff existingStuff = null; if (stuff?.Id > 0) { existingStuff = existingHeader.PgContractStuffs .FirstOrDefault(x => x.Id == stuff.Id); } if (existingStuff == null) { existingHeader.PgContractStuffs.Add(stuff); } else { db.Entry(existingStuff).CurrentValues.SetValues(stuff); } } foreach (var stuff in existingHeader.PgContractStuffs) { if (!header.PgContractStuffs.Any(x => x.Id == stuff.Id)) { db.Remove(stuff); } } } db.SaveChanges(); return(Ok(header)); } else { return(BadRequest(ModelState.Values.Select(a => a.Errors.Select(z => z.ErrorMessage)))); } }
public IActionResult Delete(long id) { var student = db.Students.First(s => s.Id == id); db.Remove(student); db.SaveChanges(); return(Ok(student)); }
public virtual void Delete(T entity) { if (entity == null) { throw new ArgumentNullException("Param is null"); } var existing = Get(entity.Id); if (existing != null) { _ctx.Remove(existing); _ctx.SaveChanges(); } else { throw new ArgumentNullException("Id is null"); } }
public IActionResult Delete(long id) { var group = db.Groups.First(s => s.Id == id); db.Remove(group); db.SaveChanges(); return(Ok(group)); }
public void Delete(Student student) { _context.Remove(student); }