public IEnumerable <TrainingProfessionsDTO> GetTrainingAndCourseNotByProfessionId(int ProfessionId) { var listTrainingType = _context.TrainingTypes.ToList().Select(c => c.ID).ToList(); var listTrainingProfession = _context.TrainingProfessions.Where(c => c.ProfessionID == ProfessionId) .ToList().Select(c => c.CourseID).ToList(); var remainId = listTrainingType.Except(listTrainingProfession); var TrainingAndTypeByProfession = _context.courses.Where(c => remainId.Contains(c.TrainingTypeID)) .Select( c => new TrainingProfessionsDTO { CourseID = c.ID, CourseName = c.CourseName, TrainingTypeID = c.TrainingType.ID, TrainingTypeName = c.TrainingType.TrainingTypeName }).ToList().GroupBy(c => c.TrainingTypeID); List <TrainingProfessionsDTO> list = new List <TrainingProfessionsDTO>(); foreach (var item in TrainingAndTypeByProfession) { TrainingProfessionsDTO trainingObj = new TrainingProfessionsDTO(); trainingObj.TrainingTypeID = item.FirstOrDefault().TrainingTypeID; trainingObj.CourseID = item.FirstOrDefault().CourseID; trainingObj.TrainingTypeName = item.FirstOrDefault().TrainingTypeName; trainingObj.CourseName = item.FirstOrDefault().CourseName; list.Add(trainingObj); } return(list); }
public async Task <ActionResult <TrainingProfessionsDTO> > GetTrainingProfessionsDTO(int id) { var trainingProfession = await _context.TrainingProfessions.Include(c => c.Profession).Include(t => t.Courses.TrainingType).FirstOrDefaultAsync(t => t.ID == id); var trainingProfessionsDTO = new TrainingProfessionsDTO { ID = trainingProfession.ID, CourseID = trainingProfession.CourseID, CourseName = trainingProfession.Courses.CourseName, ProfessionID = trainingProfession.ProfessionID, ProfessionName = trainingProfession.Profession.Name, TrainingTypeName = _context.TrainingProfessions.Where(e => e.Courses.TrainingTypeID == trainingProfession.Courses.TrainingTypeID).FirstOrDefault().Courses.TrainingType.TrainingTypeName, TrainingTypeID = _context.TrainingProfessions.Where(e => e.Courses.TrainingTypeID == trainingProfession.Courses.TrainingTypeID).FirstOrDefault().Courses.TrainingTypeID, }; if (trainingProfessionsDTO == null) { return(NotFound()); } return(trainingProfessionsDTO); }
public async Task <ActionResult <TrainingProfessionsDTO> > PostTrainingProfessionsDTO(TrainingProfessionsDTO trainingProfessionsDTO) { var trainingProfession = new TrainingProfessions { ID = trainingProfessionsDTO.ID, CourseID = trainingProfessionsDTO.CourseID, ProfessionID = trainingProfessionsDTO.ProfessionID }; _context.TrainingProfessions.Add(trainingProfession); await _context.SaveChangesAsync(); return(CreatedAtAction("GetTrainingProfessionsDTO", new { id = trainingProfessionsDTO.ID }, trainingProfessionsDTO)); }