private void btnSuaChua_Click(object sender, EventArgs e) { GridView gridView = grcChungTu.FocusedView as GridView; InforDetailSell inforSellGui = new InforDetailSell(); var maPhieu = gridView.GetRowCellValue(gridView.FocusedRowHandle, "MaPhieu"); // lấy được mã phiếu if (maPhieu == null) { XtraMessageBox.Show("Mời bạn chọn mã phiếu cần sửa"); } else { // lấy thông tin: inforSellGui = inforSell.getInforDetailSellFromMa(maPhieu.ToString()); List <DetailSellGoods> listDetailBuyGui = detailSellBus.getListChiTietHoaDonBanHangFromMaPhieu(maPhieu.ToString()); if (UpdateBanHang != null) { UpdateBanHang(inforSellGui, listDetailBuyGui); // chhuyeenr sang bên nhận } } }
public List <InforDetailSell> getListThanhToanCongNo(DateTime a, DateTime b, int check) { string sql; if (check == 0) { sql = string.Format("SELECT MaPhieu, NgayLap, MaKH, TenKH, TongTienNhan, GhiChu " + "FROM THONGTIN_PHIEU_BANHANG where Ma_DieuKhoan = {0} and isCheck = {1}", 1, 1); } else { sql = string.Format("SELECT MaPhieu, NgayLap, MaKH, TenKH, TongTienNhan, GhiChu " + "FROM THONGTIN_PHIEU_BANHANG where Ma_DieuKhoan = {0} and isCheck = {1} and tt.NgayLap Between '{2}' and '{3}'", 1, 1, a, b); } DataTable data = ConnectionDB.getData(sql); List <InforDetailSell> listInforSell = new List <InforDetailSell>(); if (data.Rows.Count > 0) { foreach (DataRow dataRow in data.Rows) { InforDetailSell inforSell = new InforDetailSell(); inforSell.MaPhieu = dataRow["MaPhieu"].ToString(); inforSell.NgayLap = DateTime.Parse(dataRow["NgayLap"].ToString()); inforSell.MaKH = dataRow["MaKH"].ToString(); inforSell.TenKH = dataRow["TenKH"].ToString(); inforSell.TongTienNhan = float.Parse(dataRow["TongTienNhan"].ToString()); inforSell.GhiChu = dataRow["GhiChu"].ToString(); listInforSell.Add(inforSell); } } return(listInforSell); }
public List <InforDetailSell> getThongTinHoaDonFromMaKH(DateTime dtTu, DateTime dtDen, string maKH)// dùng bên chứng từ mua { string sql = ""; sql = string.Format("SELECT kh.TenKho, tt.MaPhieu, tt.NgayLap, tt.SoHoaDonVAT, tt.SoPhieuNhapTay, " + " tt.TenKH, tt.CK, tt.VAT, tt.TongTienBan, tt.TongTienNhan, tt.GhiChu " + " FROM KHOHANG kh, THONGTIN_PHIEU_BANHANG tt WHERE kh.MaKho = tt.MaKho and tt.NgayLap Between '{0}' and '{1}' and tt.MaKH = '{2}' ", dtTu, dtDen, maKH); List <InforDetailSell> listInforSell = new List <InforDetailSell>(); DataTable data = ConnectionDB.getData(sql); if (data.Rows.Count > 0) { foreach (DataRow dataRow in data.Rows) { InforDetailSell inforSell = new InforDetailSell(); inforSell.TenKho = dataRow["TenKho"].ToString(); inforSell.MaPhieu = dataRow["MaPhieu"].ToString(); inforSell.NgayLap = DateTime.Parse(dataRow["NgayLap"].ToString()); inforSell.SoHoaDonVAT = dataRow["SoHoaDonVAT"].ToString(); inforSell.SoPhieuNhapTay = dataRow["SoPhieuNhapTay"].ToString(); inforSell.TenKH = dataRow["TenKH"].ToString(); inforSell.CK = float.Parse(dataRow["CK"].ToString()); inforSell.VAT = float.Parse(dataRow["VAT"].ToString()); inforSell.TongTienBan = float.Parse(dataRow["TongTienBan"].ToString()); inforSell.GhiChu = dataRow["GhiChu"].ToString(); inforSell.TongTienNhan = float.Parse(dataRow["TongTienNhan"].ToString()); listInforSell.Add(inforSell); } } return(listInforSell); }
private void UpdatePhieuBanHang(InforDetailSell inforSell, List <DetailSellGoods> list) { uc.Dock = DockStyle.Fill; userControl.Controls.Clear(); userControl.Controls.Add(uc); userControl.Dock = DockStyle.Fill; uc.getDuLieu(inforSell, list); }
private void grvChungTu_MasterRowGetChildList(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowGetChildListEventArgs e) { GridView grv = sender as GridView; InforDetailSell infor = grv.GetRow(e.RowHandle) as InforDetailSell; e.ChildList = listChiTietSell.Where(x => x.MaPhieuXuat == infor.MaPhieu).ToList(); }
private void grvChungTu_MasterRowEmpty(object sender, DevExpress.XtraGrid.Views.Grid.MasterRowEmptyEventArgs e) { GridView grv = sender as GridView; InforDetailSell infor = grv.GetRow(e.RowHandle) as InforDetailSell; if (infor != null) { e.IsEmpty = !listChiTietSell.Any(x => x.MaPhieuXuat == infor.MaPhieu); } }
public int UpdateInforSell(InforDetailSell Infordetail) { string sql = string.Format("UPDATE [THONGTIN_PHIEU_BANHANG] SET " + " MaKH = '{1}' , TenKH = N'{2}', DiaChi = N'{3}', SoHoaDonVAT = '{4}' ,MaKho = '{5}', NgayLap = '{6}', HanThanhToan = '{7}', Ma_DieuKhoan = {8}, Ma_PhuongThuc = '{9}', MaNVLap = '{10}', CK = {11}, VAT = {12}, TongTienBan = {13}, TongTienNhan = {14}, ischeck = {15} " + " WHERE MaPhieu = '{0}'", Infordetail.MaPhieu, Infordetail.MaKH, Infordetail.TenKH, Infordetail.DiaChi, Infordetail.SoHoaDonVAT, Infordetail.MaKho, Infordetail.NgayLap, Infordetail.HanThanhToan, Infordetail.Ma_DieuKhoan, Infordetail.Ma_PhuongThuc, Infordetail.MaNVLap, Infordetail.CK, Infordetail.VAT, Infordetail.TongTienBan, Infordetail.TongTienNhan, 1); int check = ConnectionDB.ExcuteNonQuery(sql); return(check); }
public int InsertDetailSellGoods(InforDetailSell Infordetail) { string sql = string.Format("INSERT INTO [THONGTIN_PHIEU_BANHANG](MaPhieu ," + " MaKH, TenKH, DiaChi, SoHoaDonVAT ,MaKho, NgayLap, HanThanhToan, Ma_DieuKhoan, Ma_PhuongThuc, MaNVLap, CK, GhiChu, TongTienBan, TongTienNhan, VAT, IsCheck) " + "VALUES ('{0}', '{1}', N'{2}',N'{3}', '{4}', '{5}', '{6}', '{7}', {8}, '{9}', '{10}', {11}, N'{12}', {13}, {14}, {15}, {16})", Infordetail.MaPhieu, Infordetail.MaKH, Infordetail.TenKH, Infordetail.DiaChi, Infordetail.SoHoaDonVAT, Infordetail.MaKho, Infordetail.NgayLap, Infordetail.HanThanhToan, Infordetail.Ma_DieuKhoan, Infordetail.Ma_PhuongThuc, Infordetail.MaNVLap, Infordetail.CK, Infordetail.GhiChu, Infordetail.TongTienBan, Infordetail.TongTienNhan, Infordetail.VAT, 1); int check = ConnectionDB.ExcuteNonQuery(sql); return(check); }
public void getDuLieu(InforDetailSell infor, List <DetailSellGoods> listDetail) { txtPhieu.Text = infor.MaPhieu; txtMaKH.Text = infor.MaKH; cbKhachHang.Text = infor.TenKH; cbKhoNhap.EditValue = infor.MaKho; cbDieuKhoanThanhToan.EditValue = infor.Ma_DieuKhoan; cbHinhThucThanhToan.EditValue = infor.Ma_PhuongThuc; dtNgay.Text = infor.NgayLap.ToString(); cbNhanVien.EditValue = infor.MaNVLap; foreach (DetailSellGoods x in listDetail) { detailSellBUS.InsertChiTietHoaDonBanHang_Ao(x); } grcHangHoa.DataSource = detailSellBUS.getHTDetailSellBuy(); // lấy bảng ảo để hiển thị }
public InforDetailSell getInforDetailSellFromMa(string maPhieu) { string sql = string.Format("SELECT * FROM THONGTIN_PHIEU_BANHANG WHERE MaPhieu = '{0}'", maPhieu); DataTable data = ConnectionDB.getData(sql); InforDetailSell inforX = new InforDetailSell(); if (data.Rows.Count > 0) { inforX.MaPhieu = data.Rows[0]["MaPhieu"].ToString(); inforX.MaKH = data.Rows[0]["MaKH"].ToString(); inforX.TenKH = data.Rows[0]["TenKH"].ToString(); inforX.MaKho = data.Rows[0]["MaKho"].ToString(); inforX.Ma_DieuKhoan = int.Parse(data.Rows[0]["Ma_DieuKhoan"].ToString()); inforX.Ma_PhuongThuc = data.Rows[0]["Ma_PhuongThuc"].ToString(); inforX.NgayLap = DateTime.Parse(data.Rows[0]["NgayLap"].ToString()); inforX.MaNVLap = data.Rows[0]["MaNVLap"].ToString(); } return(inforX); }
private void btnLuuVaThem_Click(object sender, EventArgs e) { InforDetailSell infor = new InforDetailSell(); string maPhieu = ""; int sl = 0; bool check = true; // lấy thông tin infor để lưu // phần bắt lỗi: int count = grvListGoodSell.RowCount; if (cbKhachHang.Text == "") { XtraMessageBox.Show("Thiếu trường thông tin"); cbKhachHang.Focus(); } else if (count < 2) { XtraMessageBox.Show("Mời bạn chọn mặt hàng"); } else { tk.MaKho = infor.MaKho = cbKhoNhap.EditValue != null?cbKhoNhap.EditValue.ToString() : null; // lấy Mã kho của măt hàng mua vào for (int i = 0; i < count - 1; i++) /// Chạy for để lấy ra tất cả những mặt hành nào đã bán { DetailSellGoods detailSell = new DetailSellGoods(); DataRow data = grvListGoodSell.GetDataRow(i); sl = detailSell.SoLuong = int.Parse(data[4].ToString()); tk.MaHang = detailSell.MaHang = data[1].ToString(); int checkMaHang = tkBus.checkMatHang(tk.MaHang, tk.MaKho); int slHienTaiMH = tkBus.getSoLuong(tk); slHienTaiMH -= sl; // kiểm tra xem là mặt hàng nãy đã có trong kho hay chưa if (checkMaHang == 1) { if (slHienTaiMH < 0) { DialogResult dr; dr = XtraMessageBox.Show("Số lượng tồn kho đang ít hơn số lượng bán. Nếu thực hiện giao dịch, số lượng tồn của mặt hàng " + tk.MaHang + " sẽ là âm ", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { check = false; break; } } } else // neếu mặt hang chưa có trong Kho. { DialogResult dr; dr = XtraMessageBox.Show("Mặt hàng hiện chưa có trong kho. Nếu thực hiện giao dịch. Số lượng tồn của mặt hàng " + tk.MaHang + " sẽ là âm ", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.No) { check = false; break; } } } if (check == false) { XtraMessageBox.Show("Thêm Mặt hàng thất bại"); } else { infor.TongTienNhan = float.Parse(ThanhTien.Text); infor.TongTienBan = getSumTien(); infor.CK = float.Parse(calCK.Text); infor.VAT = float.Parse(calVAT.Text); infor.MaPhieu = maPhieu = txtPhieu.Text; infor.TenKH = cbKhachHang.Text; infor.MaKH = txtMaKH.Text; infor.NgayLap = DateTime.Parse(String.Format("{0:MM/dd/yyyy}", dtNgay.Text)); infor.HanThanhToan = DateTime.Parse(String.Format("{0:MM/dd/yyyy}", dtHanThanhToan.Text)); infor.MaNVLap = cbNhanVien.EditValue != null?cbNhanVien.EditValue.ToString() : null; infor.SoHoaDonVAT = txtSoHoaDonVAT.Text; infor.SoPhieuNhapTay = txtSoPhieuVietTay.Text; infor.DiaChi = txtDiaChi.Text; infor.GhiChu = txtGhiChu.Text; infor.Ma_PhuongThuc = cbHinhThucThanhToan.EditValue != null?cbHinhThucThanhToan.EditValue.ToString() : null; infor.Ma_DieuKhoan = int.Parse(cbDieuKhoanThanhToan.EditValue != null ? cbDieuKhoanThanhToan.EditValue.ToString() : null); // kieemre tra xem đã tông tại chưa. nếu chưa thò insert. có rồi thì update: int checkMPhieu = inforSellBus.checkMaPhieuBan(infor.MaPhieu); try { if (checkMPhieu == 1) { inforSellBus.UpdateInforSell(infor); // Nhập thông tin bán hàng } else { inforSellBus.InsertDetailSellGoods(infor); // Nhập thông tin bán hàng } } catch (SqlException ex) { XtraMessageBox.Show("Lỗi Insert DetailSellGoods: " + ex.Message); } int isDelete = 0; for (int i = 0; i < count - 1; i++) /// Chạy for để lấy ra tất cả những mặt hành nào đã bán { DetailSellGoods detailSell = new DetailSellGoods(); DataRow data = grvListGoodSell.GetDataRow(i); detailSell.MaPhieuXuat = maPhieu; tk.MaHang = detailSell.MaHang = data[1].ToString(); detailSell.TenHang = detailSell.TenHang = data[2].ToString(); detailSell.DonVi = data[3].ToString(); sl = detailSell.SoLuong = int.Parse(data[4].ToString()); detailSell.DonGia = float.Parse(data[5].ToString()); detailSell.ThanhTien = float.Parse(data[6].ToString()); detailSell.CK = int.Parse(data[7].ToString()); detailSell.ThanhToan = float.Parse(data[9].ToString()); try { if (checkMPhieu == 1 && isDelete == 0) //có rồi { // xóa rồi thêm lại detailSellBUS.DeleteDetailSell(txtPhieu.Text); isDelete = 1; } detailSellBUS.InsertDetailSell(detailSell); } catch (SqlException ex) { XtraMessageBox.Show("Lỗi tại thêm chi tiết phiếu bán: " + ex.Message); check = false; } 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) { //slHienTai -= sl; try { tkBus.UpdateSoLuong(tk, slHienTai); // nếu có rồi thì chỉ cần update số luọng } catch (SqlException ex) { XtraMessageBox.Show("Lỗi tại update số luọng: " + ex.Message); } } else // neếu mặt hang chưa có trong Kho. { try { tkBus.insertTonKho(tk, slHienTai); } catch (SqlException ex) { XtraMessageBox.Show("Lỗi tại thêm vào tồn kho: " + ex.Message); } } } AddNhatKy("Thêm", TenChucNang); XtraMessageBox.Show("Thêm Mặt hàng thành công"); txtPhieu.Text = inforSellBus.IDAuto(); detailSellBUS.deleteChiTietHoaDonAo(); grcHangHoa.DataSource = detailSellBUS.getHTDetailSellBuy(); } } }
public int UpdateInforSell(InforDetailSell Infordetail) { return(inforSell.UpdateInforSell(Infordetail)); }
public int InsertDetailSellGoods(InforDetailSell Infordetail) { return(inforSell.InsertDetailSellGoods(Infordetail)); }