Esempio n. 1
0
        // Thêm nhân viên vào database
        private void btnAddNV_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtMaNV.Text != "")
                {
                    // Vì txtMaNV bị khóa, và nó cũng tự động tăng nên ta không thể gõ dữ liệu vào đó được.
                    // Nếu thêm NV mới vào trong khi mã nhân viên đó lại là của tài khoản cũ thì sẽ mất thẩm mỹ.
                    // Nên người dùng phải làm mới mã nhân viên để mã nhân viên thành khoảng trắng ""
                    MessageBox.Show("Xin hãy làm mới danh sách sách !");
                    return;
                }


                if (txtTenNV.Text == "" || txtMatKhau_NV.Text == "" || txtCMND_NV.Text == "" || txtSDT_NV.Text == "" ||
                    txtLuongNV.Text == "" || txtEmail_NV.Text == "")
                {
                    // Nếu không nhập đủ thì xuất thông báo.
                    MessageBox.Show("Bạn không thể thêm nếu như để trống một trường dữ liệu nào.", "Thông báo", MessageBoxButtons.OK);
                }


                else
                {
                    // Khi nhập đủ rồi thì bắt đầu quá trình thêm NV vào database
                    NhanVien nv_them = new NhanVien()
                    {
                        TenNV       = txtTenNV.Text,
                        Matkhau     = txtMatKhau_NV.Text,
                        CMND        = txtCMND_NV.Text,
                        SDT         = txtSDT_NV.Text,
                        NgaySinh    = dtpNgaySinhNV.Value,
                        Luongcoban  = Convert.ToDecimal(txtLuongNV.Text),
                        NgayGiaNhap = dtpNgayGiaNhap_NV.Value,
                        Email       = txtEmail_NV.Text,
                        Trangthai   = cbxTrangThai_NV.Text,
                        MaCaLamViec = Convert.ToInt32(cbxCaLamViec.SelectedValue.ToString()), //Lấy dữ liệu của dòng combobox CLV đang chọn. Chi tiết ở dòng 125
                        MaCV        = Convert.ToInt32(cbxChucVu_NV.SelectedValue.ToString())  //Lấy dữ liệu của dòng combobox CLV đang chọn. Chi tiết ở dòng 129
                    };

                    // Nếu đã chọn Nam thì nv_them lấy giá trị là Nam. Còn ngược lại thì chỉ có thể là Nữ
                    if (rbNam.Checked == true)
                    {
                        nv_them.GioiTinh = rbNam.Text;
                    }
                    else
                    {
                        nv_them.GioiTinh = rbNu.Text;
                    }
                    //
                    string currentday = DateTime.Now.ToString("dd/MM/yyyy");
                    if (nv_them.Trangthai == "Đã nghỉ việc")
                    {
                        nv_them.NgayNghi = Convert.ToDateTime(currentday);
                    }
                    else
                    {
                        nv_them.NgayNghi = null;
                    }
                    // Thêm vào Database
                    BanhkemDB.NhanViens.Add(nv_them);
                    BanhkemDB.SaveChanges();            //Lưu Database

                    Load_ListView(); BindGrid_listNV(); // Load lại database
                    MessageBox.Show("Thêm thành công !");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK);
                // Nếu bắt được lỗi logic thì in nó lên MessageBox.
            }
        }
Esempio n. 2
0
        private void btnXuatHD_Click(object sender, EventArgs e)
        {
            try
            {
                if (lstProductCart.Items.Count < 1)
                {
                    MessageBox.Show("Không tạo hóa đơn trống");
                }
                else
                {
                    List <rptCTHD> listRPCTHD = new List <rptCTHD>();
                    string         MaHD_temp  = txtMaHD.Text.Remove(0, 2);
                    HoaDon         hoadon_moi = new HoaDon()
                    {
                        MaNV         = user.MaNV,
                        NgayLap      = Convert.ToDateTime(lblNgayHienTai.Text),
                        TienKhachTra = Convert.ToDecimal(txtSTK.Text),
                        TienThoi     = Convert.ToDecimal(txtTienThoi.Text),
                        Tongsotien   = Convert.ToDecimal(txtTongTien.Text),
                    };
                    BanhkemDB.HoaDons.Add(hoadon_moi);
                    BanhkemDB.SaveChanges();

                    for (int i = 0; i < lstProductCart.Items.Count; i++)
                    {
                        foreach (var sanPham in listSP)
                        {
                            if (lstProductCart.Items[i].SubItems[1].Text == sanPham.TenSP && lstProductCart.Items[i].SubItems[4].Text == sanPham.Size)
                            {
                                int sl = Convert.ToInt32(lstProductCart.Items[i].SubItems[2].Text);

                                ChiTietHoaDon chitiethoadon_moi = new ChiTietHoaDon()
                                {
                                    MaHD      = Convert.ToInt32(MaHD_temp),
                                    MaSP      = sanPham.MaSP,
                                    Gia       = Convert.ToDecimal(lstProductCart.Items[i].SubItems[3].Text),
                                    SIZE      = lstProductCart.Items[i].SubItems[4].Text,
                                    SoLuong   = sl,
                                    ThanhTien = Convert.ToDecimal(lstProductCart.Items[i].SubItems[5].Text)
                                };

                                BanhkemDB.ChiTietHoaDons.Add(chitiethoadon_moi);
                                BanhkemDB.SaveChanges();

                                rptCTHD a = new rptCTHD();
                                a.GiaGoc    = Convert.ToDecimal(lstProductCart.Items[i].SubItems[3].Text);
                                a.SIZE      = lstProductCart.Items[i].SubItems[4].Text;
                                a.SL        = Convert.ToInt32(lstProductCart.Items[i].SubItems[2].Text);
                                a.TenSP     = lstProductCart.Items[i].SubItems[1].Text;
                                a.ThanhTien = Convert.ToDecimal(lstProductCart.Items[i].SubItems[5].Text);

                                listRPCTHD.Add(a);
                            }
                        }
                    }

                    FrmReportCTHoaDon f = new FrmReportCTHoaDon(hoadon_moi, listRPCTHD);
                    f.ShowDialog();
                    this.Show();
                    Cursor.Current = Cursors.Arrow;

                    txtSTK.Text = "0";
                    MessageBox.Show("Đã thanh toán hóa đơn");
                    ClearSP(); HuyHD();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK);
                // Nếu bắt được lỗi logic thì in nó lên MessageBox.
            }
        }
Esempio n. 3
0
        private void btnXuatHD_Click(object sender, EventArgs e)
        {
            try
            {
                if (lstProductCart.Items.Count < 1)
                {
                    MessageBox.Show("Không tạo hóa đơn trống");
                }
                else
                {
                    // Tạo một danh sách chứa các biến cần thiết để in ra Report
                    List <rptCTHD> listRPCTHD = new List <rptCTHD>();

                    // Mã hóa đơn đang là dạng string "HDXX" nên phải loại bỏ 2 chữ "HD" rồi chuyển về về dạng int
                    // để sau này còn gán giá trị vào chi tiết hóa đơn.
                    string MaHD_temp = txtMaHD.Text.Remove(0, 2);
                    // Thêm HD vào database
                    HoaDon hoadon_moi = new HoaDon()
                    {
                        MaNV         = user.MaNV,
                        NgayLap      = Convert.ToDateTime(lblNgayHienTai.Text),
                        TienKhachTra = Convert.ToDecimal(txtSTK.Text),
                        TienThoi     = Convert.ToDecimal(txtTienThoi.Text),
                        Tongsotien   = Convert.ToDecimal(txtTongTien.Text),
                    };
                    BanhkemDB.HoaDons.Add(hoadon_moi);
                    BanhkemDB.SaveChanges();

                    // Chi tiết hóa đơn lấy từ danh sách đặt hàng. Nên ta phải xét toàn bộ sản phẩm trong danh sách đặt hàng.

                    for (int i = 0; i < lstProductCart.Items.Count; i++)
                    {
                        foreach (var sanPham in listSP)
                        {
                            // Vì không cho hiện mã sản phẩm nên phải qua 1 cách khác để nhận diện sản phẩm, đó là : Tên SP và kích thước.
                            if (lstProductCart.Items[i].SubItems[1].Text == sanPham.TenSP && lstProductCart.Items[i].SubItems[4].Text == sanPham.Size)
                            {
                                int sl = Convert.ToInt32(lstProductCart.Items[i].SubItems[2].Text);
                                // Tạo 1 biến chi tiết của sản phẩm đang xét rồi lưu vào database, cứ như vậy đến khi hết sản phẩm
                                // trong giỏ hàng
                                ChiTietHoaDon chitiethoadon_moi = new ChiTietHoaDon()
                                {
                                    MaHD      = Convert.ToInt32(MaHD_temp),
                                    MaSP      = sanPham.MaSP,
                                    Gia       = Convert.ToDecimal(lstProductCart.Items[i].SubItems[3].Text),
                                    SIZE      = lstProductCart.Items[i].SubItems[4].Text,
                                    SoLuong   = sl,
                                    ThanhTien = Convert.ToDecimal(lstProductCart.Items[i].SubItems[5].Text)
                                };

                                BanhkemDB.ChiTietHoaDons.Add(chitiethoadon_moi);
                                BanhkemDB.SaveChanges();


                                // Biến Report này chứa thông tin của sản phẩm. Sau khi thêm xong thì sẽ thêm nó vào danh sách
                                // sau này cần report.
                                rptCTHD a = new rptCTHD();
                                a.GiaGoc    = Convert.ToDecimal(lstProductCart.Items[i].SubItems[3].Text);
                                a.SIZE      = lstProductCart.Items[i].SubItems[4].Text;
                                a.SL        = Convert.ToInt32(lstProductCart.Items[i].SubItems[2].Text);
                                a.TenSP     = lstProductCart.Items[i].SubItems[1].Text;
                                a.ThanhTien = Convert.ToDecimal(lstProductCart.Items[i].SubItems[5].Text);

                                listRPCTHD.Add(a);
                            }
                        }
                    }

                    // Sau khi xét hết sản phẩm trong giỏ hàng thì ta gửi dữ liệu danh sách cần Report qua form Report để hiện
                    // Report chi tiết hóa đơn.
                    FrmReportCTHoaDon f = new FrmReportCTHoaDon(hoadon_moi, listRPCTHD);
                    f.ShowDialog();
                    this.Show();
                    Cursor.Current = Cursors.Arrow;

                    txtSTK.Text = "0";
                    // Sau khi xuất hóa đơn thì thông báo đã thanh toán
                    MessageBox.Show("Đã thanh toán hóa đơn");
                    ClearSP(); HuyHD();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Thông báo", MessageBoxButtons.OK);
                // Nếu bắt được lỗi logic thì in nó lên MessageBox.
            }
        }