private void GetPriceGas() { Task <String> task = SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterTask( () => { return(m_service.SGMManager_GetCurrentPrice(SystemAdminDTO.GAS_TYPE_92)); }); SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterContinuation(task, () => { bool bHasErr = true; String stResponse = task.Result as String; DataTransfer dataResult = JSonHelper.ConvertJSonToObject(stResponse); if (dataResult.ResponseCode == DataTransfer.RESPONSE_CODE_SUCCESS) { m_iPriceGas92 = dataResult.ResponseDataInt; dataResult = JSonHelper.ConvertJSonToObject(m_service.SGMManager_GetCurrentPrice(SystemAdminDTO.GAS_TYPE_95)); if (dataResult.ResponseCode == DataTransfer.RESPONSE_CODE_SUCCESS) { m_iPriceGas95 = dataResult.ResponseDataInt; dataResult = JSonHelper.ConvertJSonToObject(m_service.SGMManager_GetCurrentPrice(SystemAdminDTO.GAS_TYPE_DO)); if (dataResult.ResponseCode == DataTransfer.RESPONSE_CODE_SUCCESS) { m_iPriceGasDO = dataResult.ResponseDataInt; bHasErr = false; } } } if (bHasErr) { m_iPriceGas92 = m_iPriceGas95 = m_iPriceGasDO = 0; frmMsg.ShowMsg(SGMText.SGM_ERROR, SGMText.SYS_ADMIN_GET_PRICE_ERR + "\n" + dataResult.ResponseErrorMsg + ":" + dataResult.ResponseErrorMsgDetail, SGMMessageType.SGM_MESSAGE_TYPE_ERROR); } txtRechargeGasPrice.Text = SGMText.GAS_92_TEXT + " : " + m_iPriceGas92 + "đ - " + SGMText.GAS_95_TEXT + " : " + m_iPriceGas95 + "đ - " + SGMText.GAS_DO_TEXT + " : " + m_iPriceGasDO + "đ"; this.Enabled = true; ShowDialog(); }, SynchronizationContext.Current); }