private void us_object2grid(US_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN 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 delete_rpt_chi_tiet_chi_phi_phap_nhan()
 {
     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_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN v_us = new US_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN();
     grid2us_object(v_us, m_fg.Row);
     try {
         v_us.BeginTransaction();
         v_us.Delete();
         v_us.CommitTransaction();
         m_fg.Rows.Remove(m_fg.Row);
     }
     catch(Exception v_e) {
         v_us.Rollback();
         CDBExceptionHandler v_objErrHandler = new CDBExceptionHandler(v_e,
             new CDBClientDBExceptionInterpret());
         v_objErrHandler.showErrorMessage();
     }
 }
 private void grid2us_object(US_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN 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);
 }
        public void display(decimal ip_id_phap_nhan, DateTime ip_tu_ngay, DateTime ip_den_ngay)
        {
            m_obj_trans = get_trans_object(m_fg);
            //Lay ten Phap nhan
            DS_DM_PHAP_NHAN v_ds_dm_phap_nhan = new DS_DM_PHAP_NHAN();
            US_DM_PHAP_NHAN v_us_dm_phap_nhan = new US_DM_PHAP_NHAN();
            v_us_dm_phap_nhan.FillDataset(v_ds_dm_phap_nhan, "where id =" +ip_id_phap_nhan);
            m_lbl_ten_phap_nhan.Text = v_ds_dm_phap_nhan.DM_PHAP_NHAN.Rows[0]["TEN_PHAP_NHAN"].ToString();

            DS_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN v_ds_rpt_chi_tiet = new DS_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN();
            US_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN v_us_rpt_chi_tiet = new US_RPT_CHI_TIET_CHI_PHI_PHAP_NHAN();
            v_us_rpt_chi_tiet.fillDatasetChiPhiPhapNhan(v_ds_rpt_chi_tiet, ip_id_phap_nhan, ip_tu_ngay, ip_den_ngay);
            m_fg.Redraw = true;
            CGridUtils.Dataset2C1Grid(v_ds_rpt_chi_tiet, m_fg, m_obj_trans);
            //Lay tong tien

            m_fg.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum // chỗ này dùng hàm count tức là để đếm, có thể dùng các hàm khác thay thế
             , 0
             , (int)e_col_Number.TEN_PHONG_BAN // chỗ này là tên trường mà mình nhóm
             , (int)e_col_Number.SO_TIEN // chỗ này là tên trường mà mình Count
             , "{0}"
             );
            m_fg.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum // chỗ này dùng hàm count tức là để đếm, có thể dùng các hàm khác thay thế
             , 0
             , (int)e_col_Number.TEN_PHONG_BAN // chỗ này là tên trường mà mình nhóm
             , (int)e_col_Number.TIEN_PN // chỗ này là tên trường mà mình Count
             , "{0}"
             );
            decimal v_tong_tien = 0;
            for(int v_i_row = m_fg.Rows.Fixed; v_i_row < m_fg.Rows.Count - 1; v_i_row++) {
                if(m_fg.Rows[v_i_row].IsNode == true)
                    if(m_fg.Rows[v_i_row][(int)e_col_Number.TIEN_PN] != null) {
                        v_tong_tien = v_tong_tien + CIPConvert.ToDecimal(m_fg.Rows[v_i_row][(int)e_col_Number.TIEN_PN]);
                    }

            }
            m_lbl_tong_tien.Text = CIPConvert.ToStr(v_tong_tien, "#,###")+ " (VNĐ)";

            //for(int v_i_row = m_fg.Rows.Fixed; v_i_row < m_fg.Rows.Count - 1; v_i_row++) {
            //    if(m_fg.Rows[v_i_row].IsNode == true) {
            //        US_DM_PHONG_BAN v_us_dm_phong_ban = new US_DM_PHONG_BAN();
            //        DS_DM_PHONG_BAN v_ds_dm_phong_ban = new DS_DM_PHONG_BAN();
            //        v_us_dm_phong_ban.FillDataset(v_ds_dm_phong_ban, "where TEN_PHONG_BAN = N'" + m_fg.Rows[v_i_row].Node.Data +"'");

            //        DS_DM_PHONG_BAN_PHAP_NHAN v_ds = new DS_DM_PHONG_BAN_PHAP_NHAN();
            //        US_DM_PHONG_BAN_PHAP_NHAN v_us = new US_DM_PHONG_BAN_PHAP_NHAN();
            //        v_us.timTyTrongTrungTam(v_ds, ip_id_phap_nhan, CIPConvert.ToDecimal(v_ds_dm_phong_ban.DM_PHONG_BAN[0]["ID"]));
            //        m_fg.Rows[v_i_row][(int)e_col_Number.TY_TRONG] = v_ds.DM_PHONG_BAN_PHAP_NHAN[0]["TY_TRONG"];
            //        //m_fg.Rows[v_i_row][(int)e_col_Number.TIEN_PN] = v_ds.DM_PHONG_BAN_PHAP_NHAN[0]["TY_TRONG"] * m_fg.Rows[v_i_row]["SO_TIEN"];
            //    }

            //}
            //m_fg.Subtotal(C1.Win.C1FlexGrid.AggregateEnum.Sum
            //    , 0
            //    , (int)e_col_Number.NGAY_GUI
            //    , (int)e_col_Number.SO_BILL
            //    , "{0}"
            //    );
            m_fg.Redraw = true;
            this.ShowDialog();
        }