private void btnSaleGasView_Click(object sender, EventArgs e) { if (!ValidateDataSaleGasInput()) { return; } DateTime date_begin = new DateTime(dtpSaleGasBegin.Value.Year, dtpSaleGasBegin.Value.Month, dtpSaleGasBegin.Value.Day, 0, 0, 0); DateTime date_end = new DateTime(dtpSaleGasEnd.Value.Date.Year, dtpSaleGasEnd.Value.Month, dtpSaleGasEnd.Value.Day, 23, 59, 59); String gasStationId = (cboGasStation.SelectedItem as ComboboxItem).Value.ToString(); { Task <String> task = SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterTask( () => { return(m_service.SGMSaleGas_GetSaleGasReport(m_stGasStoreID, gasStationId, date_begin, date_end, txtSaleGasCardID.Text.Trim())); }); SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterContinuation(task, () => { String stResponse = task.Result as String; DataTransfer dataResponse = JSonHelper.ConvertJSonToObject(stResponse); if (dataResponse.ResponseCode == DataTransfer.RESPONSE_CODE_SUCCESS) { if (dataResponse.ResponseDataSet != null) { String tableName = dataResponse.ResponseDataSet.Tables[0].TableName; DataTable data = dataResponse.ResponseDataSet.Tables[0]; rptSaleGasReport = new rptSGMSaleGas(); dsSaleGas = new dsSGMSaleGas(); DataTable dtSaleGasTable = dsSaleGas.SGMSaleGas; for (int i = 0; i < data.Rows.Count; i++) { DataRow row = dtSaleGasTable.NewRow(); row["ID"] = (i + 1); row["CUSTOMER_ID"] = data.Rows[i]["CUS_ID"]; row["CUSTOMER_NAME"] = data.Rows[i]["CUS_NAME"]; row["BUY_LIT"] = row["BUY_MONEY"] = Int32.Parse(data.Rows[i]["SALEGAS_CARD_MONEY_BEFORE"].ToString()) - Int32.Parse(data.Rows[i]["SALEGAS_CARD_MONEY_AFTER"].ToString()); row["BUY_DATE"] = data.Rows[i]["SALEGAS_DATE"]; row["GAS_SATION_NAME"] = data.Rows[i]["GASSTATION_NAME"]; dtSaleGasTable.Rows.Add(row); } rptSaleGasReport.Refresh(); rptSaleGasReport.SetDataSource(dsSaleGas); rptSaleGasReport.SetParameterValue("DateBegin", dtpSaleGasBegin.Value); rptSaleGasReport.SetParameterValue("DateEnd", dtpSaleGasEnd.Value); crvSaleGas.ReportSource = rptSaleGasReport; } else { crvSaleGas.ReportSource = null; frmMsg.ShowMsg(SGMText.SGM_INFO, SGMText.REPORT_NO_DATA, SGMMessageType.SGM_MESSAGE_TYPE_INFO); } } else { crvSaleGas.ReportSource = null; frmMsg.ShowMsg(SGMText.SGM_ERROR, dataResponse.ResponseErrorMsg, SGMMessageType.SGM_MESSAGE_TYPE_ERROR); } HideTabs(crvSaleGas); }, SynchronizationContext.Current); } }