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;
            }
        }
Beispiel #2
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;
            }
        }