diff --git a/Sources/Dto/Factories/EcurieFactorie.cs b/Sources/Dto/Factories/EcurieFactorie.cs index 4505841..0d8f2fe 100644 --- a/Sources/Dto/Factories/EcurieFactorie.cs +++ b/Sources/Dto/Factories/EcurieFactorie.cs @@ -15,6 +15,9 @@ namespace Dto.Factories EcurieDTO ecurieDTO = new EcurieDTO(); ecurieDTO.Name = ecurie.name; + ecurieDTO.Owner = ecurie.Owner.ModeleToDTO(); + ecurieDTO.Members = ecurie.Members.Select( e => e.ModeleToDTO()).ToList(); + ecurieDTO.WaitingsMembers = ecurie.WaitingMembers.Select(e => e.ModeleToDTO()).ToList(); return ecurieDTO; } diff --git a/Sources/Entity_Framework/BDD.db-shm b/Sources/Entity_Framework/BDD.db-shm new file mode 100644 index 0000000..fe9ac28 Binary files /dev/null and b/Sources/Entity_Framework/BDD.db-shm differ diff --git a/Sources/Entity_Framework/BDD.db-wal b/Sources/Entity_Framework/BDD.db-wal new file mode 100644 index 0000000..e69de29 diff --git a/Sources/Extraction_Donnees/Extraction_BDD/ExtractionEcuries.cs b/Sources/Extraction_Donnees/Extraction_BDD/ExtractionEcuries.cs index f97d2f0..7dc6c24 100644 --- a/Sources/Extraction_Donnees/Extraction_BDD/ExtractionEcuries.cs +++ b/Sources/Extraction_Donnees/Extraction_BDD/ExtractionEcuries.cs @@ -10,14 +10,35 @@ namespace Extraction_Donnees.Extraction { public Task> GetEcuries() { - IEnumerable result = new List(); - + IEnumerable result = new List(); + IEnumerable list = new List(); using (BDDContext db = new BDDContext()) { - result = db.Ecuries.ToList().Select(e => e.EntityToModele()); + result = db.Ecuries.ToList(); + foreach (Ecuries ecu in result) + { + Ecurie ecurie = new Ecurie(); + ecurie.name = ecu.Name; + ecurie.Owner = (from pilote in db.Pilotes + from relation in db.RelationEcuriePilote + from ecuTMP in db.Ecuries + where ecuTMP.Id == relation.IdEcurie && relation.IdPilote == pilote.Id && relation.Grade == "Owner" && ecu.Id == ecuTMP.Id + select pilote).Select( e => e.EntityToModele()).First(); + + ecurie.Members = (from relation in db.RelationEcuriePilote + from pilotes in db.Pilotes + where relation.IdPilote == pilotes.Id && relation.IdEcurie == ecu.Id && relation.Grade == "Member" + select pilotes).ToList().Select(e => e.EntityToModele()).ToList(); + + ecurie.WaitingMembers = (from relation in db.RelationEcuriePilote + from pilotes in db.Pilotes + where relation.IdPilote == pilotes.Id && relation.IdEcurie == ecu.Id && relation.Grade == "WaitingMember" + select pilotes).ToList().Select(e => e.EntityToModele()).ToList(); + list.ToList().Add(ecurie); + } } + return Task.FromResult>(list); - return Task.FromResult>(result); } public Task GetOneEcurie(string name) diff --git a/Sources/Modele/Classe/Ecurie.cs b/Sources/Modele/Classe/Ecurie.cs index 01e5346..869e32a 100644 --- a/Sources/Modele/Classe/Ecurie.cs +++ b/Sources/Modele/Classe/Ecurie.cs @@ -9,6 +9,10 @@ namespace Modele.Classe public class Ecurie { public string name { get; set; } + public Pilote Owner { get; set; } + public List Members { get; set; } + public List WaitingMembers { get; set; } + public Ecurie(string nameArg = "Inconnu !") {