using EFCore.BulkExtensions; using Hcs.WebApp.Data.Hcs; using Microsoft.EntityFrameworkCore; namespace Hcs.WebApp.Services { public class SupplyContractService(IDbContextFactory factory) : HcsServiceBase(factory) { public async Task> GetAllSupplyContractsAsync() { using var context = GetNewContext(); return await context.SupplyContracts.ToListAsync(); } public async Task UpsertSupplyContracts(IEnumerable supplyContracts) { using var context = GetNewContext(); await context.BulkInsertOrUpdateAsync(supplyContracts, new BulkConfig() { PropertiesToExcludeOnUpdate = [ nameof(SupplyContract.ThirdPartyId) ], UpdateByProperties = [ nameof(SupplyContract.HcsId) ] }); } } }