Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 3
0
        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))));
            }
        }
Esempio n. 4
0
        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");
            }
        }
Esempio n. 6
0
        public IActionResult Delete(long id)
        {
            var group = db.Groups.First(s => s.Id == id);

            db.Remove(group);
            db.SaveChanges();

            return(Ok(group));
        }
Esempio n. 7
0
 public void Delete(Student student)
 {
     _context.Remove(student);
 }