public async Task CreateTeacherAsync(Teacher teacher, string[] Disciplines) { teacher.Id = 0; context.Entry(teacher).State = EntityState.Added; foreach (var item in Disciplines) { Discipline discipline = await context.Disciplines .Include(x=>x.TrainingCourses) .Where(x => x.Name == item) .FirstOrDefaultAsync(); TrainingCourse trainingCouse = new TrainingCourse() { Teacher = teacher, Discipline = discipline }; discipline.TrainingCourses.Add(trainingCouse); context.Entry(discipline).State = EntityState.Modified; } await context.SaveChangesAsync(); }
private async Task<TrainingCourse> CreateTrainingCourseAsync(int TrainingCourseDisciplineId, int TrainingCourseTeacherId) { TrainingCourse trainingcource = context.TrainingCourses .Where(x => x.TeacherId == TrainingCourseTeacherId && x.DisciplineId == TrainingCourseDisciplineId) .FirstOrDefault(); if (trainingcource == null) { trainingcource = new TrainingCourse() { DisciplineId = TrainingCourseDisciplineId, TeacherId = TrainingCourseTeacherId }; context.Entry(trainingcource).State = EntityState.Added; await context.SaveChangesAsync(); } return trainingcource; }