Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
 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();
     }
 }