Skip to content

Commit 7eba3e3

Browse files
Update mongodb api
1 parent d3f2d8a commit 7eba3e3

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

API/OCM.Net/OCM.API.Core/Util/CacheProviderMongoDB.cs

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,9 @@ public async Task InsertAllPOI(IEnumerable<OCM.API.Common.Model.ChargePoint> poi
297297
if (updateStrategy == CacheUpdateStrategy.Incremental)
298298
{
299299
var poiCollection = database.GetCollection<POIMongoDB>("poi");
300-
var maxPOI = await poiCollection.AsQueryable().OrderByDescending(s => s.DateLastStatusUpdate).FirstAsync();
300+
var maxPOI = await MongoDB.Driver.Linq.MongoQueryable.FirstOrDefaultAsync(
301+
poiCollection.AsQueryable().OrderByDescending(s => s.DateLastStatusUpdate)
302+
);
301303

302304
int maxId = 0;
303305
if (maxPOI != null) { maxId = maxPOI.ID; }
@@ -320,7 +322,9 @@ public async Task InsertAllPOI(IEnumerable<OCM.API.Common.Model.ChargePoint> poi
320322
if (updateStrategy == CacheUpdateStrategy.Modified)
321323
{
322324
var poiCollection = database.GetCollection<POIMongoDB>("poi");
323-
var maxPOI = await poiCollection.AsQueryable().OrderByDescending(s => s.DateLastStatusUpdate).FirstOrDefaultAsync();
325+
var maxPOI = await MongoDB.Driver.Linq.MongoQueryable.FirstOrDefaultAsync(
326+
poiCollection.AsQueryable().OrderByDescending(s => s.DateLastStatusUpdate)
327+
);
324328

325329
DateTime? dateLastModified = null;
326330
if (maxPOI != null) { dateLastModified = maxPOI.DateLastStatusUpdate.Value.AddMinutes(-10); }
@@ -352,7 +356,7 @@ public async Task InsertAllPOI(IEnumerable<OCM.API.Common.Model.ChargePoint> poi
352356
var stopwatch = Stopwatch.StartNew();
353357

354358
// get data list, include navigation properties to improve query performance
355-
var list = await dataList.ToListAsync();
359+
var list = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync(dataList);
356360

357361
stopwatch.Stop();
358362

@@ -760,7 +764,9 @@ public async Task<MirrorStatus> GetMirrorStatus(bool includeDupeCheck, bool incl
760764
try
761765
{
762766
var statusCollection = database.GetCollection<MirrorStatus>("status");
763-
var currentStatus = await statusCollection.AsQueryable().FirstOrDefaultAsync();
767+
var currentStatus = await MongoDB.Driver.Linq.MongoQueryable.FirstOrDefaultAsync(
768+
statusCollection.AsQueryable()
769+
);
764770

765771
if (currentStatus == null)
766772
{
@@ -776,10 +782,10 @@ public async Task<MirrorStatus> GetMirrorStatus(bool includeDupeCheck, bool incl
776782
{
777783
using (var db = new OCMEntities())
778784
{
779-
currentStatus.TotalPOIInDB = await db.ChargePoints.LongCountAsync();
780-
currentStatus.LastPOIUpdate = await db.ChargePoints.MaxAsync(i => i.DateLastStatusUpdate);
781-
currentStatus.LastPOICreated = await db.ChargePoints.MaxAsync(i => i.DateCreated);
782-
currentStatus.MaxPOIId = await db.ChargePoints.MaxAsync(i => i.Id);
785+
currentStatus.TotalPOIInDB = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.LongCountAsync(db.ChargePoints);
786+
currentStatus.LastPOIUpdate = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.MaxAsync(db.ChargePoints, i => i.DateLastStatusUpdate);
787+
currentStatus.LastPOICreated = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.MaxAsync(db.ChargePoints, i => i.DateCreated);
788+
currentStatus.MaxPOIId = await Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.MaxAsync(db.ChargePoints, i => i.Id);
783789
}
784790
}
785791
else
@@ -795,8 +801,9 @@ public async Task<MirrorStatus> GetMirrorStatus(bool includeDupeCheck, bool incl
795801
{
796802
//perform check to see if number of distinct ids!= number of pois
797803
var poiCollection = database.GetCollection<POIMongoDB>("poi");
798-
currentStatus.NumDistinctPOIs = await poiCollection.AsQueryable().DistinctBy(d => d.ID).CountAsync();
799-
804+
currentStatus.NumDistinctPOIs = await MongoDB.Driver.Linq.MongoQueryable.CountAsync(
805+
poiCollection.AsQueryable().DistinctBy(d => d.ID)
806+
);
800807
}
801808

802809
var serverInfo = client.Settings.Servers.FirstOrDefault();
@@ -1359,7 +1366,7 @@ public static Task<List<TSource>> ToListAsyncSafe<TSource>(
13591366
throw new ArgumentNullException(nameof(source));
13601367
if (!(source is IAsyncEnumerable<TSource>))
13611368
return Task.FromResult(source.ToList());
1362-
return source.ToListAsync();
1369+
return Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToListAsync(source);
13631370
}
13641371
}
13651372
}

0 commit comments

Comments
 (0)