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;
 }