public bool GiaHan(int masach) { giahanDAL giahanDAL = new giahanDAL(); quydinhDAL quydinhDAL = new quydinhDAL(); giahanDTO giahanDTO = new giahanDTO(); quydinhDTO quydinhDTO = new quydinhDTO(); quydinhDTO list = new quydinhDTO(); quydinhDAL.listquydinh(list); //kiểm tra điều kiện int solangiahan = SoLanMuonSachHienTai(masach); if (solangiahan == -1) { //đã mess return(false); } if (solangiahan == 2) { BUS_notification.mess = "Đã quá số lần gia hạn cho phép"; return(false); } solangiahan++; giahanDTO.Solangiahan = solangiahan; giahanDTO.Masach = masach; //update số ngày cho phép mượn giahanDAL.sualangiahan(giahanDTO.Masach, giahanDTO); return(true); }
/// <summary> /// Mượn sách /// </summary> /// <param name="bandoc">bạn đọc mượn</param> /// <param name="sachs">danh sách sách mượn , thông tin đúng </param> /// <returns></returns> public bool MuonSach(docgiaDTO bandoc, List <sachDTO> sachs) { sachDAL sachDAL = new sachDAL(); quydinhDAL quyDinhDAL = new quydinhDAL(); phieumuonDAL phieuMuonDAL = new phieumuonDAL(); ctpmDAL chiTietPhieuMuonDAL = new ctpmDAL(); List <sachDTO> cacSachdangmuon = new List <sachDTO>(); quydinhDTO cacQuyDinh = new quydinhDTO(); List <phieumuonDTO> danhsachphieuMuon = new List <phieumuonDTO>(); List <DateTime> danhsachngaymuon = new List <DateTime>(); sachDAL.SachDangMuon(bandoc.MaThe, cacSachdangmuon, danhsachngaymuon); quyDinhDAL.listquydinh(cacQuyDinh); phieuMuonDAL.danhsachPM(danhsachphieuMuon); //kiểm tra số luọng sách mươn if (cacSachdangmuon.Count + sachs.Count > cacQuyDinh.Sosachduocmuon) { BUS_notification.mess = "Không thể mượn sách vượt quá số lượng cho phép"; return(false); } //thêm phiếu mượn phieumuonDTO phieumuonDTO = new phieumuonDTO(); phieumuonDTO.Mapm = danhsachphieuMuon.Count + 1; phieumuonDTO.Mathe = bandoc.MaThe; phieumuonDTO.Ngaymuon = DateTime.Now; if (!phieuMuonDAL.themPhieuMuon(phieumuonDTO)) { BUS_notification.mess = "Không thể thêm phiếu mượn"; return(false); } //thêm chi tiết phiếu mượn foreach (sachDTO sach in sachs) { ctpmDTO ctpm = new ctpmDTO(); ctpm.Mapm = phieumuonDTO.Mapm; ctpm.Masach = sach.Masach; if (!chiTietPhieuMuonDAL.themCTPM(ctpm)) { BUS_notification.mess = "Có sự cố trong khi mượn sách " + sach.Tensach; return(false); } else { QuanLiSachBUS sachBUS = new QuanLiSachBUS(); sachBUS.MuonSach(sach); } //thêm vao bang gia han cho sach GiaHanSachBUS ghsax = new GiaHanSachBUS(); ghsax.TaoSoLanmuonsach(sach.Masach); } return(true); }
public bool SuaQuyDinh(quydinhDTO qdDTO) { try { quydinhDAL quydinhDAL = new quydinhDAL(); return(quydinhDAL.suaQuyDinh(qdDTO)); } catch { return(false); } }
/// <summary> /// Thêm sách mới /// </summary> /// <param name="sDTO"></param> /// <returns></returns> public bool ThemSach(sachDTO sDTO) { sachDAL saxDal = new sachDAL(); //kiểm tra các điều kiện if (saxDal.isSach(sDTO.Masach)) { return(false); } quydinhDAL quydinh = new quydinhDAL(); quydinhDTO listquydinh = new quydinhDTO(); if (!quydinh.listquydinh(listquydinh)) { return(false); } System.DateTime date = DateTime.Now; int curyear = date.Year; if (curyear - sDTO.Ngayxb.Year > listquydinh.Kcnamxuatban) { return(false); } //tạo List <sachDTO> list = new List <sachDTO>(); if (!saxDal.tatcaSach(list)) { return(false); } // sDTO.Masach = list.Count + 1; sDTO.Trangthai = 1; return(saxDal.themSach(sDTO)); }
/// <summary> /// Trả sách /// </summary> /// <param name="bandoc">Mã bạn đọc </param> /// <param name="sachs">danh sách các bạn đọc </param> /// <returns></returns> public List <ctptDTO> TraSach(docgiaDTO bandoc, List <sachDTO> sachtra) { docgiaDAL banDocDAL = new docgiaDAL(); sachDAL sachDAL = new sachDAL(); quydinhDAL quyDinhDAL = new quydinhDAL(); phieutraDAL phieutraDAL = new phieutraDAL(); ctptDAL ctptDAL = new ctptDAL(); giahanDAL giaHanDAL = new giahanDAL(); List <sachDTO> sachdangmuon = new List <sachDTO>(); List <DateTime> danhsachngaymuonsach = new List <DateTime>(); List <phieutraDTO> danhsachphieutra = new List <phieutraDTO>(); List <ctptDTO> danhsachchitietphieutra = new List <ctptDTO>(); quydinhDTO danhsachquydinh = new quydinhDTO(); quydinhDTO quydinh = new quydinhDTO(); quyDinhDAL.listquydinh(danhsachquydinh); quydinh = danhsachquydinh; sachDAL.SachDangMuon(bandoc.MaThe, sachdangmuon, danhsachngaymuonsach); phieutraDAL.danhsachPhieuTra(danhsachphieutra); //Thêm phiếu trả phieutraDTO phieutra = new phieutraDTO(); phieutra.Mapt = danhsachphieutra.Count + 1; phieutra.Mathe = bandoc.MaThe; phieutra.Ngaytra = DateTime.Now; phieutra.Tienphatkinay = 0; phieutraDAL.themPhieuTra(phieutra); int tienphatkinay = 0; foreach (sachDTO saxtra in sachtra) { giahanDTO giaHanDTO = new giahanDTO(); giaHanDAL.laygiahancuasach(saxtra.Masach, giaHanDTO); // kiễm tra quá hạn , tính tiền phạt khi trễ, mất sách DateTime ngaymuonsach = LayDatetimeDcMuonCuaSach(saxtra.Masach, sachdangmuon, danhsachngaymuonsach); int songaydamuon = SoNgayMuon(ngaymuonsach, DateTime.Now); int tienphatsachnay = 0; if (saxtra.Trangthai == (int)TrangThaiSach.DaMat) { tienphatsachnay = saxtra.Giatri; } if (songaydamuon > quydinh.Songayduocmuon + giaHanDTO.Solangiahan * 7) { tienphatsachnay = (songaydamuon - (quydinh.Songayduocmuon + giaHanDTO.Solangiahan * 7)) * quydinh.Tienphattrasachtremoingay; } tienphatkinay += tienphatsachnay; //thêm chi tiết phiếu trả ctptDTO ctptra = new ctptDTO(); ctptra.Mapt = phieutra.Mapt; ctptra.Masach = saxtra.Masach; ctptra.Songaydamuon = songaydamuon; ctptra.Tienphatsach = tienphatsachnay; ctptDAL.themCTPT(ctptra); danhsachchitietphieutra.Add(ctptra); //quẳng sách lại zô kho QuanLiSachBUS qlsachBUS = new QuanLiSachBUS(); if (saxtra.Trangthai != (int)TrangThaiSach.DaMat) { qlsachBUS.Travekho(saxtra); } else { qlsachBUS.MatSach(saxtra); } //xóa ngày cho phép giữ sách GiaHanSachBUS ghsax = new GiaHanSachBUS(); ghsax.XoaSoLanMuonSach(saxtra.Masach); } //sửa thông tin phiếu trả phieutra.Tienphatkinay = tienphatkinay; phieutraDAL.suaPhieuTra(phieutra); //thêm nợ vào bạn đọc bandoc.Tongtienno += tienphatkinay; banDocDAL.suaDocGia(bandoc, bandoc.MaThe); return(danhsachchitietphieutra); }