/// <summary> /// Trả về sanh sách độc giả /// </summary> /// <returns></returns> public List <docgiaDTO> DanhSachDocGia() { List <docgiaDTO> list = new List <docgiaDTO>(); docgiaDAL docgias = new docgiaDAL(); if (docgias.danhsachDG(list)) { return(list); } return(new List <docgiaDTO>()); }
/// <summary> /// Sửa Đọc Giả /// </summary> /// <param name="docgia"></param> /// <returns></returns> public bool SuaDocGia(docgiaDTO docgia) { docgiaDAL dgDAL = new docgiaDAL(); if (dgDAL.isDocGia(docgia.MaThe)) { return(dgDAL.suaDocGia(docgia, docgia.MaThe)); } BUS_notification.mess = "Không tồn tại mã thẻ"; return(false); }
/// <summary> /// Thêm đọc giả /// </summary> /// <param name="docgia"></param> /// <returns></returns> public bool ThemDocGia(docgiaDTO docgia) { docgiaDAL dgDAL = new docgiaDAL(); if (dgDAL.isDocGia(docgia.MaThe)) { BUS_notification.mess = "Đã tạo thẻ với số CMND này. Vui lòng chọn số CMND khác"; return(false); } return(dgDAL.themDocGia(docgia)); }
/// <summary> /// M thêm code vô đây /// , rep :ok gái /// </summary> /// <param name="docgia"></param> /// <returns></returns> public bool XoaDocGia(docgiaDTO docgia) { docgiaDAL doxgiaDAL = new docgiaDAL(); if (!doxgiaDAL.isDocGia(docgia.MaThe)) { BUS_notification.mess = "Không tồn tại mã thẻ"; return(false); } return(doxgiaDAL.xoaDocGia(docgia.MaThe)); }
/// Danh sách các tựa sách mà đọc giả đang lượng /// </summary> /// <param name="docgia"></param> /// <returns></returns> public List <sachDTO> DanhSachDocGiaDangMuon(docgiaDTO docgia, List <DateTime> listngaymuon) { docgiaDAL docGiaDAL = new docgiaDAL(); sachDAL saxDAL = new sachDAL(); List <sachDTO> listsach = new List <sachDTO>(); //List<DateTime> listngaymuon = new List<DateTime>(); if (!docGiaDAL.isDocGia(docgia.MaThe)) { BUS_notification.mess = "Không tồn tại đọc giả"; return(new List <sachDTO>()); } if (!saxDAL.SachDangMuon(docgia.MaThe, listsach, listngaymuon)) { return(new List <sachDTO>()); } return(listsach); }
/// <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); }
/// <summary> /// Tìm đọc giả theo tên và số cmnd /// </summary> /// <param name="cmnd"> Mã số cmnd </param> /// <param name="name"> Họ tên bạn đọc </param> /// <returns></returns> public List <docgiaDTO> TimDocGia(string cmnd, string name) { //cmnd = cmnd.Replace(" ", ""); if (cmnd == null) { cmnd = ""; } if (name == null) { name = ""; } List <docgiaDTO> result = new List <docgiaDTO>(); List <docgiaDTO> danhsach = this.DanhSachDocGia(); docgiaDAL docgiaDAL = new docgiaDAL(); if (cmnd != "") { if (docgiaDAL.isDocGia(int.Parse(cmnd))) { foreach (docgiaDTO dg in danhsach) { if (dg.MaThe == int.Parse(cmnd)) { result.Add(dg); return(result); } } } else { foreach (docgiaDTO dg in danhsach) { if (Levenshtein_Distance.Distance(dg.MaThe.ToString(), cmnd) <= (MAX_LEVENSTEIN_DISTANCE / 2)) { if (result.IndexOf(dg) == -1) { result.Add(dg); } } } } } if (name != "") { List <ResultItem> item = new List <ResultItem>(); foreach (docgiaDTO dg in danhsach) { int check = TimKiemBUS.CheckisAvaiable(name, dg.HoTen); if (check != -1) { ResultItem rItem; rItem.mark = check; rItem.docgia = dg; item.Add(rItem); } } item.Sort((s1, s2) => s1.mark.CompareTo(s2.mark)); foreach (ResultItem i in item) { result.Add(i.docgia); } } return(result); }