Esempio n. 1
0
        public static void GetTransfers(Dictionary <int, decimal> transfers, SuperAvailabilityResponse superAvailabilityResponse, AggregatorSetting aggregatorSetting)
        {
            var threads = new List <ThreadWorking>();

            foreach (var transfer in transfers)
            {
                var transfersRequestV3 = new TransfersRequestV3
                {
                    ClientType        = 0,
                    ConfirmationLevel = 0,
                    ChildAge          = superAvailabilityResponse.AvailabilityRequest.ChildAge,
                    NoOfAdults        = superAvailabilityResponse.AvailabilityRequest.NoOfAdults,
                    NoOfChildren      = superAvailabilityResponse.AvailabilityRequest.NoOfChildren,
                    SvcDateFrom       = superAvailabilityResponse.AvailabilityRequest.SvcDate,
                    SvcDateTo         = superAvailabilityResponse.AvailabilityRequest.SvcDate.AddDays(superAvailabilityResponse.AvailabilityRequest.Nites),
                    LocationID        = transfer.Key
                };

                var thread = new ThreadWorking
                {
                    TransferSearch = new TransferSearch(transfersRequestV3, aggregatorSetting)
                };

                thread.Thread = new Thread(thread.TransferSearch.Search);
                thread.Thread.Start();
                threads.Add(thread);
            }

            // join up all the threads
            foreach (var threadWorking in threads)
            {
                threadWorking.Thread.Join();
                transfers[threadWorking.TransferSearch.Request.LocationID] = threadWorking.TransferSearch.CheapestTransferPrice;
            }
        }
Esempio n. 2
0
        public static TransfersResponseV3 Search(TransfersRequestV3 request, AggregatorSetting aggregatorSetting)
        {
            var authSoapHd = new AuthSoapHd
            {
                strUserName   = aggregatorSetting.PtsUserName,
                strNetwork    = aggregatorSetting.PtsNetwork,
                strPassword   = aggregatorSetting.PtsPassword,
                strUserRef    = "",
                strCustomerIP = "" //HttpContext.Current == null ? String.Empty : (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] ?? HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]).Split(',')[0].Trim()
            };

            var service = new AccommodationService {
                Url = aggregatorSetting.PtsUrl, AuthSoapHdValue = authSoapHd, Timeout = aggregatorSetting.PtsTimeOut
            };
            var stopwatch = new Stopwatch();

            stopwatch.Start();
            TransfersResponseV3 response = service.GetTransfersV3(request);

            stopwatch.Stop();

            return(response);
        }
Esempio n. 3
0
 public TransferSearch(TransfersRequestV3 request, AggregatorSetting aggregatorSetting)
 {
     Request           = request;
     AggregatorSetting = aggregatorSetting;
 }