public static int[] ProcessMerges(List <TraveltimeSegment> input, Verification verifyType, QueryManager <TraveltimeStatic> staticInfoQuerier)
        {
            int[] resultCount = { 0, 0, 0 }; //Success, Failed, Skipped

            foreach (TraveltimeSegment segment in input)
            {
                TraveltimeSegmentStatic  merged = GetStaticData(segment.Id, staticInfoQuerier);
                GenericTraveltimeSegment result = MergeDocuments(merged, segment);

                if (verifyType == Verification.CheckExisting)
                {
                    try
                    {
                        PersistDocuments.Get(result.Id).Wait();
                        resultCount[2]++;
                        // Console.WriteLine($"Merged document {result.Id} not persisted in the database, conflict found.");
                    }
                    catch (Exception ex)
                    {
                        resultCount[0]++;
                        PersistResultDocuments(result);
                        //Console.WriteLine($"Merged document {result.Id} persisted in the database");
                    }
                }
                else
                {
                    resultCount[0]++;
                    PersistResultDocuments(result);
                    //Console.WriteLine($"Merged document {result.Id} persisted in the database");
                }
            }
            return(resultCount);
        }
Exemplo n.º 2
0
 private static bool DocExists(IDocumentPOCO doc)
 {
     try
     {
         PersistDocuments.Get(doc.Id).Wait();
         return(true);
     }
     catch (Exception ex) //zou moeten DocumentClientExpception zijn bij notfound, maar is AggregateException
     {
         //if (ex.StatusCode == HttpStatusCode.NotFound) //werkt enkel bij DocumentClienException
         {
             return(false);
         }
         return(true);
     }
 }