private async Task CreateNewBlockchainFlight(I2B_Request request) { BigInteger?nonce = null; if (_blockchain_settings.transaction_fire_and_forget) { nonce = _web3geth_service.BlockchainManager.GetMainAccountNonceForRawTransaction; } CreateFlight create_flight = JsonConvert.DeserializeObject <CreateFlight>(request.task.payload); string tx_hash = await _web3geth_service.Flight.CreateAsync( task_uuid : request.task_uuid, flight_id : create_flight.ufid.ToString(), pid : create_flight.pid.ToString(), ufid : create_flight.ufid.ToString(), flight_code : create_flight.flight_code, fs_flight_code : create_flight.fs_flight_code, departure_utc_offset_hours : create_flight.departure_utc_offset_hours.ToString(), arrival_utc_offset_hours : create_flight.arrival_utc_offset_hours.ToString(), departure_airport : create_flight.departure_airport, arrival_airport : create_flight.arrival_airport, scheduled_departure_date : create_flight.scheduled_departure_date.ToString(), scheduled_departure_date_time : create_flight.scheduled_departure_date_time.ToString(), scheduled_departure_date_time_local : create_flight.scheduled_departure_date_time_local.ToString(), scheduled_arrival_date_time : create_flight.scheduled_arrival_date_time.ToString(), scheduled_arrival_date_time_local : create_flight.scheduled_departure_date_time_local.ToString(), nonce : nonce); if (_blockchain_settings.transaction_fire_and_forget) { // check transaction is pending await MakeSureTransactionIsPending(tx_hash); var fire_and_forget = BackgroundWaitTransactionResult(tx_hash, request); } else { await BackgroundWaitTransactionResult(tx_hash, request); } }
public async Task <IActionResult> Post(CreateFlight command) => await SendAsync <CreateFlight>(command.BindId(cmd => cmd.Id), resourceId : command.Id, resource : "flights");