Exemplo n.º 1
0
        private bool UpdatePhieuNhap()
        {
            int vt = KiemTraDuLieu();

            if (vt == -1)//du lieu hop le
            {
                List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(MaPhieuNhap);

                //Up date  so luong da nhan trong bang chi tiet don hang va so luong ton, chi tiet phieu nhap
                string id = txtDonDatHang.Text;
                List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id);
                SanPhamDTO sanPhamDTO  = new SanPhamDTO();
                bool       f           = true;
                int        SLNhan      = 0;
                int        tongCVTruoc = 0;
                int        tongCVSau   = 0;
                for (int i = 0; i < listchiTietDonHangDTO.Count; i++)
                {
                    //chi tiet don hang
                    SLNhan = int.Parse(dataGridView_NhapHang.Rows[i].Cells[clSLNhan.Index].Value.ToString());
                    listchiTietDonHangDTO[i].SLDaNhan = listchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhapDTO[i].SLNhan + SLNhan;
                    tongCVTruoc += listChiTietPhieuNhapDTO[i].SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV;
                    tongCVSau   += SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV;
                    ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]);
                    if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong)
                    {
                        f = false;
                    }

                    //so luong ton
                    sanPhamDTO            = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham);
                    sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon - listChiTietPhieuNhapDTO[i].SLNhan + SLNhan;
                    SanPhamBUS.UpdateSanPhamById(sanPhamDTO);

                    //Update chi tiet phieu nhap
                    listChiTietPhieuNhapDTO[i].SLNhan = SLNhan;
                    listChiTietPhieuNhapDTO[i].GhiChu = dataGridView_NhapHang.Rows[i].Cells[clGhiChu.Index].Value.ToString();
                    ChiTietPhieuNhapBUS.UpdateChiTietPhieuNhapById(listChiTietPhieuNhapDTO[i]);
                }

                //update tong cv
                ThamSoDTO thamSoDTO = ThamSoBUS.SelectThamSoById("TS004");
                thamSoDTO.GiaTri = (int.Parse(thamSoDTO.GiaTri) - tongCVTruoc + tongCVSau).ToString();
                ThamSoBUS.UpdateThamSoById(thamSoDTO);

                //update trang thai don hang
                DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id);
                if (f)//Da nhan (tat ca SlDaNhan == SoLuong)
                {
                    donHangDTO.TrangThai = "Đã nhận";
                }
                else//Nhan mot phan (con it nhat mot san pham chua nhan het)
                {
                    donHangDTO.TrangThai = "Nhận một phần";
                }
                DonHangBUS.UpdateDonHangById(donHangDTO);

                MessageBox.Show("Cập nhật thành công");

                return(true);
            }
            else //du lieu ko hop le o vi tri vt
            {
                dataGridView_NhapHang.CurrentCell          = dataGridView_NhapHang.Rows[vt].Cells[clSLNhan.Index];
                dataGridView_NhapHang.CurrentCell.Selected = true;
                dataGridView_NhapHang.BeginEdit(true);
                return(false);
            }
        }
Exemplo n.º 2
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult res = MessageBox.Show("Xóa đơn Nhập Hàng", "Nhập Hàng", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);

            //Lấy vị trí cần xóa
            if (res == DialogResult.Yes)
            {
                string id = dataGridView_TraCuuNhapHang.CurrentRow.Cells["clMaPhieuNhap"].Value.ToString();
                List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = ChiTietPhieuNhapBUS.SelectChiTietPhieuNhapByMaPhieuNhap(id);
                bool xoa = true;
                for (int i = 0; i < listChiTietPhieuNhapDTO.Count; i++)
                {
                    if (SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).SoLuongTon < listChiTietPhieuNhapDTO[i].SLNhan)
                    {
                        xoa = false;
                    }
                }
                if (xoa)
                {
                    int    Index     = dataGridView_TraCuuNhapHang.CurrentRow.Index;
                    int    stt       = int.Parse(dataGridView_TraCuuNhapHang.CurrentRow.Cells[clSTT.Index].Value.ToString());
                    string maDonHang = PhieuNhapBUS.SelectPhieuNhapById(id).MaDonHang;
                    if (PhieuNhapBUS.DeletePhieuNhapByID(id))
                    {
                        dataGridView_TraCuuNhapHang.Rows.RemoveAt(Index);
                        if (dataGridView_TraCuuNhapHang.RowCount > 0)
                        {
                            bool f = false;
                            for (int i = 0; i < Index; i++)
                            {
                                if (dataGridView_TraCuuNhapHang.Rows[i].Visible == true)
                                {
                                    f = true;
                                    break;
                                }
                            }


                            for (int i = Index; i < dataGridView_TraCuuNhapHang.RowCount; i++)
                            {
                                if (dataGridView_TraCuuNhapHang.Rows[i].Visible == true)
                                {
                                    dataGridView_TraCuuNhapHang.Rows[i].Cells["clSTT"].Value = stt.ToString();
                                    stt++;
                                    f = true;
                                }
                            }

                            if (f == false)
                            {
                                disableButton();
                            }
                            else
                            {
                                enableButton();
                            }
                        }
                        else
                        {
                            disableButton();
                        }

                        //Update

                        //Up date  so luong da nhan trong bang chi tiet don hang va so luong ton
                        List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(maDonHang);
                        SanPhamDTO sanPhamDTO = new SanPhamDTO();
                        bool       falg       = true;
                        int        tongCV     = 0;
                        for (int i = 0; i < listchiTietDonHangDTO.Count; i++)
                        {
                            //chi tiet don hang
                            listchiTietDonHangDTO[i].SLDaNhan = listchiTietDonHangDTO[i].SLDaNhan - listChiTietPhieuNhapDTO[i].SLNhan;
                            tongCV += listChiTietPhieuNhapDTO[i].SLNhan * SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham).CV;
                            ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]);
                            if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong)
                            {
                                falg = false;
                            }

                            //so luong ton
                            sanPhamDTO            = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham);
                            sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon - listChiTietPhieuNhapDTO[i].SLNhan;
                            SanPhamBUS.UpdateSanPhamById(sanPhamDTO);
                        }

                        //update trang thai don hang
                        DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(maDonHang);
                        if (falg)//Da nhan (tat ca SlDaNhan == SoLuong)
                        {
                            donHangDTO.TrangThai = "Đã nhận";
                        }
                        else//Nhan mot phan (con it nhat mot san pham chua nhan het)
                        {
                            donHangDTO.TrangThai = "Nhận một phần";
                        }
                        DonHangBUS.UpdateDonHangById(donHangDTO);

                        //update tong cv
                        ThamSoDTO thamSoDTO = ThamSoBUS.SelectThamSoById("TS004");
                        thamSoDTO.GiaTri = (int.Parse(thamSoDTO.GiaTri) - tongCV).ToString();
                        ThamSoBUS.UpdateThamSoById(thamSoDTO);

                        MessageBox.Show("Xóa thành công");
                    }
                }
                else
                {
                    MessageBox.Show("Sản phẩm đã bán, không cho phép xóa phiếu nhập " + id);
                }
            }
        }
Exemplo n.º 3
0
        private bool InsertPhieuNhap()
        {
            bool res = true;

            if (DonHangBUS.SelectDonHangById(txtDonDatHang.Text).TrangThai != "Đã nhận")
            {
                int vt = KiemTraDuLieu();
                if (vt == -1)//du lieu hop le
                {
                    //Lay du lieu
                    PhieuNhapDTO phieuNhapDTO = new PhieuNhapDTO();
                    phieuNhapDTO.MaPhieuNhap = txtMaPhieuNhap.Text;
                    phieuNhapDTO.MaNhanVien  = txtMaNhanVien.Text;
                    phieuNhapDTO.NgayNhan    = NgayNhap;
                    phieuNhapDTO.MaDonHang   = txtDonDatHang.Text;

                    List <ChiTietPhieuNhapDTO> listChiTietPhieuNhapDTO = new List <ChiTietPhieuNhapDTO>();
                    int tongCV = 0;
                    for (int i = 0; i < dataGridView_NhapHang.RowCount; i++)
                    {
                        ChiTietPhieuNhapDTO chiTietPhieuNhapDTO = new ChiTietPhieuNhapDTO();
                        chiTietPhieuNhapDTO.MaChiTietPhieuNhap = txtMaPhieuNhap.Text;
                        if (i > 100)
                        {
                            chiTietPhieuNhapDTO.MaChiTietPhieuNhap += (i + 1).ToString();
                        }
                        else if (i > 10)
                        {
                            chiTietPhieuNhapDTO.MaChiTietPhieuNhap += "0" + (i + 1).ToString();
                        }
                        else
                        {
                            chiTietPhieuNhapDTO.MaChiTietPhieuNhap += "00" + (i + 1).ToString();
                        }
                        chiTietPhieuNhapDTO.MaPhieuNhap = txtMaPhieuNhap.Text;
                        chiTietPhieuNhapDTO.MaSanPham   = dataGridView_NhapHang.Rows[i].Cells[clMaSanPham.Index].Value.ToString();
                        chiTietPhieuNhapDTO.SLNhan      = int.Parse(dataGridView_NhapHang.Rows[i].Cells[clSLNhan.Index].Value.ToString());
                        tongCV += SanPhamBUS.SelectSanPhamById(chiTietPhieuNhapDTO.MaSanPham).CV *chiTietPhieuNhapDTO.SLNhan;
                        chiTietPhieuNhapDTO.GhiChu = dataGridView_NhapHang.Rows[i].Cells[clGhiChu.Index].Value.ToString();
                        listChiTietPhieuNhapDTO.Add(chiTietPhieuNhapDTO);
                    }

                    //Insert phieu nhap
                    if (PhieuNhapBUS.InsertPhieuNhap(phieuNhapDTO))
                    {
                        //Insert chi tiet phieu nhap
                        foreach (ChiTietPhieuNhapDTO ct in listChiTietPhieuNhapDTO)
                        {
                            ChiTietPhieuNhapBUS.InsertChiTietPhieuNhap(ct);
                        }

                        //Up date  so luong da nhan trong bang chi tiet don hang
                        string id = txtDonDatHang.Text;
                        List <ChiTietDonHangDTO> listchiTietDonHangDTO = ChiTietDonHangBUS.SelectChiTietDonHangByMaDonHang(id);
                        bool f = true;
                        for (int i = 0; i < listchiTietDonHangDTO.Count; i++)
                        {
                            listchiTietDonHangDTO[i].SLDaNhan += listChiTietPhieuNhapDTO[i].SLNhan;
                            ChiTietDonHangBUS.UpdateChiTietDonHangById(listchiTietDonHangDTO[i]);
                            if (listchiTietDonHangDTO[i].SLDaNhan != listchiTietDonHangDTO[i].SoLuong)
                            {
                                f = false;
                            }
                        }

                        //update tong cv
                        ThamSoDTO thamsoDTO = ThamSoBUS.SelectThamSoById("TS004");
                        thamsoDTO.GiaTri = (int.Parse(thamsoDTO.GiaTri) + tongCV).ToString();
                        ThamSoBUS.UpdateThamSoById(thamsoDTO);


                        //update trang thai don hang
                        DonHangDTO donHangDTO = DonHangBUS.SelectDonHangById(id);
                        if (f)//Da nhan (tat ca SlDaNhan == SoLuong)
                        {
                            donHangDTO.TrangThai = "Đã nhận";
                        }
                        else//Nhan mot phan (con it nhat mot san pham chua nhan het)
                        {
                            donHangDTO.TrangThai = "Nhận một phần";
                        }
                        DonHangBUS.UpdateDonHangById(donHangDTO);


                        //Update so luong ton trong bang san pham
                        SanPhamDTO sanPhamDTO = new SanPhamDTO();
                        for (int i = 0; i < listChiTietPhieuNhapDTO.Count; i++)
                        {
                            sanPhamDTO             = SanPhamBUS.SelectSanPhamById(listChiTietPhieuNhapDTO[i].MaSanPham);
                            sanPhamDTO.SoLuongTon += listChiTietPhieuNhapDTO[i].SLNhan;
                            SanPhamBUS.UpdateSanPhamById(sanPhamDTO);
                        }



                        MessageBox.Show("Tạo Thành Công");
                    }
                    else
                    {
                        MessageBox.Show("Tạo Không Thành Công");
                        res = false;
                    }
                }
                else //du lieu ko hop le o vi tri vt
                {
                    dataGridView_NhapHang.CurrentCell          = dataGridView_NhapHang.Rows[vt].Cells[clSLNhan.Index];
                    dataGridView_NhapHang.CurrentCell.Selected = true;
                    dataGridView_NhapHang.BeginEdit(true);
                    res = false;
                }
            }
            else // don hang da nhan
            {
                MessageBox.Show("Đon hàng " + txtDonDatHang.Text + " đã nhận xong, không thể tạo phiếu nhập");
                btnTao.Enabled = false;
                res            = false;
            }
            return(res);
        }