public object Post(HailRequest request) { _logger.LogMessage(string.Format("Starting Hail. Request : {0}", request.ToJson())); var createOrderRequest = Mapper.Map <CreateOrderRequest>(request); var account = _accountDao.FindById(new Guid(this.GetSession().UserAuthId)); var createReportOrder = CreateReportOrder(createOrderRequest, account); var createOrderCommand = BuildCreateOrderCommand(createOrderRequest, account, createReportOrder); var result = _ibsCreateOrderService.CreateIbsOrder(createOrderCommand.OrderId, createOrderCommand.PickupAddress, createOrderCommand.DropOffAddress, createOrderCommand.Settings.AccountNumber, createOrderCommand.Settings.CustomerNumber, createOrderCommand.CompanyKey, createOrderCommand.IbsAccountId, createOrderCommand.Settings.Name, createOrderCommand.Settings.Phone, account.Email, createOrderCommand.Settings.Passengers, createOrderCommand.Settings.VehicleTypeId, createOrderCommand.IbsInformationNote, createOrderCommand.IsFutureBooking, createOrderCommand.PickupDate, createOrderCommand.Prompts, createOrderCommand.PromptsLength, createOrderCommand.ReferenceDataCompanyList, createOrderCommand.Market, createOrderCommand.Settings.ChargeTypeId, createOrderCommand.Settings.ProviderId, createOrderCommand.Fare, createOrderCommand.TipIncentive, account.DefaultTipPercent, createOrderCommand.AssignVehicleId, true, createOrderCommand.CompanyFleetId); if (result.HailResult.OrderKey.IbsOrderId > -1) { createOrderCommand.IbsOrderId = result.HailResult.OrderKey.IbsOrderId; _commandBus.Send(createOrderCommand); } return(result.HailResult); }
public void Connect(string ip, int port, HailRequest hail) { if (netClient.Status == NetPeerStatus.NotRunning) { netClient.Start(); } while (netClient.Status != NetPeerStatus.Running) // Wait until client has started. { Thread.Sleep(1); } var hailMessage = netClient.CreateMessage(); hailMessage.Write(hail.Serialize()); netClient.Connect(ip, port, hailMessage); }