public int SoLanMuonSachHienTai(int masach) { giahanDAL giahanDAL = new giahanDAL(); giahanDTO giahanDTO = new giahanDTO(); if (!giahanDAL.laygiahancuasach(masach, giahanDTO)) { BUS_notification.mess = "Không thể lấy số ngày sách đã mượn. Vui lòng kiểm tra Database "; return(-1); } return(giahanDTO.Solangiahan); }
/// <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); }