Firebase_Implementation #135
@ -80,9 +80,33 @@ namespace Marco.Pms.Services.Service
|
||||
.Where(pa => pa.EmployeeId == employeeId && pa.TenantId == tenantId)
|
||||
.Select(pa => pa.ProjectId).ToListAsync();
|
||||
|
||||
var employeeIds = await _context.ProjectAllocations
|
||||
.Where(pa => projectIds.Contains(pa.ProjectId) && pa.TenantId == tenantId)
|
||||
.Select(pa => pa.EmployeeId).ToListAsync();
|
||||
var teamEmployeeIdsTask = Task.Run(async () =>
|
||||
{
|
||||
await using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
|
||||
return await dbContext.ProjectAllocations
|
||||
.Where(pa => projectIds.Contains(pa.ProjectId) && pa.TenantId == tenantId)
|
||||
.Select(pa => pa.EmployeeId).ToListAsync();
|
||||
});
|
||||
|
||||
var manageProjectsRoleTask = Task.Run(async () =>
|
||||
{
|
||||
await using var dbContext = await _dbContextFactory.CreateDbContextAsync();
|
||||
return await dbContext.RolePermissionMappings
|
||||
.Where(rp => rp.FeaturePermissionId == PermissionsMaster.ManageProject)
|
||||
.Select(rp => rp.ApplicationRoleId).ToListAsync();
|
||||
});
|
||||
|
||||
await Task.WhenAll(teamEmployeeIdsTask, manageProjectsRoleTask);
|
||||
|
||||
var teamEmployeeIds = teamEmployeeIdsTask.Result;
|
||||
var manageProjectsRoleIds = manageProjectsRoleTask.Result;
|
||||
|
||||
var employeeIds = await _context.EmployeeRoleMappings
|
||||
.Where(er =>
|
||||
teamEmployeeIds.Contains(er.EmployeeId) || manageProjectsRoleIds.Contains(er.RoleId))
|
||||
.Select(er => er.EmployeeId)
|
||||
.ToListAsync();
|
||||
|
||||
var registrationTokensForData = await _context.FCMTokenMappings
|
||||
.Where(ft => employeeIds.Contains(ft.EmployeeId) && ft.ExpiredAt >= DateTime.UtcNow && ft.TenantId == tenantId)
|
||||
@ -1438,7 +1462,7 @@ namespace Marco.Pms.Services.Service
|
||||
|
||||
var data = new Dictionary<string, string>()
|
||||
{
|
||||
{ "Keyword", "Team_Modefied" },
|
||||
{ "Keyword", "Team_Modified" },
|
||||
{ "ProjectId", projectId.ToString() }
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user