Add metering devices page
This commit is contained in:
30
Hcs.WebApp/Services/MeteringDeviceService.cs
Normal file
30
Hcs.WebApp/Services/MeteringDeviceService.cs
Normal file
@ -0,0 +1,30 @@
|
||||
using EFCore.BulkExtensions;
|
||||
using Hcs.WebApp.Data.Hcs;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Hcs.WebApp.Services
|
||||
{
|
||||
public class MeteringDeviceService(IDbContextFactory<HcsDbContext> factory) : HcsServiceBase(factory)
|
||||
{
|
||||
public async Task<IEnumerable<MeteringDevice>> GetAllMeteringDevicesAsync()
|
||||
{
|
||||
using var context = GetNewContext();
|
||||
return await context.MeteringDevices.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task UpsertMeteringDevices(HcsDbContext context, IEnumerable<MeteringDevice> meteringDevices)
|
||||
{
|
||||
await context.BulkInsertOrUpdateAsync(meteringDevices, new BulkConfig()
|
||||
{
|
||||
PropertiesToExcludeOnUpdate =
|
||||
[
|
||||
nameof(MeteringDevice.ThirdPartyId)
|
||||
],
|
||||
UpdateByProperties =
|
||||
[
|
||||
nameof(MeteringDevice.HcsId)
|
||||
]
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user