private void save_data_in_grid(GridView ip_grv)
        {
            GridViewRow[] v_arr_gvr = new GridViewRow[ip_grv.Rows.Count];
            System.Web.UI.WebControls.TextBox v_txt_so_tien_ns;
            System.Web.UI.WebControls.TextBox v_txt_so_tien_quy;
            LinkButton v_lb_id_gd;

            ip_grv.Rows.CopyTo(v_arr_gvr, 0);
            bool v_b_is_update_data = false;

            for (int i = 0; i < v_arr_gvr.Length; i++)
            {
                //1. Duyet tung dong cua gridview, lay du lieu tu textbox
                //v_txt_so_tien_ns = (System.Web.UI.WebControls.TextBox)v_arr_gvr[i].FindControl("m_txt_so_tien_ngan_sach_grid");
                v_txt_so_tien_quy = (System.Web.UI.WebControls.TextBox)v_arr_gvr[i].FindControl("m_txt_so_tien_quy_bao_tri_grid");
                v_lb_id_gd = (LinkButton)v_arr_gvr[i].FindControl("m_lbl_delete");
                if (v_lb_id_gd.CommandArgument.ToString().Equals("") | v_lb_id_gd.CommandArgument.ToString().Equals("-1"))
                {
                    continue;
                }
                else
                {
                    try
                    {
                        //update du lieu vao csdl
                        US_GD_CHI_TIET_GIAO_VON v_us = new US_GD_CHI_TIET_GIAO_VON(CIPConvert.ToDecimal(v_lb_id_gd.CommandArgument.ToString()));
                        //v_us.dcSO_TIEN_NS = WinFormControls.get_so_tien(v_txt_so_tien_ns.Text);
                        v_us.dcSO_TIEN_QUY_BT = WinFormControls.get_so_tien(v_txt_so_tien_quy.Text);
                        v_us.Update();
                        v_b_is_update_data = true;
                    }
                    catch (Exception)
                    {
                        m_lbl_mess_grid.Text = "Đã có lỗi xảy ra, Xin vui lòng thực hiện lại thao tác";
                        return;
                    }

                }
            }
            if (v_b_is_update_data)
            {
                m_lbl_mess_grid.Text = "Đã ghi dữ liệu thành công!";
                m_ddl_loai_nhiem_vu.Focus();
            }
            load_data_to_grid();
        }
 private void load_data_to_grid()
 {
     string v_str_tu_ngay = m_txt_tu_ngay.Text;
     string v_str_den_ngay = m_txt_den_ngay.Text;
     DataTable v_dt_bao_cao = new DataTable();
     DataSet v_ds = new DataSet();
     DataTable v_dt = new DataTable();
     v_ds.Tables.Add(v_dt);
     v_ds.AcceptChanges();
     US_GD_CHI_TIET_GIAO_VON v_us_gd_chi_tiet_giao_von = new US_GD_CHI_TIET_GIAO_VON();
     //0. tính cột "tổng kế hoạch"
     load_data_to_col_tong_ke_hoach(v_us_gd_chi_tiet_giao_von
                                     , v_ds, v_dt_bao_cao
                                     , v_str_tu_ngay
                                     , v_str_den_ngay);
     //1. tính "kế hoạch chính thức",các cột "kế hoạch bổ sung"
     load_data_to_col_ke_hoach_chinh_thuc_or_bo_sung(v_us_gd_chi_tiet_giao_von
                                                     , v_ds
                                                     , v_dt_bao_cao
                                                     , v_str_tu_ngay
                                                     , v_str_den_ngay);
     //2. tính cột số dư năm trước chuyên sang
     load_data_to_col_so_du_nam_truoc_chuyen_sang(v_us_gd_chi_tiet_giao_von
                                                 , v_ds
                                                 , v_dt_bao_cao
                                                 , v_str_tu_ngay
                                                 , v_str_den_ngay);
     //3. tính cột "tổng giao vốn", các cột "giao vốn theo các quyết định"
     load_data_to_col_tong_giao_von_and_giao_von_theo_quyet_dinh(v_us_gd_chi_tiet_giao_von
                                                                 , v_ds
                                                                 , v_dt_bao_cao
                                                                 , v_str_tu_ngay
                                                                 , v_str_den_ngay);
     //4. tính cột "Tổng cấp vốn + tổng số dư"
     tinhTongCapVonSoDu();
     //5. Load data to grid
     draw_GridView(v_dt_bao_cao);
     m_grv_bao_cao_giao_von.DataSource = v_dt_bao_cao;
     m_grv_bao_cao_giao_von.DataBind();
 }
        private void load_data_to_grid(decimal ip_id_quyet_dinh, decimal ip_id_loai_nhiem_vu = -1,
            decimal ip_id_cong_trinh = -1, decimal ip_id_du_an = -1)
        {
            var v_dat_now = DateTime.Now;
            //0. Chuan bi du lieu input
            if (ip_id_quyet_dinh != -1)
            {
                US_DM_QUYET_DINH v_us_qd = new US_DM_QUYET_DINH(ip_id_quyet_dinh);
                v_dat_now = v_us_qd.datNGAY_THANG;
            }
            DateTime v_dat_dau_nam = v_dat_now.AddDays(-v_dat_now.Day + 1);
            v_dat_dau_nam = v_dat_dau_nam.AddMonths(-v_dat_dau_nam.Month + 1);
            DateTime v_dat_cuoi_nam = v_dat_dau_nam.AddYears(1);

            //1. Update noi dung chi tu Giao kh sang Giao von
            US_GD_CHI_TIET_GIAO_VON v_us_giao_von = new US_GD_CHI_TIET_GIAO_VON();
            v_us_giao_von.update_noi_dung_chi_from_giao_kh_sang_giao_von(v_dat_dau_nam,
                v_dat_cuoi_nam, CIPConvert.ToDecimal( m_ddl_don_vi.SelectedValue), ip_id_quyet_dinh);

            //2. Load data tu grid_giao_von len luoi de sua thong tin
            DS_GRID_GIAO_VON v_ds = new DS_GRID_GIAO_VON();
            US_GRID_GIAO_VON v_us = new US_GRID_GIAO_VON();

            v_us.get_grid_giao_von_qbt(v_ds, ip_id_quyet_dinh,
                CIPConvert.ToDecimal(m_ddl_don_vi.SelectedValue), v_dat_dau_nam, v_dat_cuoi_nam,
                ip_id_loai_nhiem_vu, ip_id_cong_trinh, ip_id_du_an);

            m_grv.DataSource = v_ds.Tables[0];
            m_grv.DataBind();

            //if (!m_hdf_id_giao_kh.Value.Equals(""))
            //{
            //	m_grv.SelectedIndex = -1;
            //	for (int i = 0; i < m_grv.Rows.Count; i++)
            //		if (CIPConvert.ToDecimal(m_grv.DataKeys[i].Value) == CIPConvert.ToDecimal(m_hdf_id_giao_kh.Value)) m_grv.SelectedIndex = i;
            //}
        }
 private void load_data_to_col_tong_ke_hoach(US_GD_CHI_TIET_GIAO_VON ip_us
     , DataSet ip_ds
     , DataTable ip_dt
     , String ip_str_tu_ngay
     , String ip_str_den_ngay)
 {
     ip_us.FillDatasetWithProcedure(
                 "pr_F520_lay_tong_tien_giao_kh_qbt"
                 , ip_ds
                 , CIPConvert.ToDatetime(ip_str_tu_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                 , CIPConvert.ToDatetime(ip_str_den_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                 , c_configuration.TAT_CA
                 , c_configuration.TAT_CA);
     for (int i = 0; i < ip_ds.Tables[0].Columns.Count; i++)
     {
         ip_dt.Columns.Add(ip_ds.Tables[0].Columns[i].ColumnName);
     }
     for (int i = 0; i < ip_ds.Tables[0].Rows.Count; i++)
     {
         var row = ip_dt.NewRow();
         for (int j = 0; j < ip_ds.Tables[0].Columns.Count; j++)
         {
             row[j] = ip_ds.Tables[0].Rows[i][j];
         }
         ip_dt.Rows.Add(row);
     }
 }
        private void load_data_to_col_tong_giao_von_and_giao_von_theo_quyet_dinh(
            US_GD_CHI_TIET_GIAO_VON ip_us
            , DataSet ip_ds
            , DataTable ip_dt
            , String ip_str_tu_ngay
            , String ip_str_den_ngay)
        {
            ip_ds.Clear();
            ip_us.FillDatasetWithProcedure(
                "pr_F520_lay_tong_tien_giao_von_qbt"
                , ip_ds
                , CIPConvert.ToDatetime(ip_str_tu_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                , CIPConvert.ToDatetime(ip_str_den_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                , c_configuration.TAT_CA);
            GhepThemCot(ip_dt, ip_ds.Tables[0], "TongVon");

            m_lst_ds_qd = getDanhSachQDGiaoVon();
            foreach (var item in m_lst_ds_qd)
            {
                ip_ds.Clear();
                ip_us.FillDatasetWithProcedure(
                    "pr_F520_lay_tong_tien_giao_von_qbt"
                    , ip_ds
                    , CIPConvert.ToDatetime(ip_str_tu_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                    , CIPConvert.ToDatetime(ip_str_den_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                    , item);
                GhepThemCot(ip_dt, ip_ds.Tables[0], "QD" + item.ToString());
            }
        }
 private void load_data_to_col_so_du_nam_truoc_chuyen_sang(US_GD_CHI_TIET_GIAO_VON ip_us
     , DataSet ip_ds
     , DataTable ip_dt
     , String ip_str_tu_ngay
     , String ip_str_den_ngay)
 {
     ip_ds.Clear();
     ip_us.FillDatasetWithProcedure(
                 "pr_F520_lay_tong_tien_nam_truoc_chuyen_sang"
                 , ip_ds
                 , CIPConvert.ToDatetime(ip_str_tu_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                 , CIPConvert.ToDatetime(ip_str_den_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
                 , c_configuration.TAT_CA);
                 GhepThemCot(ip_dt, ip_ds.Tables[0], "SoDu");
 }
 private void load_data_to_col_ke_hoach_chinh_thuc_or_bo_sung(US_GD_CHI_TIET_GIAO_VON ip_us
     , DataSet ip_ds
     , DataTable ip_dt
     , String ip_str_tu_ngay
     , String ip_str_den_ngay)
 {
     ip_ds.Clear();
     ip_us.FillDatasetWithProcedure(
         "pr_F520_lay_tong_tien_giao_von_qbt"
         , ip_ds
         , CIPConvert.ToDatetime(ip_str_tu_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
         , CIPConvert.ToDatetime(ip_str_den_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
         , c_configuration.TAT_CA
         , c_configuration.GIAO_DAU_NAM);
     GhepThemCot(ip_dt, ip_ds.Tables[0], "ChinhThuc");
     List<decimal> v_lst_ds_qd = getDanhSachQDBS();
     foreach (var item in v_lst_ds_qd)
     {
         ip_ds.Clear();
         ip_us.FillDatasetWithProcedure(
         "pr_F520_lay_tong_tien_nam_truoc_chuyen_sang"
         , ip_ds
         , CIPConvert.ToDatetime(ip_str_tu_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
         , CIPConvert.ToDatetime(ip_str_den_ngay, c_configuration.DEFAULT_DATETIME_FORMAT)
         , item
         , c_configuration.GIAO_BO_SUNG);
         GhepThemCot(ip_dt, ip_ds.Tables[0], "QD" + item.ToString());
     }
 }
        //private methods
        private bool check_validate_is_ok()
        {
            bool v_b_result = true;
            if (get_form_mode(m_hdf_form_mode).Equals(LOAI_FORM.XOA))
            {

                US_GD_CHI_TIET_GIAO_VON v_us = new US_GD_CHI_TIET_GIAO_VON();
                DS_GD_CHI_TIET_GIAO_VON v_ds = new DS_GD_CHI_TIET_GIAO_VON();
                v_us.FillDataset(v_ds, "where id = " + m_hdf_id_giao_kh.Value);
                if (v_ds.GD_CHI_TIET_GIAO_VON.Count > 0)
                {
                    m_lbl_mess_grid.Text = "Bạn không thể xoá bản ghi này, dữ liệu này đang được sử dụng!";
                    v_b_result = false;
                }
            }
            else
            {
                if (m_hdf_id_quyet_dinh.Value.Trim().Equals(""))
                {
                    m_lbl_mess_detail.Text = "Bạn phải nhập QĐ giao Kế hoạch hoặc Chọn QĐ đã nhập!";
                    return false;
                }

                if (m_txt_so_tien.Text == "")
                {
                    m_lbl_mess_detail.Text += "\n Bạn phải nhập Số tiền!";
                    m_txt_so_tien.Focus();
                    v_b_result = false;
                }
                if (m_ddl_tieu_muc.SelectedValue == "-1")
                {
                    if (m_ddl_tieu_muc.Items.Count > 1)
                    {
                        m_lbl_mess_detail.Text += "\n Bạn phải chọn Tiểu mục!";
                        m_ddl_tieu_muc.Focus();
                        v_b_result = false;
                    }

                }
                if (m_ddl_muc.SelectedValue == "-1")
                {
                    m_lbl_mess_detail.Text += "\n Bạn phải chọn Mục!";
                    m_ddl_muc.Focus();
                    v_b_result = false;
                }
                if (m_ddl_khoan.SelectedValue == "-1")
                {
                    m_lbl_mess_detail.Text += "\n Bạn phải chọn Khoản";
                    m_ddl_khoan.Focus();
                    v_b_result = false;
                }
                if (m_ddl_chuong.SelectedValue == "-1")
                {
                    m_lbl_mess_detail.Text += "\n Bạn phải chọn Chương";
                    m_ddl_chuong.Focus();
                    v_b_result = false;
                }
                if (!CValidateTextBox.IsValid(m_txt_ghi_chu, DataType.StringType, allowNull.NO))
                {
                    m_lbl_mess_detail.Text += "\n Bạn phải Nhập nội dung!";
                    m_txt_ghi_chu.Focus();
                    v_b_result = false;
                }

            }

            return v_b_result;
        }