public async Task Handle(FareDealScanResult<SingaporeAirlinesFareDeal> message)
		{
			IEnumerable<SingaporeAirlinesFareDealEntity> entities = this.mapper
			    .Map<IEnumerable<SingaporeAirlinesFareDealEntity>>(message.FareDeals);

			await this.repository.MergeFareDeals(entities);
		}
        public async Task Handle(StartFareDealsScanCommand message)
        {
            try
            {
                foreach (var service in this.fareDealServices)
                {
                    logger.LogInformation("Start to scan singapore airlines for fare deals.");
                    var fareDeals = service.SearchFareDeals();
                    var result    = new FareDealScanResult <SingaporeAirlinesFareDeal>
                    {
                        FareDeals = fareDeals.ToArray()
                    };

                    logger.LogInformation("Singapore airlines fare deal scan completed, sending result to service bus.");

                    await this.bus.SendLocal(result);
                }
            }
            catch (Exception e)
            {
                this.logger.LogError("The Singapre airlines fare deal scan failed", e);
                throw;
            }
        }