public async Task <ActionResultReponese <string> > InsertAsync(string idStudent, string idTeacherMain, TopicsMeta topicsMeta) { var topicId = Guid.NewGuid().ToString(); var isName = await _topicsRepository.CheckExisName(topicsMeta.NameTopics); if (isName) { return(new ActionResultReponese <string>(-2, "NameTopics da ton tai", "Topics")); } var isTeacher = await _teacherRepository.CheckExistsAsync(idTeacherMain); if (!isTeacher) { return(new ActionResultReponese <string>(-2, "TeacherMain khong ton tai", "Teacher")); } var infotecherMain = await _teacherRepository.GetInfoAsync(idTeacherMain); // check giang vien full de tai chua var isTopicsFullExit = await _teacherRepository.CheckCountTopicsAsync(idTeacherMain); if (!isTopicsFullExit) { return(new ActionResultReponese <string>(-2, "IdTeacher full de tai", "Teacher")); } var infotecher2 = await _teacherRepository.GetInfoAsync(topicsMeta.IdTeacher2); var isStudent = await _studentRepository.CheckExistsAsync(idStudent); if (!isStudent) { return(new ActionResultReponese <string>(-2, "Student khong ton tai", "Student")); } var infostuddent = await _studentRepository.GetInfoAsync(idStudent); var topic = new Topics { id = topicId, IdTopics = topicsMeta.IdTopics?.Trim(), NameTopics = topicsMeta.NameTopics?.Trim(), IdStudent = idStudent?.Trim(), NameStudent = infostuddent.Name?.Trim(), IdTeacherMain = idTeacherMain?.Trim(), NameTeacherMain = infotecherMain.NameTeacher?.Trim(), IdTeacher2 = topicsMeta.IdTeacher2?.Trim(), NameTeacher2 = infotecher2.NameTeacher?.Trim(), IsApproval = false, IsActive = true, IsDelete = false, CreateDate = DateTime.Now, LastUpdate = null }; var result = await _topicsRepository.InsertAsync(topic); if (result <= 0) { return(new ActionResultReponese <string>(result, "Insert that bai", "Topics")); } return(new ActionResultReponese <string>(result, "Insert thanh cong", "Topics")); }