private void check_update_data()
        {
            //lay du lieu bang vpp
            DS_V_DM_VPP v_ds_v_dm_vpp = new DS_V_DM_VPP();
            m_us.FillDataset(v_ds_v_dm_vpp, "where id_nha_cung_cap=" + m_cbo_nha_cung_cap.SelectedValue.ToString());
            // datatable to list
            List<VanPhongPham> v_lst_vpp = new List<VanPhongPham>();
            foreach (DataRow v_dr in v_ds_v_dm_vpp.Tables[0].Rows)
            {
                var vpp = new VanPhongPham();
                vpp.ID = CIPConvert.ToDecimal(v_dr[V_DM_VPP.ID_VPP]);
                vpp.ID_NHA_CUNG_CAP = CIPConvert.ToDecimal(m_cbo_nha_cung_cap.SelectedValue.ToString());
                vpp.MA = v_dr[V_DM_VPP.MA].ToString();
                vpp.TEN = v_dr[V_DM_VPP.TEN_VPP].ToString();
                vpp.DON_VI_TINH = v_dr[V_DM_VPP.DON_VI_TINH].ToString();
                vpp.GIA_TRI_CHUA_VAT = CIPConvert.ToDecimal(v_dr[V_DM_VPP.DON_GIA_CHUA_VAT].ToString());
                vpp.GIA_TRI_GOM_VAT = CIPConvert.ToDecimal(v_dr[V_DM_VPP.DON_GIA_GOM_VAT].ToString());
                //add item to list
                v_lst_vpp.Add(vpp);

            }

            C1.Win.C1FlexGrid.CellStyle v_cell_style_err = this.m_fg.Styles.Add("RowColorErr");
            v_cell_style_err.BackColor = Color.LightCyan;
            C1.Win.C1FlexGrid.CellStyle v_cell_style_err2 = this.m_fg.Styles.Add("RowColorErr2");
            v_cell_style_err2.BackColor = Color.Yellow;
            v_cell_style_err2.ForeColor = Color.DarkRed;

            C1.Win.C1FlexGrid.CellStyle v_cell_style_ok = this.m_fg.Styles.Add("RowColorOk");
            v_cell_style_ok.BackColor = Color.White;
            C1.Win.C1FlexGrid.CellStyle v_cell_style_chu_ok = this.m_fg.Styles.Add("RowColor");
            v_cell_style_chu_ok.BackColor = Color.Black;

            C1.Win.C1FlexGrid.CellStyle v_cell_style_notOK_in_data = this.m_fg.Styles.Add("RowColorNotOk");
            v_cell_style_notOK_in_data.BackColor = Color.Green;

            //so sánh từng hóa đơn với MA_HD_NCC trong List vpp
            for (int v_i_row_fg = 1; v_i_row_fg < m_fg.Rows.Count; v_i_row_fg++)
            {
                VanPhongPham v_dm_vpp = new VanPhongPham();
                grid2vpp_object(v_dm_vpp, v_i_row_fg);
                List<VanPhongPham> v_lst_find_match = new List<VanPhongPham>();
                v_lst_find_match = v_lst_vpp.FindAll(x => /*x.MA == v_dm_vpp.MA ||*/x.TEN == v_dm_vpp.TEN);
                if (v_lst_find_match.Count > 0)
                {
                    if (v_dm_vpp.GIA_TRI_CHUA_VAT != v_lst_find_match[0].GIA_TRI_CHUA_VAT)
                    {
                        m_fg.SetCellStyle(v_i_row_fg, 5, v_cell_style_err2);
                    }
                    if (v_dm_vpp.GIA_TRI_GOM_VAT != v_lst_find_match[0].GIA_TRI_GOM_VAT)
                    {
                        m_fg.SetCellStyle(v_i_row_fg, 6, v_cell_style_err2);
                    }
                }
                else
                {
                    m_fg.SetCellStyle(v_i_row_fg, 5, v_cell_style_err);
                    m_fg.SetCellStyle(v_i_row_fg, 6, v_cell_style_err);
                }

            }
        }
 private void grid2vpp_object(VanPhongPham ip_vpp, int i_grid_row)
 {
     //DataRow v_dr;
     //v_dr = (DataRow)m_fg.Rows[i_grid_row].UserData;
     ip_vpp.MA = m_fg.Rows[i_grid_row][2].ToString();
     ip_vpp.TEN = m_fg.Rows[i_grid_row][3].ToString();
     ip_vpp.DON_VI_TINH = m_fg.Rows[i_grid_row][4].ToString();
     ip_vpp.GIA_TRI_CHUA_VAT = CIPConvert.ToDecimal(m_fg.Rows[i_grid_row][5].ToString().Replace(",", "").Replace(".", ""));
     ip_vpp.GIA_TRI_GOM_VAT = CIPConvert.ToDecimal(m_fg.Rows[i_grid_row][6].ToString().Replace(",", "").Replace(".", ""));
 }
        private void cap_nhat_danh_sach_vpp()
        {
            // dm_vpp to List
            DS_V_DM_VPP v_ds_v_dm_vpp = new DS_V_DM_VPP();
            m_us.FillDataset(v_ds_v_dm_vpp, "where id_nha_cung_cap=" + m_cbo_nha_cung_cap.SelectedValue.ToString());
            // datatable to list, nhiem vu: tim id vpp
            List<VanPhongPham> v_lst_vpp = new List<VanPhongPham>();
            foreach (DataRow v_dr in v_ds_v_dm_vpp.Tables[0].Rows)
            {

                var vpp = new VanPhongPham();
                vpp.ID = CIPConvert.ToDecimal(v_dr[V_DM_VPP.ID_VPP]);
                vpp.ID_NHA_CUNG_CAP = CIPConvert.ToDecimal(m_cbo_nha_cung_cap.SelectedValue.ToString());
                vpp.MA = v_dr[V_DM_VPP.MA].ToString();
                vpp.TEN = v_dr[V_DM_VPP.TEN_VPP].ToString();
                vpp.DON_VI_TINH = v_dr[V_DM_VPP.DON_VI_TINH].ToString();
                vpp.GIA_TRI_CHUA_VAT = CIPConvert.ToDecimal(v_dr[V_DM_VPP.DON_GIA_CHUA_VAT].ToString());
                vpp.GIA_TRI_GOM_VAT = CIPConvert.ToDecimal(v_dr[V_DM_VPP.DON_GIA_GOM_VAT].ToString());
                vpp.GIOI_HAN_VPP = v_dr[V_DM_VPP.GIOI_HAN_VPP].ToString();
                //add item to list
                v_lst_vpp.Add(vpp);

            }
            // cap nhat danh sach vpp
            for (int v_i_row_fg = 1; v_i_row_fg < m_fg.Rows.Count; v_i_row_fg++)
            {
                VanPhongPham v_dm_vpp = new VanPhongPham();
                grid2vpp_object(v_dm_vpp, v_i_row_fg);
                List<VanPhongPham> v_lst_find_match = new List<VanPhongPham>();
                v_lst_find_match = v_lst_vpp.FindAll(x => /*x.MA == v_dm_vpp.MA ||*/x.TEN == v_dm_vpp.TEN);
                if (v_lst_find_match.Count == 0)// khi chua co vpp
                {
                    US_DM_VPP v_us_dm_vpp = new US_DM_VPP();
                    v_us_dm_vpp.dcID_NHA_CUNG_CAP = CIPConvert.ToDecimal(m_cbo_nha_cung_cap.SelectedValue.ToString());
                    v_us_dm_vpp.dcDON_GIA_CHUA_VAT = CIPConvert.ToDecimal(m_fg.Rows[v_i_row_fg][5].ToString());
                    v_us_dm_vpp.dcDON_GIA_GOM_VAT = CIPConvert.ToDecimal(m_fg.Rows[v_i_row_fg][6].ToString());
                    v_us_dm_vpp.strMA = m_fg.Rows[v_i_row_fg][2].ToString();
                    v_us_dm_vpp.strTEN = m_fg.Rows[v_i_row_fg][3].ToString();
                    v_us_dm_vpp.strDON_VI_TINH = m_fg.Rows[v_i_row_fg][4].ToString();
                    v_us_dm_vpp.strGIOI_HAN_VPP = m_fg.Rows[v_i_row_fg][7].ToString();
                    v_us_dm_vpp.Insert();
                }
                else //cap nhat don gia
                {
                    US_DM_VPP v_us_dm_vpp = new US_DM_VPP(v_lst_find_match[0].ID);
                    v_us_dm_vpp.dcDON_GIA_CHUA_VAT = CIPConvert.ToDecimal(m_fg.Rows[v_i_row_fg][5].ToString());
                    v_us_dm_vpp.dcDON_GIA_GOM_VAT = CIPConvert.ToDecimal(m_fg.Rows[v_i_row_fg][6].ToString());
                    //v_us_dm_vpp.strGIOI_HAN_VPP = m_fg.Rows[v_i_row_fg][7].ToString();
                    v_us_dm_vpp.Update();
                }

            }
            BaseMessages.MsgBox_Infor("Cập nhật thành công");
        }