Ejemplo n.º 1
0
        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));
            }
        }
Ejemplo n.º 2
0
        public async Task <ResponseEntity> AddLessonToChapterAsync(dynamic id, BaiHocViewModel modelVm)
        {
            try
            {
                ChuongHoc chuongHoc = await _chuongHocRepository.GetSingleByIdAsync(id);

                if (chuongHoc == null)
                {
                    return(new ResponseEntity(StatusCodeConstants.NOT_FOUND));
                }

                // Thêm mới bài học
                BaiHoc baiHoc = _mapper.Map <BaiHoc>(modelVm);
                baiHoc = await _baiHocRepository.InsertAsync(baiHoc);

                if (baiHoc == null) // Nếu thêm mới thất bại
                {
                    return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.INSERT_ERROR));
                }

                var chuongHocVm = _mapper.Map <ChuongHocViewModel>(chuongHoc);
                chuongHocVm.DanhSachBaiHoc.Add(baiHoc.Id);

                // Cập nhật lại danh sách bài của chương học
                chuongHoc = _mapper.Map <ChuongHoc>(chuongHocVm);
                if ((await _chuongHocRepository.UpdateAsync(id, chuongHoc)) == null)
                {
                    return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, modelVm, MessageConstants.INSERT_ERROR));
                }

                modelVm.Id = baiHoc.Id;
                return(new ResponseEntity(StatusCodeConstants.OK, modelVm, MessageConstants.INSERT_SUCCESS));
            }
            catch (Exception ex)
            {
                return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message));
            }
        }