|
|
|
@ -0,0 +1,81 @@ |
|
|
|
|
using espacecollab.backend.infrastructure.sql.dtos; |
|
|
|
|
using espacecollab.backend.infrastructure.sql.SqlRepo; |
|
|
|
|
using espacecollab.backend.infrastructure.sql.SqlRepo.Interface; |
|
|
|
|
|
|
|
|
|
namespace espacecollab.backend.infrastructure.sql.FakeRepo |
|
|
|
|
{ |
|
|
|
|
public class FakeCollaborateurRepository : GenericRepository<CollaborateurSqlDto>, ICollaborateurRepository |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
private List<CollaborateurSqlDto> Collaborateurs { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Context obligatoire car le Generic Repository en a un. |
|
|
|
|
public FakeCollaborateurRepository() |
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
Collaborateurs = new List<CollaborateurSqlDto> |
|
|
|
|
{ |
|
|
|
|
new CollaborateurSqlDto(new Guid(), "Dupont", "Jean", new DateTime(1980, 12, 10), |
|
|
|
|
EnumGenreSql.MASCULIN, EnumStatutSql.NONCADRE, 0, "1 rue du Louvre, 63000, Clermont-Ferrand", "0660258644", |
|
|
|
|
"jean.dupont@gmail.com", "jean.dupont@apside-groupe.com", new DateTime(2023, 12, 17), new Guid(), new Guid()), |
|
|
|
|
new CollaborateurSqlDto(new Guid(), "Michel", "Laura", new DateTime(1985, 08, 12), |
|
|
|
|
EnumGenreSql.FEMININ, EnumStatutSql.NONCADRE, 0, "5 rue du Louvre, 63000, Clermont-Ferrand", "0660258644", |
|
|
|
|
"laura.michel@gmail.com", "laura.michel@apside-groupe.com", new DateTime(2023, 12, 17), new Guid(), new Guid()) |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//redéfinition des méthodes du GenericRepository pour fonctionner avec Fake |
|
|
|
|
public new CollaborateurSqlDto? GetById(Guid id) |
|
|
|
|
{ |
|
|
|
|
return Collaborateurs.FirstOrDefault(entity => entity.Id == id); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public new CollaborateurSqlDto? Add(CollaborateurSqlDto entity) |
|
|
|
|
{ |
|
|
|
|
Collaborateurs.Add(entity); |
|
|
|
|
return entity; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public new CollaborateurSqlDto? Delete(CollaborateurSqlDto entity) |
|
|
|
|
{ |
|
|
|
|
Collaborateurs.Remove(entity); |
|
|
|
|
return entity; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public new IEnumerable<CollaborateurSqlDto> GetAll() |
|
|
|
|
{ |
|
|
|
|
return Collaborateurs; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public new CollaborateurSqlDto? Update(CollaborateurSqlDto collaborateur) |
|
|
|
|
{ |
|
|
|
|
CollaborateurSqlDto? oldCollab = Collaborateurs.FirstOrDefault(entity => entity.Id == collaborateur.Id); |
|
|
|
|
if (oldCollab == null) |
|
|
|
|
{ |
|
|
|
|
Collaborateurs.Add(collaborateur); |
|
|
|
|
return collaborateur; |
|
|
|
|
} |
|
|
|
|
Collaborateurs.Remove(oldCollab); |
|
|
|
|
Collaborateurs.Add(collaborateur); |
|
|
|
|
return collaborateur; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//méthodes spécifiques à l'interface ICollaborateurRepository |
|
|
|
|
public IList<CollaborateurSqlDto>? GetCollaborateursByBusinessUnit(Guid businessUnitId) |
|
|
|
|
{ |
|
|
|
|
return Collaborateurs.Where(entity => entity.BusinessUnitId == businessUnitId).ToList(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public IList<CollaborateurSqlDto>? GetCollaborateursByReferrer(Guid referrerId) |
|
|
|
|
{ |
|
|
|
|
return Collaborateurs.Where(entity => entity.ReferrerId == referrerId).ToList(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public CollaborateurSqlDto? GetCollaborateurByApsideMail(string apsideMail) |
|
|
|
|
{ |
|
|
|
|
return Collaborateurs.FirstOrDefault(entity => entity.ApsideMail == apsideMail); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |