private void FormChiTietThanhVien_Load(object sender, EventArgs e)
        {
            ThanhVienDTO thanhVienDTO = ThanhVienBUS.SelectThanhVienById(maThanhVien);

            labelMaThanhVien.Text  = "Mã thành viên: " + maThanhVien;
            labelTenThanhVien.Text = "Tên thành viên: " + thanhVienDTO.TenThanhVien;
            labelDiaChi.Text       = "Địa chỉ: " + thanhVienDTO.DiaChi;
            labelTongCV.Text       = "Tổng CV: " + thanhVienDTO.CV.ToString();

            List <PhieuXuatDTO> listPhieuXuatDTO = PhieuXuatBUS.SelectPhieuXuatByMaThanhVien(maThanhVien);

            if (listPhieuXuatDTO != null)
            {
                dataGridViewChiTiet.Rows.Clear();
                List <ChiTietPhieuXuatDTO> listChiTietPhieuXuatDTO = new List <ChiTietPhieuXuatDTO>();
                foreach (PhieuXuatDTO itemPhieuXuat in listPhieuXuatDTO)
                {
                    listChiTietPhieuXuatDTO = ChiTietPhieuXuatBUS.SelectChiTietPhieuXuatByMaPhieuXuat(itemPhieuXuat.MaPhieuXuat);
                    if (listChiTietPhieuXuatDTO != null)
                    {
                        foreach (ChiTietPhieuXuatDTO itemCTPX in listChiTietPhieuXuatDTO)
                        {
                            dataGridViewChiTiet.Rows.Add(
                                itemPhieuXuat.MaPhieuXuat,
                                itemPhieuXuat.NgayBan.ToString("dd/MM/yyyy"),
                                NhanVienBUS.SelectNhanVienById(itemPhieuXuat.MaNhanVien).TenNhanVien,
                                SanPhamBUS.SelectSanPhamById(itemCTPX.MaSanPham).TenSanPham,
                                itemCTPX.SoLuong.ToString(),
                                string.Format("{0:#,0.##}", itemCTPX.ThanhTien)
                                );
                        }
                    }
                }
            }
        }
예제 #2
0
        public List <ThanhVienDTO> ThemThanhVien(string TenTV, int LoaiTV, int CMND, DateTime NgaySinh, int TrangThai)
        {
            string strTruyVan = "INSERT INTO ThanhVien(TenTV,LoaiTV,CMND,NgaySinh,TrangThai) VALUES(@TenTV,@LoaiTV,@CMND,@NgaySinh,@TrangThai)";

            SqlParameter[] par = new SqlParameter[5];
            par[0] = new SqlParameter("@TenTV", TenTV);
            par[1] = new SqlParameter("@LoaiTV", LoaiTV);
            par[2] = new SqlParameter("@CMND", CMND);
            par[3] = new SqlParameter("@NgaySinh", NgaySinh);
            par[4] = new SqlParameter("@TrangThai", TrangThai);
            SqlConnection       conn = DataProvider.TaoKetNoi();
            SqlDataReader       sdr  = DataProvider.TruyVanDuLieu(strTruyVan, par, conn);
            List <ThanhVienDTO> ls   = new List <ThanhVienDTO>();

            while (sdr.Read())
            {
                ThanhVienDTO ketqua = new ThanhVienDTO();
                ketqua.MaTV      = int.Parse(sdr["MaTV"].ToString());
                ketqua.TenTV     = sdr["TenTV"].ToString();
                ketqua.LoaiTV    = int.Parse(sdr["LoaiTV"].ToString());
                ketqua.CMND      = int.Parse(sdr["CMND"].ToString());
                ketqua.NgaySinh  = DateTime.Parse(sdr["NgaySinh"].ToString());
                ketqua.TrangThai = int.Parse(sdr["TrangThai"].ToString());
                ls.Add(ketqua);
            }
            sdr.Close();
            return(ls);
        }
예제 #3
0
        public static ThanhVienDTO SelectThanhVienById(string MaThanhVien)
        {
            List <SqlParameter> sqlParams = new List <SqlParameter>();

            sqlParams.Add(new SqlParameter("@MaThanhVien", MaThanhVien));
            DataTable dataTable = new DataTable();

            dataTable = DataProvider.ExecuteReader("usp_SelectThanhVienById", sqlParams);
            ThanhVienDTO tvDTO = new ThanhVienDTO();

            //List<ThanhVienDTO> lsttvDTO = new List<ThanhVienDTO>();
            if (dataTable.Rows.Count > 0)
            {
                DataRow dtRow = dataTable.Rows[0];
                tvDTO.MaThanhVien  = dtRow["MaThanhVien"].ToString();
                tvDTO.TenThanhVien = dtRow["TenThanhVien"].ToString();
                tvDTO.CV           = int.Parse(dtRow["CV"].ToString());
                tvDTO.DiaChi       = dtRow["DiaChi"].ToString();
                tvDTO.TienNo       = float.Parse(dtRow["TienNo"].ToString());
                //lsttvDTO.Add(tvDTO);
            }
            else
            {
                tvDTO = null;
            }
            return(tvDTO);
        }
예제 #4
0
        private void gcThanhVien_DoubleClick(object sender, EventArgs e)
        {
            if (gvThanhVien.SelectedRowsCount > 0)
            {
                int[] rows = gvThanhVien.GetSelectedRows();

                foreach (int item in rows)
                {
                    if (item >= 0)
                    {
                        tvchon          = new ThanhVienDTO();
                        tvchon.MaTV     = int.Parse(gvThanhVien.GetRowCellValue(item, ColMaTV).ToString().Trim());
                        tvchon.TenTV    = gvThanhVien.GetRowCellValue(item, ColTenTVien).ToString().Trim();
                        tvchon.LoaiTV   = int.Parse(gvThanhVien.GetRowCellValue(item, ColLoaiTv).ToString().Trim());
                        tvchon.CMND     = int.Parse(gvThanhVien.GetRowCellValue(item, ColCMNDan).ToString().Trim());
                        tvchon.NgaySinh = DateTime.Parse(gvThanhVien.GetRowCellValue(item, ColNS).ToString().Trim());
                    }
                    else
                    {
                        tvchon = null;
                    }
                    txtTenTV.Text         = tvchon.TenTV;
                    lookUpEdit1.EditValue = tvchon.LoaiTV.ToString();
                    txtCMND.Text          = tvchon.CMND.ToString();
                    dtNS.DateTime         = tvchon.NgaySinh;
                }
            }
        }
예제 #5
0
        public static List <ThanhVienDTO> SelectThanhVienAll()
        {
            DataTable dataTable = new DataTable();

            dataTable = DataProvider.ExecuteReader("usp_SelectThanhVienAll");
            List <ThanhVienDTO> lsttvDTO = new List <ThanhVienDTO>();

            if (dataTable.Rows.Count > 0)
            {
                foreach (DataRow dtRow in dataTable.Rows)
                {
                    ThanhVienDTO tvDTO = new ThanhVienDTO();
                    tvDTO.MaThanhVien  = dtRow["MaThanhVien"].ToString();
                    tvDTO.TenThanhVien = dtRow["TenThanhVien"].ToString();
                    tvDTO.CV           = int.Parse(dtRow["CV"].ToString());
                    tvDTO.DiaChi       = dtRow["DiaChi"].ToString();
                    tvDTO.TienNo       = float.Parse(dtRow["TienNo"].ToString());
                    lsttvDTO.Add(tvDTO);
                }
            }
            else
            {
                lsttvDTO = null;
            }
            return(lsttvDTO);
        }
예제 #6
0
        public static bool UpdateThanhVienById(ThanhVienDTO tvDTO)
        {
            List <SqlParameter> sqlParams = new List <SqlParameter>();

            sqlParams.Add(new SqlParameter("@MaThanhVien", tvDTO.MaThanhVien));
            sqlParams.Add(new SqlParameter("@TenThanhVien", tvDTO.TenThanhVien));
            sqlParams.Add(new SqlParameter("@CV", tvDTO.CV));
            sqlParams.Add(new SqlParameter("@DiaChi", tvDTO.DiaChi));
            sqlParams.Add(new SqlParameter("@TienNo", tvDTO.TienNo));
            return(DataProvider.ExecuteNoneQuery("usp_UpdateThanhVienById", sqlParams));
        }
예제 #7
0
        private void getDataDetail()
        {
            if (tvchon == null)
            {
                tvchon = new ThanhVienDTO();
            }

            tvchon.TenTV    = txtTenTV.Text;
            tvchon.LoaiTV   = int.Parse(lookUpEdit1.EditValue.ToString());
            tvchon.CMND     = int.Parse(txtCMND.Text);
            tvchon.NgaySinh = DateTime.Parse(dtNS.Text);
        }
예제 #8
0
        public int XoaThanhVien(string MaTV)
        {
            ThanhVienDTO  nv         = new ThanhVienDTO();
            SqlConnection conn       = DataProvider.TaoKetNoi();
            string        strTruyVan = "Update ThanhVien Set TrangThai=0 WHERE MaTV = " + MaTV;
            SqlCommand    com        = new SqlCommand(strTruyVan, conn);

            int kq = com.ExecuteNonQuery();

            conn.Close();
            return(kq);
        }
예제 #9
0
        public int CapNhatThanhVien(ThanhVienDTO tv)
        {
            string strTruyVan = "Update ThanhVien Set TenTV=@TenTV,LoaiTV=@LoaiTV,CMND=@CMND,NgaySinh=@NgaySinh,TrangThai=@TrangThai Where MaTV = " + tv.MaTV;

            SqlParameter[] par = new SqlParameter[5];
            par[0] = new SqlParameter("@TenTV", tv.TenTV);
            par[1] = new SqlParameter("@LoaiTV", tv.LoaiTV);
            par[2] = new SqlParameter("@CMND", tv.CMND);
            par[3] = new SqlParameter("@NgaySinh", tv.NgaySinh);
            par[4] = new SqlParameter("@TrangThai", tv.TrangThai);
            SqlConnection conn = DataProvider.TaoKetNoi();

            return(DataProvider.CapNhatDuLieu(strTruyVan, par, conn));
        }
예제 #10
0
        private void buttonCapNhat_Click(object sender, EventArgs e)
        {
            Index = dataGridView_QuanLyThanhVien.CurrentRow.Index;

            //Lưu lại giá trị cần cập nhật, khôi phục lại khi cập nhật không thành công hoặc hủy
            ThanhVienDTO backup = new ThanhVienDTO();

            backup.MaThanhVien  = dataGridView_QuanLyThanhVien.CurrentRow.Cells["ColMaThanhVien"].Value.ToString().Trim();
            backup.TenThanhVien = dataGridView_QuanLyThanhVien.CurrentRow.Cells["ColTenThanhVien"].Value.ToString().Trim();
            backup.DiaChi       = dataGridView_QuanLyThanhVien.CurrentRow.Cells["ColDiaChi"].Value.ToString().Trim();
            //backup.CV = int.Parse(dataGridView_QuanLyThanhVien.CurrentRow.Cells["ColCV"].Value.ToString());
            //backup.TienNo = float.Parse(dataGridView_QuanLyThanhVien.CurrentRow.Cells["ColTienNo"].Value.ToString());
            BackupThanhVienDTO = backup;


            //Ẩn các dòng không cần thiết
            for (int i = 0; i < dataGridView_QuanLyThanhVien.RowCount; i++)
            {
                if (i != Index)
                {
                    dataGridView_QuanLyThanhVien.Rows[i].Visible = false;
                }
            }

            //chuyển sang chế độ select cell, cập nhật lại thuộc tính readOnly cho phép chỉnh sữa
            dataGridView_QuanLyThanhVien.SelectionMode        = DataGridViewSelectionMode.CellSelect;
            dataGridView_QuanLyThanhVien.Rows[Index].ReadOnly = false;

            //Ẩn các cột không cần thiết (STT)
            dataGridView_QuanLyThanhVien.Columns["ColSTT"].Visible    = false;
            dataGridView_QuanLyThanhVien.Columns["ColCV"].Visible     = false;
            dataGridView_QuanLyThanhVien.Columns["ColTienNo"].Visible = false;


            //Set mặc định ô sẽ chỉnh sữa đầu tiên
            dataGridView_QuanLyThanhVien.CurrentCell = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"];
            dataGridView_QuanLyThanhVien.BeginEdit(true);

            //Show panel thêm và ẩn đi panel tìm kiếm

            panelYesNo.Visible      = true;
            panelTimKiem.Visible    = false;
            buttonYes.Text          = "Cập Nhật";
            groupBoxTimKiem.Enabled = false;
            groupBoxDSThamSo.Text   = "Cập nhật thành viên";

            Status = 2;//cập nhật tham số
        }
예제 #11
0
        public List <ThanhVienDTO> LoadTV()
        {
            string              strTruyVan = "Select * From ThanhVien Where TrangThai = 1";
            SqlConnection       conn       = DataProvider.TaoKetNoi();
            SqlDataReader       sdr        = DataProvider.TruyVanDuLieu(strTruyVan, conn);
            List <ThanhVienDTO> ls         = new List <ThanhVienDTO>();

            while (sdr.Read())
            {
                ThanhVienDTO ketqua = new ThanhVienDTO();
                ketqua.MaTV     = int.Parse(sdr["MaTV"].ToString());
                ketqua.TenTV    = sdr["TenTV"].ToString();
                ketqua.LoaiTV   = int.Parse(sdr["LoaiTV"].ToString());
                ketqua.CMND     = int.Parse(sdr["CMND"].ToString());
                ketqua.NgaySinh = DateTime.Parse(sdr["NgaySinh"].ToString());
                ls.Add(ketqua);
            }
            sdr.Close();
            return(ls);
        }
예제 #12
0
 private void txtMaThanhVien_TextChanged(object sender, EventArgs e)
 {
     thanhVienDTO = new ThanhVienDTO();
     if (ThanhVienBUS.SelectThanhVienById(txtMaThanhVien.Text) != null)
     {
         thanhVienDTO             = ThanhVienBUS.SelectThanhVienById(txtMaThanhVien.Text);
         txtTenKhachHang.Text     = thanhVienDTO.TenThanhVien;
         txtDiaChi.Text           = thanhVienDTO.DiaChi;
         txtTenKhachHang.ReadOnly = true;
         txtDiaChi.ReadOnly       = true;
         IsThanhVien = true;
     }
     else
     {
         txtTenKhachHang.Text     = "";
         txtDiaChi.Text           = "";
         txtTenKhachHang.ReadOnly = false;
         txtDiaChi.ReadOnly       = false;
         IsThanhVien = false;
     }
 }
예제 #13
0
        /*
         * Hàm KhoiTao
         * Tải toàn bộ danh sách tham số
         */
        private void KhoiTao()
        {
            //panelTimKiem.Visible = true;
            List <ThanhVienDTO> lsttsDTO = ThanhVienBUS.SelectThanhVienAll();

            if (lsttsDTO != null)
            {
                ThanhVienDTO item = new ThanhVienDTO();
                dataGridView_QuanLyThanhVien.Rows.Clear();
                for (int i = 0; i < lsttsDTO.Count; i++)
                {
                    item = lsttsDTO[i];
                    dataGridView_QuanLyThanhVien.Rows.Add((i + 1).ToString(), item.MaThanhVien, item.TenThanhVien, item.DiaChi, item.CV, item.TienNo);
                    dataGridView_QuanLyThanhVien.Rows[i].ReadOnly = true;
                }
                buttonLamLai.Enabled = true;
                buttonEnabled();
            }
            else
            {
                buttonLamLai.Enabled = false;
                buttonDisabled();
            }
        }
예제 #14
0
        private void buttonYes_Click(object sender, EventArgs e)
        {
            bool flag = true;

            if (dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"].Value == null)
            {
                MessageBox.Show("Tên thành viên không được để trống");
                dataGridView_QuanLyThanhVien.CurrentCell = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"];
                dataGridView_QuanLyThanhVien.BeginEdit(true);
                flag = false;
            }
            else if (dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColDiaChi"].Value == null)
            {
                MessageBox.Show("Địa chỉ không được để trống");
                dataGridView_QuanLyThanhVien.CurrentCell = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColDiaChi"];
                dataGridView_QuanLyThanhVien.BeginEdit(true);
                flag = false;
            }



            if (flag)
            {
                //ThanhVienDTO tvDTO = new ThanhVienDTO();
                //tvDTO.TenThanhVien = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"].Value.ToString();
                //tvDTO.DiaChi = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColDiaChi"].Value.ToString();
                //tvDTO.CV = 0;//int.Parse(dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColCV"].Value.ToString());
                //tvDTO.TienNo = 0;//float.Parse(dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTienNo"].Value.ToString());
                if (Status == 1)//Them tham so
                {
                    ThanhVienDTO tvDTO = new ThanhVienDTO();
                    tvDTO.TenThanhVien = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"].Value.ToString().Trim();
                    tvDTO.DiaChi       = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColDiaChi"].Value.ToString().Trim();
                    tvDTO.CV           = 0;
                    tvDTO.TienNo       = 0;
                    tvDTO.MaThanhVien  = ThanhVienBUS.CreateThanhVienId().Trim();
                    dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColMaThanhVIen"].Value = tvDTO.MaThanhVien;
                    dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColSTT"].Value         = (Index + 1).ToString();
                    if (ThanhVienBUS.InsertThanhVien(tvDTO))
                    {
                        dataGridView_QuanLyThanhVien.Rows[Index].ReadOnly = true;
                        MessageBox.Show("Thêm thành công");
                        dataGridView_QuanLyThanhVien.Rows[dataGridView_QuanLyThanhVien.Rows.Count - 1].Cells["ColCV"].Value     = tvDTO.CV;
                        dataGridView_QuanLyThanhVien.Rows[dataGridView_QuanLyThanhVien.Rows.Count - 1].Cells["ColTienNo"].Value = tvDTO.TienNo;
                    }
                    else
                    {
                        dataGridView_QuanLyThanhVien.Rows.RemoveAt(Index);
                        MessageBox.Show("Thêm thất bại");
                    }
                }
                else if (Status == 2)
                {
                    ThanhVienDTO tvDTO = new ThanhVienDTO();
                    tvDTO.TenThanhVien = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"].Value.ToString().Trim();
                    tvDTO.DiaChi       = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColDiaChi"].Value.ToString().Trim();
                    tvDTO.CV           = int.Parse(dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColCV"].Value.ToString().Trim());
                    tvDTO.TienNo       = float.Parse(dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTienNo"].Value.ToString().Trim());
                    tvDTO.MaThanhVien  = dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColMaThanhVien"].Value.ToString().Trim();
                    if (ThanhVienBUS.UpdateThanhVienById(tvDTO))
                    {
                        dataGridView_QuanLyThanhVien.Rows[Index].ReadOnly = true;
                        MessageBox.Show("Cập nhật thành công");
                    }
                    else
                    {
                        MessageBox.Show("Cập nhật thất bại");
                        dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTenThanhVien"].Value = BackupThanhVienDTO.TenThanhVien;
                        dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColDiaChi"].Value       = BackupThanhVienDTO.DiaChi;
                        dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColCV"].Value           = BackupThanhVienDTO.CV;
                        dataGridView_QuanLyThanhVien.Rows[Index].Cells["ColTienNo"].Value       = BackupThanhVienDTO.TienNo;
                        dataGridView_QuanLyThanhVien.Rows[Index].ReadOnly = true;
                    }
                }

                Reset();
            }
        }
예제 #15
0
 public static bool UpdateThanhVienById(ThanhVienDTO tvDTO)
 {
     return(ThanhVienDAO.UpdateThanhVienById(tvDTO));
 }
예제 #16
0
        public int CapNhatTV(ThanhVienDTO tv)
        {
            ThanhVienDAO nvDao = new ThanhVienDAO();

            return(nvDao.CapNhatThanhVien(tv));
        }
예제 #17
0
        private void btnXoa_Click(object sender, EventArgs e)
        {
            DialogResult result = MessageBox.Show("Xóa phiếu xuất", "Phiếu xuất", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);

            //Lấy vị trí cần xóa
            if (result == DialogResult.Yes)
            {
                int    Index = dataGridView_TraCuuXuatHang.CurrentRow.Index;
                int    stt   = int.Parse(dataGridView_TraCuuXuatHang.CurrentRow.Cells[clSTT.Index].Value.ToString());
                string id    = dataGridView_TraCuuXuatHang.CurrentRow.Cells["clMaPhieuXuat"].Value.ToString();
                List <ChiTietPhieuXuatDTO> listChiTietPhieuXuatDTO = ChiTietPhieuXuatBUS.SelectChiTietPhieuXuatByMaPhieuXuat(id);
                PhieuXuatDTO phieuXuatDTO = PhieuXuatBUS.SelectPhieuXuatById(id);
                if (PhieuXuatBUS.DeletePhieuXuatById(id))
                {
                    dataGridView_TraCuuXuatHang.Rows.RemoveAt(Index);
                    if (dataGridView_TraCuuXuatHang.RowCount > 0)
                    {
                        bool f = false;
                        for (int i = 0; i < Index; i++)
                        {
                            if (dataGridView_TraCuuXuatHang.Rows[i].Visible == true)
                            {
                                f = true;
                                break;
                            }
                        }

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

                        if (f == false)
                        {
                            buttonDisabled();
                        }
                        else
                        {
                            buttonEnabled();
                        }
                    }
                    else
                    {
                        buttonDisabled();
                    }


                    int        cv         = 0;
                    SanPhamDTO sanPhamDTO = new SanPhamDTO();
                    for (int i = 0; i < listChiTietPhieuXuatDTO.Count; i++)
                    {
                        //Tính lại SoLuongTon của sản phẩm
                        sanPhamDTO            = SanPhamBUS.SelectSanPhamById(listChiTietPhieuXuatDTO[i].MaSanPham);
                        sanPhamDTO.SoLuongTon = sanPhamDTO.SoLuongTon + listChiTietPhieuXuatDTO[i].SoLuong;
                        SanPhamBUS.UpdateSanPhamById(sanPhamDTO);

                        //cv
                        cv += listChiTietPhieuXuatDTO[i].CV * listChiTietPhieuXuatDTO[i].SoLuong;
                    }

                    //Tinh lai TongCV
                    if (phieuXuatDTO.MaThanhVien != "")
                    {
                        ThanhVienDTO thanhVien = ThanhVienBUS.SelectThanhVienById(phieuXuatDTO.MaThanhVien);
                        thanhVien.CV = thanhVien.CV - cv;
                        ThanhVienBUS.UpdateThanhVienById(thanhVien);
                    }

                    MessageBox.Show("Xóa thành công");
                }
            }
        }
예제 #18
0
 public static bool InsertThanhVien(ThanhVienDTO tvDTO)
 {
     return(ThanhVienDAO.InsertThanhVien(tvDTO));
 }