Exemple #1
0
        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);
        }