public override async Task <ResponseEntity> GetSingleByIdAsync(dynamic id) { try { KhoaHoc khoaHoc = await _khoaHocRepository.GetSingleByIdAsync(id); var khoaHocVm = _mapper.Map <ThongTinKhoaHocViewModel>(khoaHoc); var chuongHocs = (await _chuongHocRepository.GetMultiByIdAsync(khoaHocVm.DanhSachChuongHoc)); var chuongHocVms = _mapper.Map <List <ThongTinChuongHocViewModel> >(chuongHocs); foreach (ThongTinChuongHocViewModel chuongHoc in chuongHocVms) { // Lấy danh sách bài học thuộc chương học ( Sử dụng danh sách id bài học lưu trong chương học) var baiHocs = (await _baiHocRepository.GetMultiByIdAsync(chuongHoc.DanhSachBaiHoc)); List <BaiHocViewModel> baiHocVms = _mapper.Map <List <BaiHocViewModel> >(baiHocs); chuongHoc.ThongTinBaiHoc = baiHocVms; } khoaHocVm.ThongTinChuongHoc = chuongHocVms; return(new ResponseEntity(StatusCodeConstants.OK, khoaHocVm)); } catch (Exception ex) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message)); } }
public override async Task <ResponseEntity> DeleteByIdAsync(List <dynamic> listId) { try { IEnumerable <ChuongHoc> dsChuongHoc = await _chuongHocRepository.GetMultiByIdAsync(listId); if (await _chuongHocRepository.DeleteByIdAsync(listId) == 0) { return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, listId, MessageConstants.DELETE_ERROR)); } // Xóa id khỏi danh sách chương học của khóa học foreach (ChuongHoc chuongHoc in dsChuongHoc) { KhoaHoc khoaHoc = await _khoaHocRepository.GetSingleByIdAsync(chuongHoc.MaKhoaHoc); KhoaHocViewModel khoaHocVm = _mapper.Map <KhoaHocViewModel>(khoaHoc); khoaHocVm.DanhSachChuongHoc.RemoveAll(x => x == chuongHoc.Id); khoaHoc = _mapper.Map <KhoaHoc>(khoaHocVm); if (khoaHocVm.DanhSachChuongHoc.Count == 0) { khoaHoc.DanhSachChuongHoc = ""; } await _khoaHocRepository.UpdateAsync(khoaHoc.Id, khoaHoc); } return(new ResponseEntity(StatusCodeConstants.OK, listId, MessageConstants.DELETE_SUCCESS)); } catch (Exception ex) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message)); } }
public async Task <ResponseEntity> GetInfoByIdAsync(dynamic id) { try { KhoaHoc khoaHoc = await _khoaHocRepository.GetSingleByIdAsync(id); var khoaHocVm = _mapper.Map <ThongTinKhoaHocViewModel>(khoaHoc); var chuongHocs = (await _chuongHocRepository.GetMultiByIdAsync(khoaHocVm.DanhSachChuongHoc)); var chuongHocVms = _mapper.Map <List <ThongTinChuongHocViewModel> >(chuongHocs); foreach (ThongTinChuongHocViewModel chuongHoc in chuongHocVms) { // Lấy danh sách bài học thuộc chương học ( Sử dụng danh sách id bài học lưu trong chương học) var baiHocs = (await _baiHocRepository.GetMultiByIdAsync(chuongHoc.DanhSachBaiHoc)); var baiHocVms = _mapper.Map <List <BaiHocViewModel> >(baiHocs); // SẮP XẾP BÀI HỌC List <BaiHocViewModel> dsBaiHoc = new List <BaiHocViewModel>(); chuongHoc.DanhSachBaiHoc.ForEach(maBaiHoc => { dsBaiHoc.Add(baiHocVms.FirstOrDefault(x => x.Id == maBaiHoc)); }); chuongHoc.ThongTinBaiHoc = dsBaiHoc; } // SẮP XẾP CHƯƠNG HỌC List <ThongTinChuongHocViewModel> dsChuongHoc = new List <ThongTinChuongHocViewModel>(); khoaHocVm.DanhSachChuongHoc.ForEach(maChuongHoc => { dsChuongHoc.Add(chuongHocVms.FirstOrDefault(x => x.Id == maChuongHoc)); }); khoaHocVm.ThongTinChuongHoc = dsChuongHoc; return(new ResponseEntity(StatusCodeConstants.OK, khoaHocVm)); } catch (Exception ex) { return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message)); } }