Exemple #1
0
        private void UpdateSubjectRelationship(int bookCod, List <Subject> newSubjects, List <Subject> oldSubjects)
        {
            if (bookCod <= 0)
            {
                return;
            }

            List <Subject> subsToAdd = newSubjects
                                       .Where(o => !oldSubjects
                                              .Any(n => n.SubjectCod == o.SubjectCod))
                                       .ToList();

            if (subsToAdd.Any())
            {
                _subjectRepository.AddManyRelations(bookCod, subsToAdd);
            }

            List <Subject> subsToDelete = oldSubjects
                                          .Where(o => !newSubjects
                                                 .Any(n => n.SubjectCod == o.SubjectCod))
                                          .ToList();

            if (subsToDelete.Any())
            {
                _subjectRepository.DeleteManyRelations(bookCod, subsToDelete);
            }
        }