Exemplo n.º 1
0
        private void cbMaThe_SelectedValueChanged(object sender, EventArgs e)
        {
            //if (e.KeyCode == Keys.Enter)  // nhap xong MATHE
            //{
            //hien thi thong tin qua BANG THONG TIN

            DataTable dttable = Bus_MuonSach.ThongTinDocGia(cbMaThe.SelectedValue.ToString());

            if (dttable.Rows.Count > 0)
            {
                // hien thi qua bang thong tin doc gia

                string hoten      = dttable.Rows[0][1].ToString();
                string ngaysinh   = DateTime.Parse(dttable.Rows[0][3].ToString()).ToShortDateString();
                string loaidocgia = dttable.Rows[0][2].ToString();
                string ngaylapthe = DateTime.Parse(dttable.Rows[0][6].ToString()).ToShortDateString();

                txtHoTen.Text      = hoten;
                txtNgaysinh.Text   = ngaysinh;
                txtLoaiDG.Text     = loaidocgia;
                txtNgaylapthe.Text = ngaylapthe;
            }
            else
            {
                txtHoTen.Text      = "'Mã thẻ không tồn tại'";
                txtNgaysinh.Text   = "'Mã thẻ không tồn tại'";
                txtLoaiDG.Text     = "'Mã thẻ không tồn tại'";
                txtNgaylapthe.Text = "'Mã thẻ không tồn tại'";
            }
            // tính tiền nợ
            tienNo        = Bus_TraSach.LayTienNo(cbMaThe.SelectedValue.ToString());
            lbTongNo.Text = hienThiGiaTri(tienNo.ToString());
            tongNo        = tienNo;
            //// tao lai listResult
            listResult.Items.Clear();

            //load du lieu tu PHIEUMUON len listView

            DataTable dt = Bus_TraSach.ThongTinSachMuon(cbMaThe.SelectedValue.ToString());

            ///data table gom 4 cot: |   MaPM  |   TenSach |   NgayMuon    |   HanTra  |
            if (dt.Rows.Count <= 0)
            {
                ListViewItem item = new ListViewItem("Không có dữ liệu");
                listResult.Items.Add(item);
                ckbChonTatCa.Enabled = false;
            }
            else
            {
                ckbChonTatCa.Enabled = true;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    string   stt      = "";
                    DateTime ngayMuon = DateTime.Parse(dt.Rows[i][3].ToString());
                    DateTime hanTra   = DateTime.Parse(dt.Rows[i][4].ToString());
                    int      tienPhat = 0;
                    soNgayMuon = ngayTra - ngayMuon;

                    if (ngayTra > DateTime.Parse(dt.Rows[i][4].ToString()))  // qua han
                    {
                        soNgayTre = ngayTra - hanTra;
                        stt       = "Quá hạn " + soNgayTre.Days.ToString() + " ngày";
                        tienPhat  = soNgayTre.Days * 1000;
                    }
                    else // chua quá hạn
                    {
                        var soNgayConLai = hanTra - ngayTra;
                        stt = "Còn lại " + soNgayConLai.Days.ToString() + " ngày";
                    }

                    ListViewItem item = new ListViewItem(dt.Rows[i][2].ToString());
                    ListViewItem.ListViewSubItem[] subItem = new ListViewItem.ListViewSubItem[] {
                        new ListViewItem.ListViewSubItem(item, DateTime.Parse(dt.Rows[i][3].ToString()).ToShortDateString()),
                        new ListViewItem.ListViewSubItem(item, DateTime.Parse(dt.Rows[i][4].ToString()).ToShortDateString()),
                        new ListViewItem.ListViewSubItem(item, stt)
                    };

                    item.SubItems.AddRange(subItem);
                    item.Tag = new ThongTinSachMuon(dt.Rows[i][0].ToString(), dt.Rows[i][1].ToString(), tienPhat);
                    listResult.Items.Add(item);
                }
            }
        }
Exemplo n.º 2
0
        private void btnTra_Click(object sender, EventArgs e)
        {
            String maThe = cbMaThe.SelectedValue.ToString();

            if (maThe == "")  /// kiem tra xem user da nhap MaThe hay chua
            {
                MessageBox.Show("Vui lòng nhập mã thẻ");
                return;
            }

            List <ListViewItem> sachCanTra = new List <ListViewItem>();  // danh sach SACH can tra

            string tenSachCanTra = "";

            foreach (ListViewItem item in listResult.Items)
            {
                if (item.Checked)
                {
                    sachCanTra.Add(item);
                }
            }

            if (sachCanTra.Count <= 0)   // kiem tra xem user da check vao sach can duoc tra chua
            {
                MessageBox.Show("Vui lòng chọn sách cần trả");
                return;
            }


            List <string> maSachDuocTra = new List <string>();

            foreach (ListViewItem item in sachCanTra)
            {
                ThongTinSachMuon tts     = (ThongTinSachMuon)item.Tag;
                En_TraSach       traSach = new En_TraSach(maPT, tts.MaPM, soNgayMuon.Days, soNgayTre.Days, tongTienPhat.ToString(), ngayTra);
                Bus_TraSach.TraSach(traSach);

                // update lại tài khoản nợ của đọc giả
                Bus_TraSach.TaiKhoanNo_update(cbMaThe.SelectedValue.ToString(), tongNo.ToString());

                taoMaPT(maPT);
                tenSachCanTra += "\n" + item.Text;
                maSachDuocTra.Add(tts.MaSach);

                // xoa trong listResult
                item.Remove();

                // update lại tổng tiền nợ, tổng tiền phạt
                tongTienPhat    = 0;
                tongNo          = Bus_TraSach.LayTienNo(cbMaThe.SelectedValue.ToString());
                lbTienPhat.Text = hienThiGiaTri(tongTienPhat.ToString());
                lbTongNo.Text   = hienThiGiaTri(tongNo.ToString());
            }
            if (tenSachCanTra != "")
            {
                MessageBox.Show("Đã trả thành công:" + tenSachCanTra);
                ckbChonTatCa.Checked = false;
                /// tang so luong sach duoc tra
                foreach (var masach in maSachDuocTra)
                {
                    Bus_TraSach.Tang_SLSACH(masach);
                }
            }
        }