예제 #1
0
        public int UpdateDetailBuy(DetailBuyGoods detailBuy)
        {
            string sql = string.Format("UPDATE [CT_PHIEUNHAP] set MaHang ='{1}' , TenHang =  N'{2}', DonVi = N'{3}', SoLuong = {4}, DonGia = {5}, " +
                                       "ThanhTien = {6}, GhiChu = N'{7}' WHERE MaPhieu = '{0}'"
                                       , detailBuy.MaPhieu,
                                       detailBuy.MaHang, detailBuy.TenHang, detailBuy.DonVi, detailBuy.SoLuong, detailBuy.DonGia, detailBuy.ThanhTien, detailBuy.GhiChu);
            int check = ConnectionDB.ExcuteNonQuery(sql);

            return(check);
        }
예제 #2
0
        public int InsertDetailBuyGoods(DetailBuyGoods detailBuy)
        {
            string sql = string.Format("INSERT INTO [CT_PHIEUNHAP](MaPhieu, MaHang, TenHang, DonVi, SoLuong, DonGia, " +
                                       "ThanhTien, GhiChu) " +
                                       "VALUES ('{0}', '{1}', N'{2}',N'{3}', {4}, {5}, {6}, N'{7}')", detailBuy.MaPhieu,
                                       detailBuy.MaHang, detailBuy.TenHang, detailBuy.DonVi, detailBuy.SoLuong, detailBuy.DonGia, detailBuy.ThanhTien, detailBuy.GhiChu);
            int check = ConnectionDB.ExcuteNonQuery(sql);

            return(check);
        }
예제 #3
0
        public float getTongTien()  // lay duocj tong tien
        {
            int   count    = grvChuyenKho.RowCount;
            float tongTien = 0;

            for (int i = 0; i < count - 1; i++)
            {
                DetailBuyGoods detailBuy = new DetailBuyGoods();
                DataRow        data      = grvChuyenKho.GetDataRow(i);
                tongTien += float.Parse(data[6].ToString());
            }
            return(tongTien);
        }
예제 #4
0
        public List <DetailBuyGoods> getListChiTietHoaDonMuaHang()
        {
            string sql = string.Format("Select MaPhieu, MaHang, TenHang, DonVi, SoLuong, DonGia," +
                                       " ThanhTien from [CT_PHIEUNHAP]");
            DataTable             data        = ConnectionDB.getData(sql);
            List <DetailBuyGoods> listChiTiet = new List <DetailBuyGoods>();

            foreach (DataRow dataRow in data.Rows)
            {
                DetailBuyGoods detaiBuy = new DetailBuyGoods();
                detaiBuy.MaPhieu   = dataRow["MaPhieu"].ToString();
                detaiBuy.MaHang    = dataRow["MaHang"].ToString();
                detaiBuy.TenHang   = dataRow["TenHang"].ToString();
                detaiBuy.DonVi     = dataRow["DonVi"].ToString();
                detaiBuy.SoLuong   = int.Parse(dataRow["SoLuong"].ToString());
                detaiBuy.DonGia    = float.Parse(dataRow["DonGia"].ToString());
                detaiBuy.ThanhTien = float.Parse(dataRow["ThanhTien"].ToString());
                listChiTiet.Add(detaiBuy);
            }
            return(listChiTiet);
        }
예제 #5
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            bool   check = true;
            TonKho tk    = new TonKho();
            int    count = grdHoaDon.RowCount;

            //float TongTienMua = 0;

            string maPhieu = "";
            int    sl      = 0;

            if (cbTenNCC.Text == "")
            {
                XtraMessageBox.Show("Thiếu trường thông tin");
                cbTenNCC.Focus();
            }
            else if (count < 2)
            {
                XtraMessageBox.Show("Mời bạn chọn mặt hàng");
                grdHoaDon.Focus();
            }
            else
            {
                InforDetailBuy inforBuy = new InforDetailBuy();
                inforBuy.MaPhieu = txtPhieu.Text;
                inforBuy.TenNCC  = cbTenNCC.Text;
                inforBuy.MaNCC   = txtMaNCC.Text;
                inforBuy.NgayLap = DateTime.Parse(String.Format("{0:MM/dd/yyyy}", dtNgay.Text));

                inforBuy.HanThanhToan = DateTime.Parse(String.Format("{0:MM/dd/yyyy}", dtHanThanhToan.Text));
                inforBuy.MaNVLap      = cbNhanVien.EditValue != null?cbNhanVien.EditValue.ToString() : null;

                inforBuy.MaKhoNhap = cbKhoNhap.EditValue != null?cbKhoNhap.EditValue.ToString() : null;

                inforBuy.VAT         = float.Parse(calVAT.Text);
                inforBuy.CK          = float.Parse(calCK.Text);
                inforBuy.TongTienMua = getTongTien();
                inforBuy.TongTienTra = float.Parse(calTongTienTra.Text);
                tk.MaKho             = inforBuy.MaKhoNhap; // lấy Mã kho của măt hàng mua vào

                inforBuy.Ma_PhuongThuc = cbHinhThucThanhToan.EditValue != null?cbHinhThucThanhToan.EditValue.ToString() : null;

                inforBuy.Ma_DieuKhoan = int.Parse(cbDieuKhoanThanhToan.EditValue != null ? cbDieuKhoanThanhToan.EditValue.ToString() : null);

                int checkMPhieu = inforBUS.checkMaPhieuMua(txtPhieu.Text);



                try
                {
                    // check xem mã đã có hay chưa. nếu chưa thì insert. COnf có rồi thò updaye
                    if (checkMPhieu == 1)
                    {
                        inforBUS.UpdateInforBuy(inforBuy);
                    }

                    else
                    {
                        inforBUS.InsertDetailBuyGoods(inforBuy);
                    }
                }
                catch (SqlException ex)
                {
                    XtraMessageBox.Show("Lỗi  DetailBuyGoods:  " + ex.Message);
                }

                int isDelete = 0;
                for (int i = 0; i < count - 1; i++)
                {
                    DetailBuyGoods detailBuy = new DetailBuyGoods();
                    DataRow        data      = grdHoaDon.GetDataRow(i);

                    detailBuy.MaPhieu = txtPhieu.Text;
                    maPhieu           = txtPhieu.Text;


                    txtMaNCC.Text = cbTenNCC.EditValue != null?cbTenNCC.EditValue.ToString() : null;

                    detailBuy.MaHang = data[1].ToString();

                    detailBuy.TenHang = detailBuy.TenHang = data[2].ToString();
                    detailBuy.DonVi   = data[3].ToString();
                    sl = detailBuy.SoLuong = int.Parse(data[4].ToString());
                    detailBuy.DonGia    = float.Parse(data[5].ToString());
                    detailBuy.ThanhTien = float.Parse(data[6].ToString());

                    //  TongTienMua += detailBuy.ThanhTien;

                    tk.MaHang = data[1].ToString();  // lấy mã mặt hàng

                    try
                    {
                        if (checkMPhieu == 1 && isDelete == 0) //có rồi
                        {
                            // xóa rồi thêm lại
                            detailBuyBus.DeleteDetailBuy(detailBuy.MaPhieu);
                            isDelete = 1;
                        }


                        detailBuyBus.InsertDetailBuyGoods(detailBuy);
                    }
                    catch (SqlException ex)
                    {
                        XtraMessageBox.Show("Lỗi tại thêm chi tiết phiếu mua:  " + ex.Message);
                    }

                    // nếu mặt hàng mua đã có trong Kho rồi thì chỉ cần Update lại số lượng
                    // còn nếu chưa có trong kho thì cần thêm mới vào tồn kho
                    int checkMaHang = tkBus.checkMatHang(tk.MaHang, tk.MaKho);
                    int slHienTai   = tkBus.getSoLuong(tk);
                    slHienTai += sl;
                    // kiểm tra xem là mặt hàng nãy đã có trong kho hay chưa
                    if (checkMaHang == 1)
                    {
                        tkBus.UpdateSoLuong(tk, slHienTai);  // nếu có rồi thì chỉ cần update số luọng
                    }
                    else // chưa có thì insert
                    {
                        int checkInsertTonKho = tkBus.insertTonKho(tk, sl);
                        if (checkInsertTonKho == 0)
                        {
                            check = false;
                        }
                    }
                }
                if (check == false)
                {
                    XtraMessageBox.Show("Thêm Mặt hàng thất bại");
                }
                else
                {
                    XtraMessageBox.Show("Thêm Mặt hàng thành công");
                    AddNhatKy("Thêm", TenChucNang);
                    txtPhieu.Text = inforBUS.IDAuto();
                    detailBuyBus.deleteChiTietHoaDonAo();
                    grcHangHoa.DataSource = detailBuyBus.getChiTietHoaDonMuaHang();
                }
            }
        }
예제 #6
0
 public int InsertDetailBuyGoods(DetailBuyGoods detailBuy)
 {
     return(detailBuyDAO.InsertDetailBuyGoods(detailBuy));
 }
예제 #7
0
 public int UpdateDetailBuy(DetailBuyGoods detailBuy)
 {
     return(detailBuyDAO.UpdateDetailBuy(detailBuy));
 }