public override async Task <ResponseEntity> DeleteByIdAsync(List <dynamic> listId) { try { IEnumerable <BaiHoc> dsBaiHoc = await _baiHocRepository.GetMultiByIdAsync(listId); if (await _baiHocRepository.DeleteByIdAsync(listId) == 0) { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, listId, MessageConstants.DELETE_ERROR)); } // Xóa id khỏi danh sách bài học của chương học foreach (BaiHoc baiHoc in dsBaiHoc) { ChuongHoc chuongHoc = await _chuongHocRepository.GetSingleByIdAsync(baiHoc.MaChuongHoc); ChuongHocViewModel chuongHocVm = _mapper.Map <ChuongHocViewModel>(chuongHoc); chuongHocVm.DanhSachBaiHoc.RemoveAll(x => x == baiHoc.Id); chuongHoc = _mapper.Map <ChuongHoc>(chuongHocVm); if (chuongHocVm.DanhSachBaiHoc.Count == 0) { chuongHoc.DanhSachBaiHoc = ""; } await _chuongHocRepository.UpdateAsync(chuongHoc.Id, chuongHoc); } return(new ResponseEntity(StatusCodeConstants.OK, listId, MessageConstants.DELETE_SUCCESS)); } catch (Exception ex) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message)); } }
public async Task <ResponseEntity> AddChapterToCourseAsync(dynamic id, ChuongHocViewModel modelVm) { try { KhoaHoc khoaHoc = await _khoaHocRepository.GetSingleByIdAsync(id); if (khoaHoc == null) { return(new ResponseEntity(StatusCodeConstants.NOT_FOUND)); } // Kiểm tra xem tên có bị trùng không //if (await _chuongHocRepository.CheckValidByConditionAsync("TenChuong", modelVm.TenChuong)) // return new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, "Tên đã được sử dụng!"); // Thêm mới chương học ChuongHoc chuongHoc = _mapper.Map <ChuongHoc>(modelVm); chuongHoc = await _chuongHocRepository.InsertAsync(chuongHoc); if (chuongHoc == null) // Nếu thêm mới thất bại { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.INSERT_ERROR)); } var khoaHocVm = _mapper.Map <KhoaHocViewModel>(khoaHoc); khoaHocVm.DanhSachChuongHoc.Add(chuongHoc.Id); // Cập nhật lại danh sách chương của khóa học khoaHoc = _mapper.Map <KhoaHoc>(khoaHocVm); if ((await _khoaHocRepository.UpdateAsync(id, khoaHoc)) == null) { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.INSERT_ERROR)); } var thongTinChuongHocVm = _mapper.Map <ThongTinChuongHocViewModel>(chuongHoc); return(new ResponseEntity(StatusCodeConstants.OK, thongTinChuongHocVm, MessageConstants.INSERT_SUCCESS)); } catch (Exception ex) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message)); } }