public override async Task <ResponseEntity> UpdateAsync(dynamic id, BaiTapNopViewModel modelVm)
        {
            try
            {
                List <KeyValuePair <string, dynamic> > columns = new List <KeyValuePair <string, dynamic> >();
                columns.Add(new KeyValuePair <string, dynamic>("Id", id));
                columns.Add(new KeyValuePair <string, dynamic>("MaLopHoc", modelVm.MaLopHoc));
                columns.Add(new KeyValuePair <string, dynamic>("MaBaiTap", modelVm.MaBaiTap));
                columns.Add(new KeyValuePair <string, dynamic>("MaNguoiDung", modelVm.MaNguoiDung));

                BaiTapNop entity = await _baiTapNopRepository.GetSingleByListConditionAsync(columns);

                if (entity == null)
                {
                    return(new ResponseEntity(StatusCodeConstants.BAD_REQUEST, null, "Không tìm thấy tài nguyên!"));
                }

                entity = _mapper.Map <BaiTapNop>(modelVm);
                await _baiTapNopRepository.UpdateAsync(id, entity);

                modelVm = _mapper.Map <BaiTapNopViewModel>(entity);
                return(new ResponseEntity(StatusCodeConstants.OK, modelVm, MessageConstants.UPDATE_SUCCESS));
            }
            catch (Exception ex)
            {
                return(new ResponseEntity(StatusCodeConstants.ERROR_SERVER, ex.Message));
            }
        }
Exemplo n.º 2
0
        private async Task <List <BaiTapViewModel> > GetExerciseActived(List <BaiTapViewModel> dsBaiTap, DateTime ngayBatDau, int classId, string userId)
        {
            List <BaiTapViewModel> dsBaiTapVm = new List <BaiTapViewModel>();

            // KIỂM TRA XEM ĐẾN NGÀY KÍCH HOẠT CHƯA
            int soNgayTuLucKhaiGiang = FuncUtilities.TinhKhoangCachNgay(ngayBatDau);

            if (soNgayTuLucKhaiGiang > 0)
            {
                int soNgayKichHoat = 0;
                List <KeyValuePair <string, dynamic> > columns = null;

                foreach (BaiTapViewModel baiTap in dsBaiTap)
                {
                    soNgayKichHoat += baiTap.SoNgayKichHoat;

                    columns = new List <KeyValuePair <string, dynamic> >();
                    columns.Add(new KeyValuePair <string, dynamic>("MaBaiTap", baiTap.Id));
                    columns.Add(new KeyValuePair <string, dynamic>("MaNguoiDung", userId));
                    columns.Add(new KeyValuePair <string, dynamic>("MaLopHoc", classId));

                    // THÊM BÀI TẬP ĐÃ NỘP VÀO
                    BaiTapNop baiTapNop = await _baiTapNopRepository.GetSingleByListConditionAsync(columns);

                    baiTap.BaiTapNop = _mapper.Map <BaiTapNopViewModel>(baiTapNop);

                    // NẾU TỔNG SỐ NGÀY KÍCH HOẠT NHỎ HƠN SỐ NGÀY TÍNH TỪ LÚC KHAI GIẢNG ĐẾN HÔM NAY
                    if (soNgayKichHoat < soNgayTuLucKhaiGiang)
                    {
                        // HIỂN THỊ CHO HỌC VIÊN NHƯNG BÁO LÀ ĐÃ HẾT HẠN NỘP
                        baiTap.TrangThai = false;
                        dsBaiTapVm.Add(baiTap);
                    }
                    // NẾU TỔNG SỐ NGÀY KÍCH HOẠT BẰNG SỐ NGÀY TÍNH TỪ LÚC KHAI GIẢNG ĐẾN HÔM NAY
                    // HOẶC NẾU LỚN HƠN NHƯNG KHÔNG VƯỢT QUÁ SỐ NGÀY KÍCH HOẠT CỦA BÀI TẬP ĐÓ
                    else if (soNgayKichHoat >= soNgayTuLucKhaiGiang)
                    {
                        // HIỂN THỊ CHO HỌC VIÊN VÀ VẪN CHO NỘP BÀI
                        baiTap.TrangThai = true;
                        dsBaiTapVm.Add(baiTap);
                        break;
                    }
                }
            }
            return(dsBaiTapVm);
        }