namespace EgwCoreLib.Lux.Data.Repository.Config { public class ConfProfileRepository : BaseRepository, IConfProfileRepository { #region Public Constructors public ConfProfileRepository(IDbContextFactory ctxFactory) : base(ctxFactory) { } #endregion Public Constructors #region Public Methods /// public async Task AddAsync(ProfileModel entity) { await using var dbCtx = await CreateContextAsync(); await dbCtx.DbSetConfProfile.AddAsync(entity); return await dbCtx.SaveChangesAsync() > 0; } /// public async Task AddRangeAsync(List entityList) { await using var dbCtx = await CreateContextAsync(); await dbCtx.DbSetConfProfile.AddRangeAsync(entityList); return await dbCtx.SaveChangesAsync() > 0; } /// public async Task DeleteAsync(ProfileModel entity) { await using var dbCtx = await CreateContextAsync(); dbCtx.DbSetConfProfile.Remove(entity); return await dbCtx.SaveChangesAsync() > 0; } /// public async Task> GetAllAsync() { await using var dbCtx = await CreateContextAsync(); return await dbCtx.DbSetConfProfile.AsNoTracking().ToListAsync(); } /// public async Task GetByIdAsync(int recId) { await using var dbCtx = await CreateContextAsync(); return await dbCtx.DbSetConfProfile .FirstOrDefaultAsync(x => x.ProfileID == recId); } /// public async Task GetByUidAsync(string uID) { await using var dbCtx = await CreateContextAsync(); return await dbCtx.DbSetConfProfile .FirstOrDefaultAsync(x => x.Code == uID); } /// public async Task UpdateAsync(ProfileModel entity) { await using var dbCtx = await CreateContextAsync(); var trackedEntity = await dbCtx.DbSetConfProfile.FirstOrDefaultAsync(x => x.ProfileID == entity.ProfileID); if (trackedEntity != null) { // Aggiorna i valori dell'entità tracciata con quelli della nuova dbCtx.Entry(trackedEntity).CurrentValues.SetValues(entity); } else { dbCtx.DbSetConfProfile.Update(entity); } return await dbCtx.SaveChangesAsync() > 0; } #endregion Public Methods } }