Beispiel #1
0
        public bool danhsachPM(List <phieumuonDTO> listPMDTO)
        {
            string query = string.Format("select* from [phieumuon] ");

            SqlParameter[] parm = new SqlParameter[1];
            // ko can thiet nhung phai co
            docgiaDTO dg = new docgiaDTO();

            parm[0]       = new SqlParameter("@masach", SqlDbType.Int);
            parm[0].Value = dg.MaThe;


            DataTable datatable = new DataTable();

            datatable = conn.excuteNonQuery(query, parm);

            //gan value trong datatable vao DTO

            foreach (DataRow dr in datatable.Rows)
            {
                phieumuonDTO pmDTO = new phieumuonDTO();

                pmDTO.Mapm     = int.Parse(dr["mapm"].ToString());
                pmDTO.Ngaymuon = DateTime.Parse(dr["ngaymuon"].ToString());
                pmDTO.Mathe    = int.Parse(dr["mathe"].ToString());


                listPMDTO.Add(pmDTO);
            }


            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);
        }
Beispiel #3
0
        // tu sinh maphieumuon

        ////public int taoMaPM()
        ////{
        ////    int mpm;



        ////    return 1;

        ////}



        // them phieu muon // pm tu tang //ngay muon lon

        public bool themPhieuMuon(phieumuonDTO pmDTO)
        {
            string query = string.Format("insert into [phieumuon] values (@mapm,@ngaymuon,@mathe)");

            SqlParameter[] param = new SqlParameter[3];
            param[0]       = new SqlParameter("@mapm", SqlDbType.Int);
            param[0].Value = Convert.ToString(pmDTO.Mapm);
            param[1]       = new SqlParameter("@ngaymuon", SqlDbType.DateTime);
            param[1].Value = Convert.ToString(pmDTO.Ngaymuon);
            param[2]       = new SqlParameter("@mathe", SqlDbType.Int);
            param[2].Value = Convert.ToString(pmDTO.Mathe);

            conn.excuteNonQuery2(query, param);


            return(true);
        }