private void cap_nhat_ban_giao()
        {
            if (m_fg.Rows.Count == 1) {
                return;
            }
            for (int v_i_cur_row = m_fg.Rows.Fixed+1; v_i_cur_row < m_fg.Rows.Count; v_i_cur_row++) {
                US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_us_v_rpt = new US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
                grid2us_object(v_us_v_rpt, v_i_cur_row);

                US_GD_PHIEU_THU v_us_gd_pt = new US_GD_PHIEU_THU(v_us_v_rpt.dcID);
                v_us_gd_pt.dcID_TRANG_THAI = CONST_ID_TRANG_THAI_BAN_GIAO.DA_BAN_GIAO;
                v_us_gd_pt.Update();
            }
            load_data_2_grid();
            m_txt_tong_tien.Clear();
            BaseMessages.MsgBox_Infor("Đã bàn giao tiền!");
        }
 private void us_object2grid(US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU i_us
     , int i_grid_row)
 {
     DataRow v_dr = (DataRow)m_fg.Rows[i_grid_row].UserData;
     i_us.Me2DataRow(v_dr);
     m_obj_trans.DataRow2GridRow(v_dr, i_grid_row);
 }
        private void update_v_rpt_bao_cao_danh_sach_phieu_thu()
        {
            US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_us = new US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
            if (!CGridUtils.IsThere_Any_NonFixed_Row(m_fg)) return;
            if (!CGridUtils.isValid_NonFixed_RowIndex(m_fg, m_fg.Row)) return;
            grid2us_object(v_us, m_fg.Row);

            if (!check_ban_giao_is_da_thu_or_admin(v_us))
            {
                BaseMessages.MsgBox_Infor("Phiếu này đã bàn giao, không được quyền sửa!");
                return;
            }

            US_GD_PHIEU_THU v_us_gd_pt = new US_GD_PHIEU_THU(v_us.dcID);

            f340_lap_phieu_thu v_frm = new f340_lap_phieu_thu();
            v_frm.display(v_us, v_us_gd_pt.dcID_LOAI_PHIEU_THU, v_us_gd_pt.dcID_NGUOI_NHAP);
            load_data_2_grid();
        }
        void m_fg_DoubleClick(object sender, EventArgs e)
        {
            try
            {
                US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_us = new US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
                if (!CGridUtils.IsThere_Any_NonFixed_Row(m_fg)) return;
                if (!CGridUtils.isValid_NonFixed_RowIndex(m_fg, m_fg.Row)) return;
                grid2us_object(v_us, m_fg.Row);

                if (!check_ban_giao_is_da_thu_or_admin(v_us))
                {
                    BaseMessages.MsgBox_Infor("Phiếu này đã bàn giao, không được quyền sửa!");
                    return;
                }

                US_GD_PHIEU_THU v_us_gd_pt = new US_GD_PHIEU_THU(v_us.dcID);

                f340_lap_phieu_thu v_frm = new f340_lap_phieu_thu();
                v_frm.display(v_us, v_us_gd_pt.dcID_LOAI_PHIEU_THU, v_us_gd_pt.dcID_NGUOI_NHAP);
                load_data_2_grid();
            }
            catch (Exception v_e)
            {
                CSystemLog_301.ExceptionHandle(v_e);
            }
        }
 private void grid2us_object(US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU i_us
     , int i_grid_row)
 {
     DataRow v_dr;
     v_dr = (DataRow)m_fg.Rows[i_grid_row].UserData;
     m_obj_trans.GridRow2DataRow(i_grid_row, v_dr);
     i_us.DataRow2Me(v_dr);
 }
        private void delete_v_rpt_bao_cao_danh_sach_phieu_thu()
        {
            if (!CGridUtils.IsThere_Any_NonFixed_Row(m_fg)) return;
            if (!CGridUtils.isValid_NonFixed_RowIndex(m_fg, m_fg.Row)) return;
            if (BaseMessages.askUser_DataCouldBeDeleted(8) != BaseMessages.IsDataCouldBeDeleted.CouldBeDeleted) return;
            US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_us = new US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
            grid2us_object(v_us, m_fg.Row);

            if (!check_ban_giao_is_da_thu_or_admin(v_us))
            {
                BaseMessages.MsgBox_Infor("Phiếu này đã bàn giao, không được quyền xóa!");
                return;
            }

            try
            {
                v_us.BeginTransaction();
                v_us.DeletePhieuThuVaChiTiet(v_us.dcID);
                v_us.CommitTransaction();
                m_fg.Rows.Remove(m_fg.Row);
                BaseMessages.MsgBox_Infor("Đã xóa thành công");
            }
            catch (Exception v_e)
            {
                v_us.Rollback();
                CDBExceptionHandler v_objErrHandler = new CDBExceptionHandler(v_e,
                    new CDBClientDBExceptionInterpret());
                v_objErrHandler.showErrorMessage();
            }
            load_data_2_grid();
        }
 private bool check_ban_giao_is_da_thu_or_admin(US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU ip_us_rpt)
 {
     if (US_V_HT_NGUOI_SU_DUNG.isInAdminGroup(CAppContext_201.getCurrentUserID()))
     {
         return true;
     }
     US_GD_PHIEU_THU v_us_gd_pt = new US_GD_PHIEU_THU(ip_us_rpt.dcID);
     if (v_us_gd_pt.dcID_TRANG_THAI == CONST_ID_TRANG_THAI_BAN_GIAO.DA_BAN_GIAO)
     {
         return false;
     }
     return true;
 }
        private void tao_phieu()
        {
            US_GD_PHIEU_THU v_us_gd_phieu_thu = new US_GD_PHIEU_THU();
            US_GD_CHI_TIET_PHIEU_THU v_us_gd_chi_tiet_phieu_thu = new US_GD_CHI_TIET_PHIEU_THU();

            v_us_gd_phieu_thu.BeginTransaction();
            for (int v_i_cur_row = m_fg.Rows.Fixed; v_i_cur_row < m_fg.Rows.Count; v_i_cur_row++)
            {
                US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_us_rpt = new US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
                if (!CGridUtils.IsThere_Any_NonFixed_Row(m_fg)) return;
                if (!CGridUtils.isValid_NonFixed_RowIndex(m_fg, v_i_cur_row)) return;
                grid2us_object(v_us_rpt, v_i_cur_row);

                //form_2_us_gd_phieu_thu
                v_us_gd_phieu_thu.strSO_PHIEU = m_fg.Rows[v_i_cur_row][(int)e_col_Number.SO_PHIEU].ToString().Trim();
                v_us_gd_phieu_thu.dcID_HOC_SINH = v_us_rpt.dcID_HOC_SINH;
                v_us_gd_phieu_thu.dcID_NGUOI_THU = CIPConvert.ToDecimal(m_cbo_nhan_vien_thu.SelectedValue);
                v_us_gd_phieu_thu.dcID_NGUOI_NHAP = CIPConvert.ToDecimal(m_cbo_nhan_vien_nhap.SelectedValue);
                v_us_gd_phieu_thu.strTEN_NGUOI_NOP_TIEN = m_fg.Rows[v_i_cur_row][(int)e_col_Number.HO_TEN_PH].ToString().Trim();
                v_us_gd_phieu_thu.strNOI_DUNG = m_fg.Rows[v_i_cur_row][(int)e_col_Number.NOI_DUNG].ToString().Trim();
                v_us_gd_phieu_thu.SetSO_TIENNull();
                v_us_gd_phieu_thu.datNGAY_THU = m_dat_tai_ngay.Value.Date;
                v_us_gd_phieu_thu.datNGAY_NHAP = m_dat_ngay_nhap.Value.Date;
                v_us_gd_phieu_thu.dcID_LOAI_PHIEU_THU = CONST_ID_LOAI_PHIEU_THU.PHIEU_PHAI_THU;
                v_us_gd_phieu_thu.dcID_TRANG_THAI = CONST_ID_TRANG_THAI_BAN_GIAO.DA_THU;

                v_us_gd_phieu_thu.Insert();

                //form_2_us_gd_chi_tiet_phieu_thu
                v_us_gd_chi_tiet_phieu_thu.dcID_GD_PHIEU_THU = v_us_gd_phieu_thu.dcID;
                v_us_gd_chi_tiet_phieu_thu.dcID_LOP_MON = CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue);
                v_us_gd_chi_tiet_phieu_thu.dcSO_TIEN = CIPConvert.ToDecimal(m_fg.Rows[v_i_cur_row][(int)e_col_Number.TIEN_PHAI_THU].ToString());
                v_us_gd_chi_tiet_phieu_thu.UseTransOfUSObject(v_us_gd_phieu_thu);
                v_us_gd_chi_tiet_phieu_thu.Insert();
            }
            v_us_gd_phieu_thu.CommitTransaction();
        }
        private void load_data_2_grid()
        {
            DS_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_ds_ds_pt = new DS_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
            US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU v_us_ds_pt = new US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU();
            v_ds_ds_pt.EnforceConstraints = false;
            v_ds_ds_pt.Clear();
            v_us_ds_pt.FillThongTinHS(v_ds_ds_pt, CIPConvert.ToDecimal(m_cbo_lop_mon.SelectedValue));
            CGridUtils.Dataset2C1Grid(v_ds_ds_pt, m_fg, m_obj_trans);
            CGridUtils.MakeSoTT(0, m_fg);
            //Fill cac cot con lai
            for (int v_i_cur_row = m_fg.Rows.Fixed; v_i_cur_row < m_fg.Rows.Count; v_i_cur_row++)
            {
                m_fg.Rows[v_i_cur_row][(int)e_col_Number.NGAY_THU] = m_dat_tai_ngay.Value.Date;
                m_fg.Rows[v_i_cur_row][(int)e_col_Number.NOI_DUNG] = m_txt_noi_dung.Text.Trim();
                m_fg.Rows[v_i_cur_row][(int)e_col_Number.HO_TEN_PH] = "PH " + m_fg.Rows[v_i_cur_row][(int)e_col_Number.HO_TEN_HS];

                US_V_HT_NGUOI_SU_DUNG v_us_ht_nsd = new US_V_HT_NGUOI_SU_DUNG(CAppContext_201.getCurrentUserID());
                m_fg.Rows[v_i_cur_row][(int)e_col_Number.NGUOI_THU] = v_us_ht_nsd.strTEN;
                m_fg.Rows[v_i_cur_row][(int)e_col_Number.SO_PHIEU] = "PPT" + m_cbo_lop_mon.SelectedValue.ToString() + "_" + m_fg.Rows[v_i_cur_row][(int)e_col_Number.MA_HOC_SINH];
                m_fg.Rows[v_i_cur_row][(int)e_col_Number.TIEN_PHAI_THU] = m_txt_thanh_tien.Text;
            }
        }
        public void display(US_V_RPT_BAO_CAO_DANH_SACH_PHIEU_THU ip_us, decimal ip_dc_id_loai_phieu_thu, decimal ip_dc_id_nguoi_nhap)
        {
            US_V_GD_PHIEU_THU v_us_v_pt = new US_V_GD_PHIEU_THU(ip_us.dcID);

            m_us_v_hoc_sinh.dcID = ip_us.dcID_HOC_SINH;
            m_us_gd_phieu_thu.dcID = v_us_v_pt.dcID;
            m_txt_so_phieu.Text = ip_us.strSO_PHIEU.Trim();
            m_txt_ho_ten_hs.Text = ip_us.strHO_TEN_HS.Trim();
            m_txt_ten_nguoi_nop_tien.Text = v_us_v_pt.strTEN_NGUOI_NOP_TIEN.Trim();
            m_txt_noi_dung.Text = ip_us.strNOI_DUNG.Trim();
            if (ip_dc_id_loai_phieu_thu == ID_LOAI_PHIEU_THU.ID_PHIEU_PHAI_THU)
            {
                m_txt_so_tien.Text = ip_us.dcTIEN_PHAI_THU.ToString("#,###");
                //m_txt_so_tien_bang_chu.Text = CTienNo2Text.So_chu((double)ip_us.dcTIEN_PHAI_THU);
                m_lbl_header.Text = "CHI TIẾT PHIẾU PHẢI THU";
                m_str_loai_form = "PHAI_THU";
            }
            else if (ip_dc_id_loai_phieu_thu == ID_LOAI_PHIEU_THU.ID_PHIEU_GIAM_TRU)
            {
                m_txt_so_tien.Text = ip_us.dcTIEN_GIAM_TRU.ToString("#,###");
                //m_txt_so_tien_bang_chu.Text = CTienNo2Text.So_chu((double)ip_us.dcTIEN_GIAM_TRU);
                m_lbl_header.Text = "CHI TIẾT PHIẾU GIẢM TRỪ";
                m_str_loai_form = "GIAM_TRU";
            }
            else if (ip_dc_id_loai_phieu_thu == ID_LOAI_PHIEU_THU.ID_PHIEU_THUC_THU)
            {
                m_txt_so_tien.Text = ip_us.dcTIEN_THUC_THU.ToString("#,###");
                //m_txt_so_tien_bang_chu.Text = CTienNo2Text.So_chu((double)ip_us.dcTIEN_THUC_THU);
                m_lbl_header.Text = "CHI TIẾT PHIẾU THỰC THU";
                m_str_loai_form = "THUC_THU";
            }
            //lap ham xu ly tien bang so qua bang chu
            m_cbo_nhan_vien_thu.SelectedValue = ip_us.dcID_NGUOI_THU;

            //m_lbl_header.Text = "LẬP " + v_us_v_pt.strTEN_NGAN;

            m_dat_ngay_thu.Value = ip_us.datNGAY_THU;
            m_dat_ngay_nhap.Value = v_us_v_pt.datNGAY_NHAP;

            load_data_2_cbo();
            m_cbo_nhan_vien_nhap.SelectedValue = ip_dc_id_nguoi_nhap;
            m_cbo_nhan_vien_thu.SelectedValue = ip_us.dcID_NGUOI_THU;

            m_cmd_ds_phieu.Visible = false;
            m_str_trang_thai_phieu = "F430";
            m_id_gd_phieu_thu = ip_us.dcID;
            m_cmd_insert.Text = "Lưu sửa phiếu";
            m_e_form_mode = DataEntryFormMode.UpdateDataState;
            m_cmd_chon_hs.Visible = false;
            m_txt_ho_ten_hs.BackColor = Color.AliceBlue;
            m_txt_ho_ten_hs.ReadOnly = true;

            m_lbl_ten_hs.Text = ip_us.strHO_TEN_HS.Trim();

            //suggest_ma_phieu();

            this.ShowDialog();
        }