diff --git a/Marco.Pms.Helpers/CacheHelper/ExpenseCache.cs b/Marco.Pms.Helpers/CacheHelper/ExpenseCache.cs index 5bdc934..11e4554 100644 --- a/Marco.Pms.Helpers/CacheHelper/ExpenseCache.cs +++ b/Marco.Pms.Helpers/CacheHelper/ExpenseCache.cs @@ -47,6 +47,13 @@ namespace Marco.Pms.Helpers.CacheHelper { filter &= filterBuilder.Eq(e => e.CreatedBy.Id, loggedInEmployeeId.ToString()); } + else + { + filter &= filterBuilder.Or( + filterBuilder.Ne(e => e.CreatedBy.Id, loggedInEmployeeId.ToString()), + filterBuilder.Ne(e => e.Status.Id, "297e0d8f-f668-41b5-bfea-e03b354251c8") + ); + } // Apply filters diff --git a/Marco.Pms.Services/Service/ExpensesService.cs b/Marco.Pms.Services/Service/ExpensesService.cs index fb639bc..dd0bf95 100644 --- a/Marco.Pms.Services/Service/ExpensesService.cs +++ b/Marco.Pms.Services/Service/ExpensesService.cs @@ -139,6 +139,10 @@ namespace Marco.Pms.Services.Service _logger.LogInfo("User {EmployeeId} has 'View Self' permission. Restricting query to their expenses.", loggedInEmployeeId); expensesQuery = expensesQuery.Where(e => e.CreatedById == loggedInEmployeeId); } + else + { + expensesQuery = expensesQuery.Where(e => e.CreatedById != loggedInEmployeeId || e.StatusId != Draft); + } if (expenseFilter != null) {