Beispiel #1
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult xoa = MessageBox.Show("Đồng ý xóa?", "Cảnh báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (xoa == DialogResult.Yes)
            {
                try
                {
                    var context = new Dtb_NhaSachContext();
                    var delete  = new Sach()
                    {
                        //Stt = int.Parse(this.dgvBook.CurrentRow.Cells[0].Value.ToString().Trim()),
                        MaSach = this.dgvBook.CurrentRow.Cells[1].Value.ToString().Trim(),
                    };
                    context.Remove <Sach>(delete);
                    context.SaveChanges();

                    refreshControl();
                    sapXep();
                    loadDgvBook();
                    MessageBox.Show("Xóa thành công!!!!");
                }
                catch
                {
                    MessageBox.Show("đã xảy ra lỗi. vui lòng thử lại!");
                    return;
                }
            }
        }
Beispiel #2
0
        public void addTblCthd()
        {
            var context = new Dtb_NhaSachContext();

            for (int i = 0; i < this.dgv1.Rows.Count - 1; i++)
            {
                var maSach = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                             .Select(s => s.MaSach).FirstOrDefault();

                var getSohd = context.Hoadons.Select(s => s.SoHd).Max();

                var cthd = new Chitiethoadon()
                {
                    MaSach     = maSach.Trim(),
                    SoHd       = getSohd,
                    SoLuongBan = int.Parse(this.dgv1.Rows[i].Cells[2].Value.ToString().Trim()),
                    ThanhTien  = double.Parse(this.dgv1.Rows[i].Cells[5].Value.ToString().Trim()),
                    GiamGia    = double.Parse(this.dgv1.Rows[i].Cells[4].Value.ToString().Trim()),
                    GiaSauGiam = double.Parse(this.dgv1.Rows[i].Cells[6].Value.ToString().Trim()),
                    DonGia     = double.Parse(this.dgv1.Rows[i].Cells[3].Value.ToString().Trim()),
                };
                context.Chitiethoadons.Add(cthd);
                context.SaveChanges();
            }
        }
Beispiel #3
0
        public void addTblHD()
        {
            var context = new Dtb_NhaSachContext();

            var maNv = context.Nhanviens.Where(s => s.TenNv.Trim() == this.cbbTenNv.Text.Trim())
                       .Select(s => new { s.MaNv }).FirstOrDefault().MaNv.Trim();
            var getSohd = context.Hoadons.Select(s => s.SoHd).Max();


            var getMatv = context.Thanhviens.Where(s => s.TenTv.Trim() == this.txtTenKh.Text.Trim())
                          .Select(s => s.MaTv).FirstOrDefault();

            var addHd = new Hoadon()
            {
                SoHd     = getSohd + 1,
                MaNv     = maNv,
                NgayBan  = DateTime.Now,
                TenKh    = this.txtTenKh.Text.Trim(),
                MaTv     = getMatv,
                TongTien = double.Parse(this.txtTongCong.Text.Trim()),
            };

            context.Hoadons.Add(addHd);
            context.SaveChanges();
        }
Beispiel #4
0
        public void trungSach()
        {
            if (this.dgv1.Rows.Count > 1)
            {
                for (int i = 0; i < this.dgv1.Rows.Count - 1; i++)
                {
                    if (this.cbbTenSach.Text.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                    {
                        DialogResult congDon = MessageBox.Show("Sách đã có trong hóa đơn bạn có muốn thay thế?", "Chú ý"
                                                               , MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                        if (congDon == DialogResult.Yes)
                        {
                            var    context = new Dtb_NhaSachContext();
                            double donGia  = context.Saches.Where(s => s.TenSach.Trim() == this.cbbTenSach.Text.Trim())
                                             .Select(s => s.GiaBan).FirstOrDefault();
                            double giamGia = double.Parse(this.txtGiamGia.Text.Trim());

                            double thanhTien = donGia * int.Parse(this.txtSoLuong.Text.Trim());

                            double giaSaugiam = thanhTien - thanhTien * giamGia / 100;
                            this.dgv1.Rows[i].Cells[2].Value = this.txtSoLuong.Text.Trim();
                            this.dgv1.Rows[i].Cells[4].Value = this.txtGiamGia.Text.Trim();
                            this.dgv1.Rows[i].Cells[5].Value = thanhTien;
                            this.dgv1.Rows[i].Cells[6].Value = giaSaugiam;
                            return;
                        }
                    }
                }
                addRow();
            }
            else
            {
                addRow();
            }
        }
Beispiel #5
0
        private void btnSuaThongTin_Click(object sender, EventArgs e)
        {
            var context = new Dtb_NhaSachContext();

            this.dgv1.CurrentRow.Cells[1].Value = this.cbbTenSach.Text.Trim();
            this.dgv1.CurrentRow.Cells[2].Value = this.txtSoLuong.Text.Trim();

            double donGia = context.Saches.Where(s => s.TenSach.Trim() == this.cbbTenSach.Text.Trim())
                            .Select(s => s.GiaBan).FirstOrDefault();

            this.dgv1.CurrentRow.Cells[3].Value = donGia;

            this.dgv1.CurrentRow.Cells[4].Value = this.txtGiamGia.Text.Trim();

            double giamGia = double.Parse(this.txtGiamGia.Text.Trim());

            double thanhTien = donGia * int.Parse(this.txtSoLuong.Text.Trim());

            double giaSaugiam = thanhTien - thanhTien * giamGia / 100;

            this.dgv1.CurrentRow.Cells[5].Value = thanhTien;
            this.dgv1.CurrentRow.Cells[6].Value = giaSaugiam;

            this.btnXoaSach.Enabled     = false;
            this.btnSuaThongTin.Enabled = false;
            this.btnThemSach.Enabled    = true;
            refreshGroupB1();
            tinhTien();
        }
Beispiel #6
0
        private void loadDgvBook()
        {
            var context = new Dtb_NhaSachContext();

            #region load ds bằng linq
            var book = context.Saches
                       .Join(context.Nxbs,
                             s => s.MaNxb.Trim(),
                             n => n.MaNxb.Trim(),
                             (s, n) =>
                             new
            {
                Stt     = s.Stt,
                MaSach  = s.MaSach,
                TenSach = s.TenSach,
                TenNxb  = n.TenNxb,
                MaTl    = s.MaTl,
                MaTg    = s.MaTg,
                SoLuong = s.SoLuong,
                GiaBan  = s.GiaBan
            })
                       .Join(context.Theloais,
                             s => s.MaTl.Trim(),
                             t => t.MaTl.Trim(),
                             (s, t) =>
                             new
            {
                Stt     = s.Stt,
                MaSach  = s.MaSach,
                TenSach = s.TenSach,
                TenTl   = t.TenTl,
                TenNxb  = s.TenNxb,
                MaTg    = s.MaTg,
                SoLuong = s.SoLuong,
                GiaBan  = s.GiaBan
            })
                       .Join(context.Tacgia,
                             s => s.MaTg.Trim(),
                             tg => tg.MaTg.Trim(),
                             (s, tg) =>
                             new
            {
                Stt     = s.Stt,
                MaSach  = s.MaSach,
                TenSach = s.TenSach,
                TenTl   = s.TenTl,
                TenNxb  = s.TenNxb,
                TenTg   = tg.TenTg,
                SoLuong = s.SoLuong,
                GiaBan  = s.GiaBan
            }).OrderBy(s => s.Stt).ToList();
            this.dgvBook.DataSource = null;
            this.dgvBook.DataSource = book;

            #endregion
            customDgv();
        }
Beispiel #7
0
        public void loadcbb()
        {
            var context = new Dtb_NhaSachContext();

            this.cbbTenSach.DataSource     = context.Saches.Select(s => s.TenSach.Trim()).ToList();
            this.cbbTenSach.Text           = null;
            this.cbbTimKiemCthd.DataSource = context.Hoadons.Select(s => s.SoHd).ToList();
            this.cbbTimKiemCthd.Text       = null;
            this.cbbTenNv.DataSource       = context.Nhanviens.Select(s => s.TenNv.Trim()).ToList();
            this.cbbTenNv.Text             = null;
        }
Beispiel #8
0
        public void delCthd()
        {
            var context = new Dtb_NhaSachContext();
            var list    = context.Chitiethoadons.Where(s => s.SoHd == int.Parse(this.txtMahd.Text.Trim())).ToList();

            foreach (var item in list)
            {
                context.Remove <Chitiethoadon>(item);
                context.SaveChanges();
            }
        }
Beispiel #9
0
        public void delHd()
        {
            var context = new Dtb_NhaSachContext();
            var hd      = new Hoadon()
            {
                SoHd = int.Parse(this.txtMahd.Text.Trim()),
            };

            context.Remove <Hoadon>(hd);
            context.SaveChanges();
        }
Beispiel #10
0
        public void loadThongTinChung()
        {
            var context = new Dtb_NhaSachContext();

            var hd = context.Hoadons.Where(s => s.SoHd == int.Parse(this.cbbTimKiemCthd.Text.Trim())).FirstOrDefault();

            this.txtMahd.Text          = this.cbbTimKiemCthd.Text.Trim();
            this.dateTimePicker1.Value = DateTime.Parse(hd.NgayBan.ToString().Trim());
            this.txtTenKh.Text         = hd.TenKh.Trim();
            this.cbbTenNv.Text         = context.Nhanviens.Where(s => s.MaNv.Trim() == hd.MaNv.Trim())
                                         .Select(s => s.TenNv).FirstOrDefault().ToString().Trim();
        }
Beispiel #11
0
        public void loadCbb()
        {
            var context = new Dtb_NhaSachContext();

            this.cbbMs.DataSource  = context.Saches.Select(s => s.MaSach.Trim()).ToList();
            this.cbbMs.Text        = null;
            this.cbbMtg.DataSource = context.Tacgia.Select(t => t.TenTg.Trim()).ToList();
            this.cbbMtg.Text       = null;
            this.cbbMtl.DataSource = context.Theloais.Select(t => t.TenTl.Trim()).ToList();
            this.cbbMtl.Text       = null;
            this.cbbnxb.DataSource = context.Nxbs.Select(n => n.TenNxb.Trim()).ToList();
            this.cbbnxb.Text       = null;
        }
Beispiel #12
0
        public void loadMember()
        {
            var context = new Dtb_NhaSachContext();
            var member  = context.Thanhviens
                          .Where(m => m.MaTv == m.MaTv)
                          .ToList();

            this.dgvMember.DataSource = member;

            this.dgvMember.Columns["MaTv"].HeaderText        = "Mã thành viên";
            this.dgvMember.Columns["TenTv"].HeaderText       = "Tên";
            this.dgvMember.Columns["NgaySinh"].HeaderText    = "Ngày sinh";
            this.dgvMember.Columns["Sdt"].HeaderText         = "Số điện thoại";
            this.dgvMember.Columns["DiaChi"].HeaderText      = "Địa chỉ";
            this.dgvMember.Columns["DiemTichLuy"].HeaderText = "Điểm tích lũy";
        }
Beispiel #13
0
        private void btnSua_Click(object sender, EventArgs e)
        {
            if (loiNhap() == true)
            {
                return;
            }

            var context = new Dtb_NhaSachContext();

            if (this.txtManv.Text.Trim() != this.dgvEmploy.CurrentRow.Cells[0].Value.ToString().Trim())
            {
                var cEmploy = context.Nhanviens
                              .Where(s => s.MaNv.Trim() == this.txtManv.Text.Trim())
                              .Select(s => s.MaNv).ToList();
                if (cEmploy.Count > 0)
                {
                    this.errEmploy.SetError(this.txtManv, "Mã nhân viên không được trùng");
                    return;
                }
                else
                {
                    this.errEmploy.SetError(this.txtManv, null);
                }
            }

            try
            {
                var edit = new Nhanvien()
                {
                    MaNv = this.txtManv.Text.Trim(),
                };
                edit.TenNv  = this.txtTenNv.Text.Trim();
                edit.NgSinh = this.dtpNgaySinh.Value;
                edit.DiaChi = this.txtDiaChi.Text.Trim();
                edit.Luong  = int.Parse(this.txtLuong.Text.Trim());
                edit.Sdt    = this.txtSdt.Text.Trim();
                context.Update <Nhanvien>(edit);
                context.SaveChanges();
                refreshControl();
                loadEmploy();
            }
            catch
            {
                MessageBox.Show("Đã xảy ra lỗi. Vui lòng thử lại!");
                return;
            }
        }
Beispiel #14
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult xoa = MessageBox.Show("Đồng ý xóa?", "Cảnh báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            if (xoa == DialogResult.Yes)
            {
                var context = new Dtb_NhaSachContext();
                var delete  = new Thanhvien()
                {
                    MaTv = int.Parse(this.dgvMember.CurrentRow.Cells[0].Value.ToString().Trim()),
                };
                context.Remove <Thanhvien>(delete);
                context.SaveChanges();
                refreshControl();
                loadMember();
            }
        }
Beispiel #15
0
        private void login()
        {
            var context  = new Dtb_NhaSachContext();
            var taikhoan = new SqlParameter("@p0", this.txtTaiKhoan.Text);
            var matkhau  = new SqlParameter("@p1", this.txtMatKhau.Text);
            var dangNhap = context.Taikhoans.FromSqlRaw("dangnhap @p0,@p1", taikhoan, matkhau).ToList();

            if (dangNhap.Count == 1)
            {
                this.Hide();
                frmMain formMain = new frmMain();
                formMain.ShowDialog();
            }
            else
            {
                MessageBox.Show("Tài khoản hoặc mật khẩu không chính xác");
            }
        }
Beispiel #16
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            if (loiNhap() == true)
            {
                return;
            }
            var context = new Dtb_NhaSachContext();
            var cEmploy = context.Nhanviens
                          .Where(s => s.MaNv.Trim() == this.txtManv.Text.Trim())
                          .Select(s => s.MaNv).ToList();

            if (cEmploy.Count > 0)
            {
                this.errEmploy.SetError(this.txtManv, "Mã nhân viên không được trùng");
                return;
            }
            else
            {
                this.errEmploy.SetError(this.txtManv, null);
            }

            try
            {
                int i  = this.dgvEmploy.Rows.Count;
                var nv = new Nhanvien()
                {
                    MaNv   = this.txtManv.Text.Trim(),
                    TenNv  = this.txtTenNv.Text.Trim(),
                    Sdt    = this.txtSdt.Text.Trim(),
                    NgSinh = this.dtpNgaySinh.Value,
                    DiaChi = this.txtDiaChi.Text.Trim(),
                    Luong  = int.Parse(this.txtLuong.Text.Trim()),
                };
                context.Nhanviens.Add(nv);
                context.SaveChanges();
                refreshControl();
                loadEmploy();
            }
            catch
            {
                MessageBox.Show("Đã xảy ra lỗi. Vui lòng thử lại!");
                return;
            }
        }
Beispiel #17
0
        private void loadEmploy()
        {
            var context = new Dtb_NhaSachContext();
            var employ  = context.Nhanviens
                          .Where(n => n.MaNv == n.MaNv)
                          .Select(n => new
            {
                n.MaNv, n.TenNv, n.NgSinh, n.DiaChi, n.Sdt, n.Luong
            })
                          .ToList();

            this.dgvEmploy.DataSource = employ;

            this.dgvEmploy.Columns["MaNv"].HeaderText   = "Mã nhân viên";
            this.dgvEmploy.Columns["TenNv"].HeaderText  = "Tên";
            this.dgvEmploy.Columns["NgSinh"].HeaderText = "Ngày sinh";
            this.dgvEmploy.Columns["DiaChi"].HeaderText = "Địa chỉ";
            this.dgvEmploy.Columns["Sdt"].HeaderText    = "Số điện thoại";
            this.dgvEmploy.Columns["Luong"].HeaderText  = "Lương";
        }
Beispiel #18
0
        public void addRow()
        {
            var context = new Dtb_NhaSachContext();

            int stt = this.dgv1.Rows.Count;

            string tenSach = this.cbbTenSach.Text.Trim();

            int soLuong = int.Parse(this.txtSoLuong.Text.Trim());

            double donGia = context.Saches.Where(s => s.TenSach.Trim() == this.cbbTenSach.Text.Trim())
                            .Select(s => s.GiaBan).FirstOrDefault();

            double giamGia = double.Parse(this.txtGiamGia.Text.Trim());

            double thanhTien = donGia * soLuong;

            double giaSaugiam = thanhTien - thanhTien * giamGia / 100;

            this.dgv1.Rows.Add(stt, tenSach, soLuong, donGia, giamGia, thanhTien, giaSaugiam);
        }
Beispiel #19
0
        private void LoadDtgv()
        {
            var context  = new Dtb_NhaSachContext();
            var showData = context.Hoadons
                           .Where(h => h.SoHd == h.SoHd)
                           .Select(h => new
            {
                h.SoHd, h.MaNv, h.NgayBan, h.TenKh, h.MaTv, h.TongTien
            })
                           .ToList();

            this.dgvListBill.DataSource = showData;

            //Chỉnh tên cột
            this.dgvListBill.Columns["SoHd"].HeaderText     = "Mã hóa đơn";
            this.dgvListBill.Columns["Manv"].HeaderText     = "Mã nhân viên";
            this.dgvListBill.Columns["NgayBan"].HeaderText  = "Ngày bán";
            this.dgvListBill.Columns["TenKh"].HeaderText    = "Tên khách hàng";
            this.dgvListBill.Columns["MaTv"].HeaderText     = "Mã thành viên";
            this.dgvListBill.Columns["TongTien"].HeaderText = "Tổng tiền";
        }
Beispiel #20
0
        private void btnSua_Click(object sender, EventArgs e)
        {
            if (loiNhap())
            {
                return;
            }
            var context = new Dtb_NhaSachContext();
            var edit    = new Thanhvien()
            {
                MaTv = int.Parse(this.dgvMember.CurrentRow.Cells[0].Value.ToString().Trim()),
            };

            edit.TenTv       = this.txtTentv.Text.Trim();
            edit.NgaySinh    = this.dtpNgaySinh.Value;
            edit.DiaChi      = this.txtDiaChi.Text.Trim();
            edit.DiemTichLuy = int.Parse(this.txtDiem.Text.Trim());
            edit.Sdt         = this.txtSdt.Text.Trim();
            context.Update <Thanhvien>(edit);
            context.SaveChanges();
            refreshControl();
            loadMember();
        }
Beispiel #21
0
 private void frmBill_Load(object sender, EventArgs e)
 {
     if (cbbTimKiemCthd.Text.Trim() != "")
     {
         this.dgv1.Rows.Clear();
         loadThongTinChung();
         loadTtBanHang();
         var context = new Dtb_NhaSachContext();
         this.cbbTenSach.DataSource = context.Saches.Select(s => s.TenSach.Trim()).ToList();
         this.cbbTenSach.Text       = null;
         string cbb = this.cbbTimKiemCthd.Text.Trim();
         this.cbbTimKiemCthd.DataSource = context.Hoadons.Select(s => s.SoHd).ToList();
         this.cbbTimKiemCthd.Text       = cbb;
         cbb = this.cbbTenNv.Text.Trim();
         this.cbbTenNv.DataSource = context.Nhanviens.Select(s => s.TenNv.Trim()).ToList();
         this.cbbTenNv.Text       = cbb;
     }
     else
     {
         loadcbb();
     }
 }
Beispiel #22
0
        public void sapXep()
        {
            var context = new Dtb_NhaSachContext();

            var sxSach = context.Saches.ToList();
            int i      = 1;

            foreach (var s in sxSach)
            {
                s.MaSach  = s.MaSach;
                s.Stt     = i;
                s.TenSach = s.TenSach;
                s.MaTg    = s.MaTg;
                s.MaNxb   = s.MaNxb;
                s.MaTl    = s.MaTl;
                s.SoLuong = s.SoLuong;
                s.GiaBan  = s.GiaBan;
                context.Update <Sach>(s);
                context.SaveChanges();
                i++;
            }
        }
Beispiel #23
0
        public void refreshSach()
        {
            var context = new Dtb_NhaSachContext();

            for (int i = 0; i < this.dgv1.Rows.Count - 1; i++)
            {
                var MaSach = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                             .Select(s => s.MaSach).FirstOrDefault();
                var stt = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                          .Select(s => s.Stt).FirstOrDefault();
                var sl = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                         .Select(s => s.SoLuong).FirstOrDefault();
                var tenS = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                           .Select(s => s.TenSach).FirstOrDefault();
                var nxb = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                          .Select(s => s.MaNxb).FirstOrDefault();
                var tl = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                         .Select(s => s.MaTl).FirstOrDefault();
                var tg = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                         .Select(s => s.MaTg).FirstOrDefault();
                var gia = context.Saches.Where(s => s.TenSach.Trim() == this.dgv1.Rows[i].Cells[1].Value.ToString().Trim())
                          .Select(s => s.GiaBan).FirstOrDefault();

                var refresh = new Sach()
                {
                    MaSach = MaSach,
                };
                refresh.Stt     = stt;
                refresh.SoLuong = sl - int.Parse(this.dgv1.Rows[i].Cells[2].Value.ToString().Trim());
                refresh.TenSach = tenS;
                refresh.MaNxb   = nxb;
                refresh.MaTg    = tg;
                refresh.MaTl    = tl;
                refresh.GiaBan  = gia;
                context.Saches.Update(refresh);
                context.SaveChanges();
            }
        }
Beispiel #24
0
        public void loadTtBanHang()
        {
            var context = new Dtb_NhaSachContext();

            var cthd = context.Chitiethoadons.Where(s => s.SoHd == int.Parse(this.cbbTimKiemCthd.Text.Trim()))
                       .OrderBy(s => s.MaSach).ToList();
            int stt = 1;

            foreach (var item in cthd)
            {
                string tenSach = context.Saches.Where(s => s.MaSach.Trim() == item.MaSach.Trim())
                                 .Select(s => s.TenSach).FirstOrDefault().ToString();
                string soLuong    = item.SoLuongBan.ToString().Trim();
                string donGia     = item.DonGia.ToString().Trim();
                string giamGia    = item.GiamGia.ToString().Trim();
                string thanhTien  = item.ThanhTien.ToString().Trim();
                string giaSauGiam = item.GiaSauGiam.ToString().Trim();

                string[] row = new string[] { stt.ToString().Trim(), tenSach, soLuong, donGia, giamGia, thanhTien, giaSauGiam };
                dgv1.Rows.Add(row);
                stt++;
            }
        }
Beispiel #25
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            if (loiNhap())
            {
                return;
            }

            var context = new Dtb_NhaSachContext();
            int i       = this.dgvMember.Rows.Count;
            var tv      = new Thanhvien()
            {
                MaTv        = int.Parse(this.dgvMember.Rows[i - 1].Cells[0].Value.ToString().Trim()) + 1,
                TenTv       = this.txtTentv.Text.Trim(),
                Sdt         = this.txtSdt.Text.Trim(),
                NgaySinh    = this.dtpNgaySinh.Value,
                DiaChi      = this.txtDiaChi.Text.Trim(),
                DiemTichLuy = int.Parse(this.txtDiem.Text.Trim()),
            };

            context.Thanhviens.Add(tv);
            context.SaveChanges();
            refreshControl();
            loadMember();
        }
Beispiel #26
0
        private void btnFind_Click(object sender, EventArgs e)
        {
            var context = new Dtb_NhaSachContext();

            var ms        = new SqlParameter("@masach", this.cbbMs.Text.ToLower().Trim());
            var ts        = new SqlParameter("@tensach", this.txtTenSach.Text.ToLower().Trim());
            var tl        = new SqlParameter("@tentl", this.cbbMtl.Text.ToLower().Trim());
            var n         = new SqlParameter("@tennxb", this.cbbnxb.Text.ToLower().Trim());
            var tg        = new SqlParameter("@tentg", this.cbbMtg.Text.ToLower().Trim());
            var resultRaw = context.Saches.FromSqlRaw("timkiemSach @masach, @tensach, @tentl, @tennxb, @tentg", ms, ts, tl, n, tg).ToList();

            #region linq
            var result = resultRaw.Join(context.Tacgia,
                                        s => s.MaTg.Trim(),
                                        tg => tg.MaTg.Trim(),
                                        (s, tg) =>
                                        new
            {
                Stt     = s.Stt,
                MaSach  = s.MaSach,
                TenSach = s.TenSach,
                MaTl    = s.MaTl,
                MaNxb   = s.MaNxb,
                TenTg   = tg.TenTg,
                SoLuong = s.SoLuong,
                GiaBan  = s.GiaBan
            }).Join(context.Theloais,
                    s => s.MaTl.Trim(),
                    t => t.MaTl.Trim(),
                    (s, t) =>
                    new
            {
                Stt     = s.Stt,
                MaSach  = s.MaSach,
                TenSach = s.TenSach,
                TenTl   = t.TenTl,
                MaNxb   = s.MaNxb,
                TenTg   = s.TenTg,
                SoLuong = s.SoLuong,
                GiaBan  = s.GiaBan
            }).Join(context.Nxbs,
                    f => f.MaNxb.Trim(),
                    n => n.MaNxb.Trim(),
                    (s, n) =>
                    new
            {
                Stt     = s.Stt,
                MaSach  = s.MaSach,
                TenSach = s.TenSach,
                TenTl   = s.TenTl,
                TenNxb  = n.TenNxb,
                TenTg   = s.TenTg,
                SoLuong = s.SoLuong,
                GiaBan  = s.GiaBan
            })
                         .OrderBy(s => s.Stt).ToList();
            #endregion

            this.dgvBook.DataSource = null;
            this.dgvBook.DataSource = result;
            customDgv();
        }
Beispiel #27
0
 private void btnSua_Click(object sender, EventArgs e)
 {
     if (loiNhap())
     {
         return;
     }
     #region nếu trùng khóa chính khác
     var context = new Dtb_NhaSachContext();
     if (this.cbbMs.Text.Trim() != this.dgvBook.CurrentRow.Cells[1].Value.ToString().Trim())
     {
         var cSach = context.Saches
                     .Where(s => s.MaSach.Trim() == this.cbbMs.Text.Trim())
                     .Select(s => s.MaSach).ToList();
         if (cSach.Count > 0)
         {
             this.errorProvider1.SetError(this.cbbMs, "Mã sách không được trùng");
             return;
         }
         else
         {
             this.errorProvider1.SetError(this.cbbMs, null);
         }
     }
     #endregion
     try
     {
         var edit = new Sach()
         {
             //Stt = int.Parse(this.dgvBook.CurrentRow.Cells[0].Value.ToString().Trim()),
             MaSach = this.dgvBook.CurrentRow.Cells[1].Value.ToString().Trim(),
         };
         var tg = context.Tacgia
                  .Where(t => t.TenTg == this.cbbMtg.Text.Trim())
                  .Select(t => new
         {
             t.MaTg,
         }).FirstOrDefault().MaTg.Trim();
         var nxb = context.Nxbs
                   .Where(n => n.TenNxb == this.cbbnxb.Text.Trim())
                   .Select(n => new
         {
             n.MaNxb,
         }).FirstOrDefault().MaNxb.Trim();
         var tl = context.Theloais
                  .Where(t => t.TenTl == this.cbbMtl.Text.Trim())
                  .Select(t => new
         {
             t.MaTl,
         }).FirstOrDefault().MaTl.Trim();
         edit.Stt     = int.Parse(this.dgvBook.CurrentRow.Cells[0].Value.ToString().Trim());
         edit.TenSach = this.txtTenSach.Text.Trim();
         edit.SoLuong = int.Parse(this.txtSoLuong.Text.Trim());
         edit.MaTl    = tl;
         edit.MaTg    = tg;
         edit.MaNxb   = nxb;
         edit.GiaBan  = int.Parse(this.txtGiaBan.Text.Trim());
         context.Update <Sach>(edit);
         context.SaveChanges();
         refreshControl();
         loadDgvBook();
         MessageBox.Show("Sửa thành công!!!!");
     }
     catch
     {
         MessageBox.Show("Đã xảy ra lỗi. Vui lòng thử lại!");
         return;
     }
 }
Beispiel #28
0
        private void btnThem_Click(object sender, EventArgs e)
        {
            if (loiNhap())
            {
                return;
            }
            #region nếu trùng khóa chính
            var context = new Dtb_NhaSachContext();
            var cSach   = context.Saches
                          .Where(s => s.MaSach.Trim() == this.cbbMs.Text.Trim())
                          .Select(s => s.MaSach).ToList();
            if (cSach.Count > 0)
            {
                this.errorProvider1.SetError(this.cbbMs, "Mã sách không được trùng");
                return;
            }
            else
            {
                this.errorProvider1.SetError(this.cbbMs, null);
            }

            #endregion
            try
            {
                var tg = context.Tacgia
                         .Where(t => t.TenTg == this.cbbMtg.Text.Trim())
                         .Select(t => new
                {
                    t.MaTg,
                }).FirstOrDefault().MaTg.Trim();
                var nxb = context.Nxbs
                          .Where(n => n.TenNxb == this.cbbnxb.Text.Trim())
                          .Select(n => new
                {
                    n.MaNxb,
                }).FirstOrDefault().MaNxb.Trim();
                var tl = context.Theloais
                         .Where(t => t.TenTl == this.cbbMtl.Text.Trim())
                         .Select(t => new
                {
                    t.MaTl,
                }).FirstOrDefault().MaTl.Trim();
                var addBook = new Sach()
                {
                    Stt     = context.Saches.Count() + 1,
                    MaSach  = this.cbbMs.Text.Trim(),
                    TenSach = this.txtTenSach.Text.Trim(),
                    SoLuong = int.Parse(this.txtSoLuong.Text.Trim()),
                    MaTl    = tl,
                    MaTg    = tg,
                    MaNxb   = nxb,
                    GiaBan  = int.Parse(this.txtGiaBan.Text.Trim()),
                };
                context.Saches.Add(addBook);
                context.SaveChanges();
                MessageBox.Show("Thêm thành công!!!");
                refreshControl();
                loadDgvBook();
            }
            catch
            {
                MessageBox.Show("Đã xảy ra lỗi. Vui lòng thử lại!");
                return;
            }
        }