private void btnLapPhieuXuat_Click(object sender, EventArgs e) { SqlConnection connPX = new SqlConnection(@"Data Source=DESKTOP-KP2LC3K\SQLEXPRESS;Initial Catalog=QuanLyKhoHang;Integrated Security=True"); connPX.Open(); int id = -1; string tenNV = tbNguoiLapPhieuXuat.Text; //lấy thông tin người lập phiếu NhanVien nv = new NhanVien(); nv.getNhanVienByTen(tenNV); //Lấy thông tin về khách hàng //lấy ra id khách hàng if (chkbKhachHangMoi.Checked == true && tbKhachHangMoi.Text != "") { string ten = tbKhachHangMoi.Text; string sdt = tbPhoneKhachHangMoi.Text; string diaChi = tbDiaChiKhachHangMoi.Text; string email = tbEmailKhachHangMoi.Text; //kiểm tra khách hàng nhập vào đã có trong database hay chưa //tức kiểm tra tên và số điện thoại SqlCommand cmd = new SqlCommand(); string sql = @"select top(1) *from KhachHang where ten=N'" + ten + @"' and phone = N'" + sdt + @"'"; cmd.CommandText = sql; cmd.Connection = connPX; DbDataReader reader = cmd.ExecuteReader(); KhachHang kh = new KhachHang(); try { if (reader.HasRows) { while (reader.Read()) { int idIndex = reader.GetOrdinal("id"); kh.id = Convert.ToInt32(reader.GetValue(idIndex)); int maIndex = reader.GetOrdinal("ma"); kh.ma = Convert.ToString(reader.GetValue(maIndex)); int tenIndex = reader.GetOrdinal("ten"); kh.ten = Convert.ToString(reader.GetValue(tenIndex)); int phoneIndex = reader.GetOrdinal("phone"); kh.phone = Convert.ToString(reader.GetValue(phoneIndex)); int emailIndex = reader.GetOrdinal("email"); kh.email = Convert.ToString(reader.GetValue(emailIndex)); int diaChiIndex = reader.GetOrdinal("diaChi"); kh.diaChi = Convert.ToString(reader.GetValue(diaChiIndex)); break; } } } catch { MessageBox.Show(@"lỗi xảy ra khi kiểm tra thông tin khách hàng " + ten); } finally { reader.Dispose(); } if (kh.ten != null)//đã có khách này trong data { //MessageBox.Show(@"có kh"); //lấy ra id id = kh.id; } else { //MessageBox.Show(@"dell có "); //thêm khách vào data và lấy ra id string sqltg = @"insert into KhachHang(ten,phone,email,diaChi) values(N'" + ten + @"',N'" + sdt + @"',N'" + email + @"',N'" + diaChi + @"')"; cmd.CommandText = sqltg; cmd.ExecuteNonQuery(); string sqltg2 = @"select top(1) *from KhachHang where ten=N'" + ten + @"' and phone = N'" + sdt + @"'"; cmd.CommandText = sqltg2; //cmd.Connection = conn; DbDataReader reader2 = cmd.ExecuteReader(); KhachHang kh2 = new KhachHang(); try { if (reader2.HasRows) { while (reader2.Read()) { int idIndex = reader2.GetOrdinal("id"); kh2.id = Convert.ToInt32(reader2.GetValue(idIndex)); int maIndex = reader2.GetOrdinal("ma"); kh2.ma = Convert.ToString(reader2.GetValue(maIndex)); int tenIndex = reader2.GetOrdinal("ten"); kh2.ten = Convert.ToString(reader2.GetValue(tenIndex)); int phoneIndex = reader2.GetOrdinal("phone"); kh2.phone = Convert.ToString(reader2.GetValue(phoneIndex)); int emailIndex = reader2.GetOrdinal("email"); kh2.email = Convert.ToString(reader2.GetValue(emailIndex)); int diaChiIndex = reader2.GetOrdinal("diaChi"); kh2.diaChi = Convert.ToString(reader2.GetValue(diaChiIndex)); break; } } } catch { MessageBox.Show(@"lỗi xảy ra khi thêm khách hàng " + ten); } finally { reader2.Dispose(); } //lấy ra id kh2 vừa thêm và gán vào id id = kh2.id; } } if (chkbKhachHangMoi.Checked == false && cbKhachHang.Text != "") { var Khach = cbKhachHang.Tag as KhachHang; id = Khach.id; } if (id == -1 || nv.id == "" || lsChiTietPhieuXuat.Count == 0) { MessageBox.Show(@"thông tin khách hàng, người lập phiếu và nội dung phiếu không được bỏ trống"); } else { //lấy ngày giờ hiện tại var time = DateTime.Now; //thêm hóa đơn mới vào data SqlCommand cmd1 = new SqlCommand(); string sql1 = @"insert into PhieuXuat(ngay,idKhachHang,idNhanVien) values(N'" + time.ToString() + @"',N'" + id.ToString() + @"',N'" + nv.id.ToString() + @"')"; cmd1.CommandText = sql1; cmd1.Connection = connPX; cmd1.ExecuteNonQuery(); //Lấy ra id hóa đơn vừa thêm int idPhieu = -1; sql1 = @"select *from PhieuXuat where ngay=N'" + time.ToString() + @"' and idKhachHang=N'" + id.ToString() + @"' and idNhanVien=N'" + nv.id.ToString() + @"'"; cmd1.CommandText = sql1; DbDataReader reader1 = cmd1.ExecuteReader(); try { if (reader1.HasRows) { while (reader1.Read()) { int idIndex = reader1.GetOrdinal("id"); idPhieu = Convert.ToInt32(reader1.GetValue(idIndex)); break; } } } catch { MessageBox.Show("Lỗi khi lấy id Phiếu xuất"); } finally { reader1.Dispose(); } //thêm nội dung phiếu xuất vào database foreach (var item in lsChiTietPhieuXuat) { ThemNoiDungPhieuXuat(item, idPhieu); } lsvPhieuXuat.Items.Clear(); lsChiTietPhieuXuat.Clear(); cbKhachHang.Text = ""; //tbNguoiLapPhieuXuat.Text = ""; tbTongXuat.Text = ""; MessageBox.Show(@"Lập phiếu nhập thành công!"); connPX.Close(); } }
private void btnLapPhieuNhap_Click(object sender, EventArgs e) { conn.Open(); try { NhaCungCap ncc = cbNhaCungCap.Tag as NhaCungCap; NhanVien nv = new NhanVien(); if (tbNguoiLapPhieuNhap.Text != "" && lsChiTietHoaDon.Count != 0) { nv.getNhanVienByTen(tbNguoiLapPhieuNhap.Text); SqlCommand cmd = new SqlCommand(); cmd.Connection = conn; string sql = @"insert into PhieuNhap(ngay,idNhaCungCap,idNhanVien) values(null,N'" + ncc.id + @"',N'" + nv.id + @"')"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); //lấy id phieu nhập vừa thêm sql = @"select top(1) id from PhieuNhap where ngay is null and idNhaCungCap =N'" + ncc.id + @"' and idNhanVien = N'" + nv.id + @"'"; cmd.CommandText = sql; DbDataReader reader = cmd.ExecuteReader(); int idPhieu = -1; try { if (reader.HasRows) { while (reader.Read()) { int index = reader.GetOrdinal("id"); idPhieu = Convert.ToInt32(reader.GetValue(index)); } } } finally { reader.Dispose(); } //cập nhật ngày tháng lập phiếu vào phiếu vừa lập sql = @"update PhieuNhap set ngay = getdate() where id = " + idPhieu.ToString(); cmd.CommandText = sql; cmd.ExecuteNonQuery(); //thêm chi tiết phiếu nhập foreach (ChiTietHoaDon item in lsChiTietHoaDon) { sql = @"insert into ChiTietPhieuNhap(idMatHang,idPhieuNhap,soLuong,giaNhap,giaXuat,trangThai) values(N'" + item.maHang + @"',N'" + idPhieu.ToString() + @"',N'" + item.soLuong.ToString() + @"',N'" + item.giaNhap.ToString() + @"',N'" + item.giaXuat.ToString() + @"',N'" + item.soLuong.ToString() + @"')"; cmd.CommandText = sql; cmd.ExecuteNonQuery(); } //làm trống lsvPhieuNhap và lsChiTietHoaDon lsvPhieuNhap.Items.Clear(); lsChiTietHoaDon.Clear(); MessageBox.Show(@"Lập phiếu nhập thành công!"); } else { if (tbNguoiLapPhieuNhap.Text == "") { MessageBox.Show(@"Hãy nhập tên người lập phiếu"); } else { MessageBox.Show(@"Hãy thêm nội dung phiếu nhập!"); } } } catch { MessageBox.Show(@"có lỗi xảy ra! Lập phiếu thất bại."); } finally { conn.Close(); } }