54 lines
2.0 KiB
C#
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();
|
|
}
|
|
}
|