Files
2026-03-17 09:53:09 -05:00

54 lines
2.0 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using LCU.Library.Internal.IncentiveApiModels.Entities;
using LCU.API.Internal.Operations.IncentiveApiLib.Persistence;
using Microsoft.EntityFrameworkCore;
namespace LCU.API.Internal.Operations.IncentiveApiLib.Repositories;
public class UserPermissionHistoryRepository : BaseRepository, IUserPermissionHistoryRepository
{
public UserPermissionHistoryRepository(IApplicationDbContext context) : base(context)
{
}
public async Task<List<UserPermissionHistory>> SaveUserPermissionsInsertion(IEnumerable<UserPermission> newPermissions)
{
var newPermissionHistory = newPermissions.Select(userPermission => new UserPermissionHistory
{
Id = 0,
Source = "Manual Assignment",
EmployeeId = Convert.ToInt32(userPermission.AppUser.EmployeeId),
Permission = userPermission.Permission.Code,
PermissionAdded = true
})
.ToList();
await _context.UserPermissionHistories.AddRangeAsync(newPermissionHistory);
return newPermissionHistory;
}
public async Task<List<UserPermissionHistory>> SaveUserPermissionsDeletion(IEnumerable<UserPermission> newPermissions)
{
var newPermissionHistory = newPermissions.Select(userPermission => new UserPermissionHistory
{
Id = 0,
Source = "Manual Assignment",
EmployeeId = Convert.ToInt32(userPermission.AppUser.EmployeeId),
Permission = userPermission.Permission.Code,
PermissionRemoved = true
})
.ToList();
await _context.UserPermissionHistories.AddRangeAsync(newPermissionHistory);
return newPermissionHistory;
}
public async Task<List<UserPermissionHistory>> GetUserPermissionHistory(int employeeId)
{
return await _context.UserPermissionHistories.Where(history => history.EmployeeId == employeeId).ToListAsync();
}
}