ldap-cesi/ldap-cesi/Repositories/SalarieRepository.cs
BuzzLeclair 1fb1f49f9d - Ajout de tous les crud
//TODO : revoir le retour des fonctions getSSalarieByService/site
2025-03-03 00:56:59 +01:00

49 lines
1.5 KiB
C#

using ldap_cesi.Context;
using ldap_cesi.Entities;
using ldap_cesi.Repository.Services;
using Microsoft.EntityFrameworkCore;
namespace ldap_cesi.Repository;
public class SalarieRepository : RepositoryBase<Salarie>, IRepositorySalarie
{
public SalarieRepository(PgContext context) : base(context)
{
}
public async Task<Salarie> GetSalarieWithRelationsAsync(int id)
{
return await _context.Salaries
.Include(s => s.IdServiceNavigation)
.Include(s => s.IdSiteNavigation)
.FirstOrDefaultAsync(s => s.Id == id);
}
public async Task<List<Salarie>> SearchByNameAsync(string inputRecherche)
{
return await _context.Salaries
.Where(s => s.Nom.Contains(inputRecherche) || s.Prenom.Contains(inputRecherche))
.Include(s => s.IdServiceNavigation)
.Include(s => s.IdSiteNavigation)
.ToListAsync();
}
public async Task<List<Salarie>> GetSalariesBySiteAsync(int siteId)
{
return await _context.Salaries
.Where(s => s.IdSite == siteId)
.Include(s => s.IdServiceNavigation)
.Include(s => s.IdSiteNavigation)
.ToListAsync();
}
public async Task<List<Salarie>> GetSalariesByServiceAsync(int serviceId)
{
return await _context.Salaries
.Where(s => s.IdService == serviceId)
.Include(s => s.IdServiceNavigation)
.Include(s => s.IdSiteNavigation)
.ToListAsync();
}
}