コード例 #1
0
        private void btnUpdate_Click(object sender, EventArgs e)
        {
            if (_storeDTO == null)
            {
                //frmMsg.ShowMsg(SGMText.SGM_ERROR, "DTO NULL", SGMMessageType.SGM_MESSAGE_TYPE_ERROR);
                return;
            }
            if (!ValidateDataInput())
            {
                return;
            }

            float gas92Add = float.Parse(txtGas92New.Text);
            float gas95Add = float.Parse(txtGas95New.Text);
            float gasDOAdd = float.Parse(txtGasDONew.Text);

            DataTransfer request = new DataTransfer();

            GasStoreDTO cloneStoreDTO = new GasStoreDTO(_storeDTO);

            cloneStoreDTO.GasStoreGas92Total = _storeDTO.GasStoreGas92Total + gas92Add;
            cloneStoreDTO.GasStoreGas95Total = _storeDTO.GasStoreGas95Total + gas95Add;
            cloneStoreDTO.GasStoreGasDOTotal = _storeDTO.GasStoreGasDOTotal + gasDOAdd;

            request.ResponseDataGasStoreDTO = cloneStoreDTO;
            string        jsRequest = JSonHelper.ConvertObjectToJSon(request);
            Task <String> task      = SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterTask(
                () =>
            {
                return(m_service.SGMManager_UpdateGasStore(jsRequest, cloneStoreDTO.GasStoreID));
            });

            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)
                {
                    DataTransfer request2   = new DataTransfer();
                    GasStoreUpdateDTO dto   = new GasStoreUpdateDTO();
                    dto.GasStoreID          = _storeDTO.GasStoreID;
                    dto.GSUpdateDate        = DateTime.Now;
                    dto.GSUpdateDescription = txtNote.Text;
                    dto.GSUpdateGas92Add    = gas92Add;
                    dto.GSUpdateGas95Add    = gas95Add;
                    dto.GSUpdateGasDOAdd    = gasDOAdd;
                    dto.GSUpdateGas92Total  = _storeDTO.GasStoreGas92Total;
                    dto.GSUpdateGas95Total  = _storeDTO.GasStoreGas95Total;
                    dto.GSUpdateGasDOTotal  = _storeDTO.GasStoreGasDOTotal;
                    request2.ResponseDataGasStoreUpdateDTO = dto;
                    string jsRequest2   = JSonHelper.ConvertObjectToJSon(request2);
                    Task <String> task2 = SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterTask(
                        () =>
                    {
                        return(m_service.SGMManager_AddNewGasStoreUpdate(jsRequest2));
                    });
                    SGM_WaitingIdicator.WaitingForm.waitingFrm.progressReporter.RegisterContinuation(task2, () =>
                    {
                        String stResponse2         = task2.Result as String;
                        DataTransfer dataResponse2 = JSonHelper.ConvertJSonToObject(stResponse);
                        if (dataResponse.ResponseCode == DataTransfer.RESPONSE_CODE_SUCCESS)
                        {
                            frmMsg.ShowMsg(SGMText.SGM_INFO, SGMText.GASSTORE_UPDATE_TOTAL_SUCCESS, SGMMessageType.SGM_MESSAGE_TYPE_INFO);
                            _storeDTO.GasStoreGas92Total += gas92Add;
                            _storeDTO.GasStoreGas95Total += gas95Add;
                            _storeDTO.GasStoreGasDOTotal += gasDOAdd;
                            DataToUIView();
                            RefreshUpdateHistory();
                        }
                        else
                        {
                            frmMsg.ShowMsg(SGMText.SGM_ERROR, dataResponse.ResponseErrorMsgDetail, SGMMessageType.SGM_MESSAGE_TYPE_ERROR);
                        }
                    }, SynchronizationContext.Current);
                }
                else
                {
                    frmMsg.ShowMsg(SGMText.SGM_ERROR, dataResponse.ResponseErrorMsgDetail, SGMMessageType.SGM_MESSAGE_TYPE_ERROR);
                }
            }, SynchronizationContext.Current);
        }