public static void Get3DSecureBuying(Ticket ticket, Grid webBrowserGrid)
 {
     Global.OnRequestCalled("BuyingRequests.Get3DSecureBuying", new object[] { ticket });
     if (ticket.PNR == null || string.IsNullOrEmpty(ticket.PNR.Code))
     {
         PassengerRequests.OnListVerificationCompleted = (stateResponse) =>
         {
             var state = stateResponse.Result;
             if (!state && On3DSecureBuyingCompleted != null)
             {
                 var response = new BaseResponse <ActionResult>();
                 response.Status = ResponseStatus.InvalidTCKN;
                 On3DSecureBuyingCompleted(response);
             }
             else
             {
                 prepareBrowser(ticket, webBrowserGrid);
             }
         };
         PassengerRequests.VerifyPassengers(ticket.Passengers);
     }
     else
     {
         prepareBrowser(ticket, webBrowserGrid);
     }
 }
 public static void VerifyPassengers(List <Passenger> passengers)
 {
     Global.OnRequestCalled("PassengerRequests.VerifyPassengers", new object[] { passengers });
     _completedCount = 0;
     if (passengers.Any())
     {
         PassengerRequests.OnVerificationCompleted = (response) =>
         {
             _completedCount++;
             if (!response.Result && OnListVerificationCompleted != null)
             {
                 var passengerResponse = new BaseResponse <bool> {
                     Result = false
                 };
                 Global.OnResultParsed(passengerResponse);
                 OnListVerificationCompleted(passengerResponse);
                 Global.OnRequestCompleted();
             }
             else if (_completedCount == passengers.Count() && OnListVerificationCompleted != null)
             {
                 var passengerResponse = new BaseResponse <bool> {
                     Result = true
                 };
                 Global.OnResultParsed(passengerResponse);
                 OnListVerificationCompleted(passengerResponse);
                 Global.OnRequestCompleted();
             }
             else
             {
                 PassengerRequests.VerifyPassenger(passengers[_completedCount]);
             }
         };
         PassengerRequests.VerifyPassenger(passengers[0]);
     }
 }
        public static void GetBuying(Ticket ticket)
        {
            PassengerRequests.OnListVerificationCompleted = (stateResponse) =>
            {
                var state = stateResponse.Result;
                if (!state && BuyingRequest.OnCompleted != null)
                {
                    var response = new BaseResponse <ActionResult>();
                    response.Status = ResponseStatus.InvalidTCKN;
                    BuyingRequest.OnCompleted(response);
                }
                else
                {
                    string xml;
                    if (ticket.Type == TicketType.BusJourney)
                    {
                        xml = BuyingParsings.GetBusBuying(ticket);
                    }
                    else
                    {
                        xml = BuyingParsings.GetAirplaneBuying(ticket);
                    }

                    BuyingRequest.OnPopulated = (xmlResult) =>
                    {
                        BuyingRequest.Response = BuyingParsings.ParseBuying(xmlResult);
                    };
                    Global.OnRequestCalled("BuyingRequests.GetBuying", new object[] { ticket });
                    if (ticket.Type == TicketType.BusJourney)
                    {
                        BuyingRequest.GetResult(xml, ApiAction.BusBuying);
                    }
                    else
                    {
                        BuyingRequest.GetResult(xml, ApiAction.AirplaneBuying);
                    }
                }
            };
            PassengerRequests.VerifyPassengers(ticket.Passengers);
        }