private static async Task processDeletedDocuments(IUnitOfWork uow, CancellationToken cToken, string thisTruckID, List <TruckPickupListRelease> truckReleaseDocuments) { if (cToken.IsCancellationRequested) { return; } try { var docsDeleted = new List <DocumentToProcess>(); foreach (var d in uow.DocumentsToProcessRepository.GetAll()) { if (d.EntityType == EntityType.PICKUPLIST) { var releaseDoc = new TruckPickupListRelease(); releaseDoc.Id = Guid.NewGuid().ToString(); releaseDoc.Source = InputSource.TRUCK; releaseDoc.SyncedToCloud = true; releaseDoc.Name = "LIST_RELEASE_" + thisTruckID + "_" + d.Id; releaseDoc.TruckID = thisTruckID; releaseDoc.PickupListID = d.Id; truckReleaseDocuments.Add(releaseDoc); } docsDeleted.Add(d); } if (truckReleaseDocuments.Count() > 0) { await DocumentDBContext.BulkUpsert <TruckPickupListRelease>(truckReleaseDocuments, 500); } uow.DocumentsToProcessRepository.BulkDelete(docsDeleted); uow.SaveChanges(); } catch (Exception exc) { Logging.Logger.Log(exc); } }