Beispiel #1
0
        private void btnTraCuu_Click(object sender, EventArgs e)
        {
            int maTraCuu = 0;


            try
            {
                maTraCuu = int.Parse(txtTraCuu.Text.ToString());
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            if (maTraCuu != 0)
            {
                using (DBEntites db = new DBEntites())
                {
                    var ncc = db.NCCs.Select(x => new
                    {
                        MaNCC  = x.MaNCC,
                        TenNCC = x.TenNCC,
                        SDT    = x.SDT,
                        DiaChi = x.DiaChi
                    }).Where(x => x.MaNCC == maTraCuu);
                    dgvNCC.DataSource = null;
                    dgvNCC.DataSource = ncc.ToList();
                    for (int i = 0; i < dgvNCC.ColumnCount; i++)
                    {
                        dgvNCC.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    }
                }
            }
        }
Beispiel #2
0
 private void button1_Click(object sender, EventArgs e)
 {
     if (!validate(txtTenNCC.Text.Trim()) || !validate(txtSDT.Text.Trim()) ||
         !validate(txtDiaChi.Text.Trim()))
     {
         MessageBox.Show("Vui lòng nhập đủ thông tin!");
         return;
     }
     ncc.TenNCC = txtTenNCC.Text.Trim();
     ncc.SDT    = txtSDT.Text.Trim();
     ncc.DiaChi = txtDiaChi.Text.Trim();
     using (DBEntites db = new DBEntites())
     {
         if (ncc.MaNCC == 0)
         {
             db.NCCs.Add(ncc);
         }
         else
         {
             db.Entry(ncc).State = EntityState.Modified;
         }
         db.SaveChanges();
     }
     Clear();
     PopulateDataGridView();
 }
Beispiel #3
0
        private void btnShow_Click(object sender, EventArgs e)
        {
            string sdt = textBox1.Text;

            if (string.IsNullOrWhiteSpace(sdt))
            {
                MessageBox.Show("Vui lòng nhập sđt");
                return;
            }
            using (DBEntites db = new DBEntites())
            {
                var kh = db.KhachHangs.Select(s => s).Where(s => s.SDT == sdt).FirstOrDefault();
                if (kh == null)
                {
                    frmQLKH frmqlkh = new frmQLKH(sdt, tk);
                    frmqlkh.ShowDialog();
                    List <KhachHang> khs   = db.KhachHangs.ToList();
                    KhachHang        newKH = khs[khs.Count - 1];
                    frmLapHoaDon     form  = new frmLapHoaDon(newKH, tk, false);
                    form.ShowDialog();
                    Close();
                }
                else
                {
                    frmLapHoaDon form = new frmLapHoaDon((KhachHang)kh, tk, true);
                    form.ShowDialog();
                    Close();
                }
            }
        }
Beispiel #4
0
 private void btnXoa_Click(object sender, EventArgs e)
 {
     if (MessageBox.Show("Bạn có muốn xóa dòng này?", "EF CRUD Operation", MessageBoxButtons.YesNo) == DialogResult.Yes)
     {
         try
         {
             using (DBEntites db = new DBEntites())
             {
                 var entry = db.Entry(ncc);
                 if (entry.State == EntityState.Detached)
                 {
                     db.NCCs.Attach(ncc);
                 }
                 db.NCCs.Remove(ncc);
                 db.SaveChanges();
                 PopulateDataGridView();
                 Clear();
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show("NCC này đang phân phối hàng, không thể xóa! Mã lỗi: " + ex.Message);
         }
     }
 }
Beispiel #5
0
        public frmLapHoaDon(KhachHang k, TaiKhoan t, bool isSale)
        {
            InitializeComponent();
            kh = k;
            tk = t;
            DBEntites db = new DBEntites();

            int manv = tk.NhanVien.MaNV;
            var nv   = db.NhanViens.Where(s => s.MaNV == manv).Select(s => s).FirstOrDefault();

            lblNhanVien.Text = "Nhân viên tạo hóa đơn: " + nv.TenNV;


            sale = isSale;
            lblKhachHang.Text = "Khách hàng: " + kh.TenKH + "               SĐT: " + kh.SDT;

            if (sale)
            {
                //lblSale.Text = "Đã mua hàng ít nhất 1 lần, được giảm 2% hóa đơn";
                lblSale.Text = "";
            }
            else
            {
                lblSale.Text = "";
            }
        }
Beispiel #6
0
        //private void btnXoaDH_Click(object sender, EventArgs e)
        //{
        //    hd.MaHD = Convert.ToInt32(dgvHoaDon.CurrentRow.Cells["MaHD"].Value);
        //    if (MessageBox.Show("Bạn có muốn xóa trường này", "EF CRUD Operatio", MessageBoxButtons.YesNo) == DialogResult.Yes)
        //        using(DBEntites db = new DBEntites())
        //        {
        //            hd = db.HoaDons.Where(x => x.MaHD == hd.MaHD).FirstOrDefault();
        //            chiTietHD = db.ChiTietHDs.Where(x => x.MaHD == hd.MaHD).FirstOrDefault();
        //            var entry = db.Entry(hd);
        //            //if (entry.State == EntityState.Detached)
        //            //    db.HoaDons.Attach(hd);
        //            db.HoaDons.Remove(hd);
        //            db.ChiTietHDs.Remove(chiTietHD);
        //            db.SaveChanges();
        //            MessageBox.Show("Xoa thanh cong");
        //        }
        //    PopulateDataGridView();
        //}

        private void frmHoaDon_DoubleClick(object sender, EventArgs e)
        {
            if (dgvHoaDon.CurrentRow.Index != -1)
            {
                hd.MaHD = Convert.ToInt32(dgvHoaDon.CurrentRow.Cells["MaHD"].Value);
                using (DBEntites db = new DBEntites())
                {
                    hd = db.HoaDons.Where(x => x.MaHD == hd.MaHD).FirstOrDefault();
                    btnXemHD_Click(sender, e, hd.MaHD);
                }
            }
        }
Beispiel #7
0
 void PopulateDataGridView()
 {
     using (DBEntites db = new DBEntites())
     {
         var hd = db.HoaDons.Select(x => new
         {
             MaHD    = x.MaHD,
             NgayLap = x.NgayLap,
             MaKH    = x.MaKH,
             MaNV    = x.MaNV
         });
         dgvHoaDon.DataSource = hd.ToList();
     }
 }
Beispiel #8
0
 void getThongTin(int MaHD)
 {
     using (DBEntites db = new DBEntites())
     {
         var hoadon = db.HoaDons.Where(c => c.MaHD == MaHD).SingleOrDefault();
         lbNgayBan.Text = hoadon.NgayLap.ToString();
         var nv = db.NhanViens.Where(c => c.MaNV == hoadon.MaNV).SingleOrDefault();
         lbMaNV.Text  = nv.MaNV.ToString();
         lbTenNV.Text = nv.TenNV;
         var kh = db.KhachHangs.Where(c => c.MaKH == hoadon.MaKH).SingleOrDefault();
         lbTenKH.Text  = kh.TenKH;
         lbDiaChi.Text = kh.DiaChi;
         lbSDT.Text    = kh.SDT;
     }
 }
Beispiel #9
0
 private void dgvNCC_DoubleClick(object sender, EventArgs e)
 {
     if (dgvNCC.CurrentRow.Index != -1)
     {
         ncc.MaNCC = Convert.ToInt32(dgvNCC.CurrentRow.Cells["MaNCC"].Value);
         using (DBEntites db = new DBEntites())
         {
             ncc            = db.NCCs.Where(x => x.MaNCC == ncc.MaNCC).FirstOrDefault();
             txtMaNCC.Text  = Convert.ToString(ncc.MaNCC);
             txtTenNCC.Text = ncc.TenNCC;
             txtSDT.Text    = ncc.SDT;
             txtDiaChi.Text = ncc.DiaChi;
         }
         btnThem.Text   = "Sửa";
         btnXoa.Enabled = true;
     }
 }
Beispiel #10
0
 void PopulateDataGridView()
 {
     using (DBEntites db = new DBEntites())
     {
         var ncc = db.NCCs.Select(c => new
         {
             MaNCC  = c.MaNCC,
             TenNCC = c.TenNCC,
             SDT    = c.SDT,
             DiaChi = c.DiaChi,
         });
         dgvNCC.DataSource = ncc.ToList();
         for (int i = 0; i < dgvNCC.ColumnCount; i++)
         {
             dgvNCC.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
         }
     }
 }
Beispiel #11
0
        /*
         * btnLuu: Sử dụng để cập nhật dữ liệu trong database
         * giảm số lượng hàng tồn trong db khi một hóa đơn được lập thành công.
         */
        private void btnLuu_Click(object sender, EventArgs e)
        {
            using (DBEntites db = new DBEntites())
            {
                if (gridviewGioHang.DataSource == null)
                {
                    return;
                }
                listSP = db.SanPhams.ToList <SanPham>();
                foreach (SanPham s in listSP)
                {
                    s.SLTon = li[ViTriSPT(s.MaSP)].slton;
                }
                foreach (SanPham s in listSP)
                {
                    db.Entry(s).State = System.Data.Entity.EntityState.Modified;
                    db.SaveChanges();
                }

                HoaDon new_HD = new HoaDon();
                new_HD.NgayLap = DateTime.Today;
                new_HD.MaKH    = kh.MaKH;
                new_HD.MaNV    = (int)tk.manv;
                //add HoaDon
                db.HoaDons.Add(new_HD);
                db.SaveChanges();
                List <HoaDon> hd = db.HoaDons.Select(s => s).ToList();
                //add chiTietHD
                //duyệt lần lượt danh sách sản phẩm mua và add vào bảng chi tiết
                foreach (SanPhamTam s in list)
                {
                    ChiTietHD chiTiet = new ChiTietHD();
                    chiTiet.MaHD  = hd[hd.Count - 1].MaHD;
                    chiTiet.MaSP  = s.MaSP;
                    chiTiet.SLBan = s.SLMua;
                    db.ChiTietHDs.Add(chiTiet);
                    db.SaveChanges();
                }
                //done
                MessageBox.Show("Hóa đơn của bạn đã được tạo");
                Close();
            }
        }
Beispiel #12
0
        private void frmMenuAction_Load(object sender, EventArgs e)
        {
            string role;

            if (user.Role == 1)
            {
                role = "admin";
            }
            else
            {
                role = "nhân viên";
                tabControl1.Controls.Remove(tabControl1.TabPages["tabQLNV"]);
                tabControl1.Controls.Remove(tabControl1.TabPages["tabQLTK"]);
            }
            DBEntites db   = new DBEntites();
            int       manv = user.NhanVien.MaNV;
            var       nv   = db.NhanViens.Where(s => s.MaNV == manv).Select(s => s).FirstOrDefault();

            lblWelcome.Text = "Xin chào " + nv.TenNV + ", Chức vụ: " + role;
            checkTab(tabControl1.SelectedIndex);
        }
Beispiel #13
0
        private void btnLoc_Click(object sender, EventArgs e)
        {
            var tuNgay  = dateTimePicker1.Value;
            var denNgay = dateTimePicker2.Value;

            if (DateTime.Compare(tuNgay, denNgay) > 0)
            {
                MessageBox.Show("Ngày bắt đầu phải nhỏ hơn ngày kết thúc!");
                return;
            }
            using (DBEntites db = new DBEntites())
            {
                var hd = db.HoaDons.Select(x => new
                {
                    MaHD    = x.MaHD,
                    NgayLap = x.NgayLap,
                    MaKH    = x.MaKH,
                    MaNV    = x.MaNV
                }).Where(c => c.NgayLap >= tuNgay && c.NgayLap <= denNgay);
                dgvHoaDon.DataSource = hd.ToList();
            }
        }
Beispiel #14
0
 void PopulateDataGridView()
 {
     using (DBEntites db = new DBEntites())
     {
         var ct = db.ChiTietHDs.Join(db.SanPhams,
                                     p => p.MaSP,
                                     c => c.MaSP,
                                     (p, c) => new
         {
             hd = p,
             sp = c
         }).Where(p => p.hd.MaHD == MaHD).Select(p => new
         {
             MaSP      = p.hd.MaSP,
             TenSP     = p.sp.TenSP,
             SLBan     = p.hd.SLBan,
             DonGia    = p.sp.Gia,
             ThanhTien = p.hd.SLBan * p.sp.Gia,
         });
         dgvChiTietHoaDon.DataSource = ct.ToList();
         for (int i = 0; i < dgvChiTietHoaDon.ColumnCount; i++)
         {
             dgvChiTietHoaDon.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
         }
         int sum = 0;
         for (int i = 0; i < dgvChiTietHoaDon.RowCount; i++)
         {
             DataGridViewRow row = dgvChiTietHoaDon.Rows[i];
             sum += int.Parse(row.Cells[4].Value + "");
         }
         var nv = db.HoaDons.Where(s => s.MaHD == MaHD).FirstOrDefault();
         lbMaHD.Text = nv.MaHD + "";
         var rs = db.NhanViens.Where(s => s.MaNV == nv.MaNV).FirstOrDefault();
         lbTenNV.Text = rs.TenNV;
         CultureInfo cul   = CultureInfo.GetCultureInfo("vi-VN"); // try with "en-US"
         string      total = sum.ToString("#,###.###", cul.NumberFormat);
         lbTongTien.Text = total + "VNĐ";
     }
 }
Beispiel #15
0
        void PopulateDataGridViewSP()
        {
            using (DBEntites db = new DBEntites())
            {
                // Kết nối hai bảng Sản phẩm và bảng NCC
                var sp = db.SanPhams.Join(db.NCCs, s => s.MaNCC, n => n.MaNCC,
                                          (s, n) => new
                {
                    sp  = s,
                    ncc = n
                }).Select(s => new
                {
                    masp  = s.sp.MaSP,
                    tensp = s.sp.TenSP,
                    slton = s.sp.SLTon,
                    gia   = s.sp.Gia,
                    ncc   = s.ncc.TenNCC,
                    mancc = s.ncc.MaNCC
                });

                /*
                 * Sử dụng đối tượng SanPhamTonTam để thao tác dữ liệu tránh trường hợp người dùng
                 * thêm sản phầm nhưng trả lại hoặc hủy đơn hàng.
                 * Không thao tác trực tiếp trên model database.
                 */
                for (int i = 0; i < sp.ToList().Count; i++)
                {
                    int    masp  = int.Parse(sp.ToList()[i].masp.ToString());
                    string tensp = sp.ToList()[i].tensp.ToString();
                    int    slton = int.Parse(sp.ToList()[i].slton.ToString());
                    float  gia   = float.Parse(sp.ToList()[i].gia.ToString());
                    string ncc   = sp.ToList()[i].ncc.ToString();
                    li.Add(new SanPhamTonTam(masp, tensp, slton, gia, ncc));
                }
                gridviewSanPham.DataSource          = li.ToList();
                gridviewSanPham.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
                // lblTongTien.Text =
            }
        }