Exemplo n.º 1
0
        private void btnHoantat_Click(object sender, EventArgs e)
        {
            // Nếu click lần đầu thì tạo hóa đơn nhập mới
            // Tạo mã hóa đơn nhập
            if (click_btn == 0)
            {
                if (lbMaHD.ForeColor == Color.Red)
                {
                    MessageBox.Show("Mả hóa đơn này đã có!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else if (labelTTSL.ForeColor == Color.Red)
                {
                    MessageBox.Show("Hãy nhập 1 số nguyên!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                else if (txtSL.Text == string.Empty || txtNVNH.Text == string.Empty)
                {
                    MessageBox.Show("Không được bỏ trống số lượng hoặc nhân viên nhập hàng!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    click_btn = 1;
                    //3 cbbNCC.Enabled = false;
                    try
                    {
                        // kiểm tra lỗi trùng mã đơn nhập

                        string error = "";
                        try
                        {
                            // Tạo mới hóa đơn nhập hàng
                            if (balHDNhapHang.ThemHoaDonNhapHang(ref error, txtMaHD.Text, txtNVGH.Text, 0, 0, 0, DateTime.Now, "1", cbbNCC.SelectedValue.ToString()))
                            {
                                try
                                {
                                    double donGia  = Double.Parse(txtDG.Text);
                                    int    soLuong = int.Parse(txtSL.Text);
                                    // Tiến hành thêm
                                    bool f = balChiTietNhap.ThemChiTietNhap(ref error, txtMaHD.Text, txtSP.Text, soLuong, donGia, 0);
                                    if (f == true)
                                    {
                                        //MessageBox.Show("Đã thêm..." + err, "Thành công", MessageBoxButtons.OK, MessageBoxIcon.Information);

                                        // Sau khi thêm sẽ load chi tiết đơn nhập lên Gridcontrol để kiểm tra
                                        loadCTHDNH();
                                        txtTGT.Text = GiaTriHoaDon();
                                    }
                                    else
                                    {
                                        MessageBox.Show("Không thể thêm chi tiết đơn nhập!\rLỗi:" + error, "Lỗi SQL", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                catch (Exception er)
                                {
                                    MessageBox.Show("Không thể thêm chi tiết đơn nhập!\rLỗi: " + er.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                }
                            }
                            else
                            {
                                MessageBox.Show("Lỗi thêm đơn nhập hàng.\rLỗi: " + error, "Lỗi SQL", MessageBoxButtons.OK, MessageBoxIcon.Error);
                                return;
                            }
                            //
                        }
                        catch (Exception er)
                        {
                            MessageBox.Show("Không thể thêm đơn nhập hàng mới.\rLỗi: " + er.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    catch (SqlException err)
                    {
                        MessageBox.Show("Không thể kiểm tra mã hóa đơn nhập.\rLỗi: " + err.Message, "Lỗi SQL", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    catch (Exception er)
                    {
                        MessageBox.Show("Không thể kiểm tra mã hóa đơn nhập.\rLỗi: " + er.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            else
            {
                // Thêm các chi tiết đơn nhập vào hóa đơn nhập có mã là MaHD
                string err = "";
                try
                {
                    double donGia  = Double.Parse(txtDG.Text);
                    int    soLuong = int.Parse(txtSL.Text);
                    // Tiến hành thêm
                    bool f = balChiTietNhap.ThemChiTietNhap(ref err, txtMaHD.Text, txtSP.Text, soLuong, donGia, 0);
                    if (f == true)
                    {
                        //MessageBox.Show("Đã thêm..." + err, "Thành công", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        // Sau khi thêm sẽ load chi tiết đơn nhập lên Gridcontrol để kiểm tra
                        loadCTHDNH();
                        txtTGT.Text = GiaTriHoaDon();
                    }
                    else
                    {
                        MessageBox.Show("Không thể thêm chi tiết đơn nhập!\rLỗi:" + err, "Lỗi SQL", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception er)
                {
                    MessageBox.Show("Không thể thêm chi tiết đơn nhập!\rLỗi: " + er.Message, "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            DonThongTinCTHD();
        }