public async Task AddDataToIndex()
        {
            var exception     = default(Exception);
            var distributorId = Guid.NewGuid().ToString("N");

            try
            {
                await CreateIndexInternalAsync(distributorId);

                var products = CreateProductList();
                await azureSearchEngine.IndexItemsAsync <Product>(distributorId, products, async indexName =>
                {
                    await CreateIndexInternalAsync(indexName);
                });
            }
            catch (Exception ex)
            {
                exception = ex;
            }
            finally
            {
                await DeleteIndexInternalAsync(distributorId);

                if (default(Exception) != exception)
                {
                    throw exception;
                }
            }
        }
 public async Task ImportData()
 {
     var airportIndexTasks = Parse(async(identifier, city, state, name, chart, region, afdlink) =>
     {
         var airport = new Airport()
         {
             Id         = Guid.NewGuid().ToString("N"),
             Identifier = identifier,
             City       = city,
             State      = state,
             Name       = name,
             Chart      = chart,
             Region     = region,
             AfdLink    = afdlink
         };
         await azureSearchEngine.IndexItemsAsync(indexName, new List <Airport>()
         {
             airport
         },
                                                 async indName =>
         {
             await CreateIndexInternalAsync(indName);
         });
     });
     await Task.WhenAll(airportIndexTasks);
 }