using Entity_Framework; using Entity_Framework.Entity; using Entity_Framework.Factories; using Modele.Classe; using System.Collections.Generic; namespace Extraction_Donnees.Extraction { public partial class Extraction { public Task> GetEcuries() { IEnumerable result = new List(); using (BDDContext db = new BDDContext()) { result = db.Ecuries.ToList().Select(e => e.EntityToModele()); } return Task.FromResult>(result); } public Task GetOneEcurie(string name) { Ecuries ecurie = new Ecuries(); using (BDDContext db = new BDDContext()) { ecurie = db.Ecuries.Where(e => e.Name == name).FirstOrDefault(); } if(ecurie == null) { return Task.FromResult(null); } return Task.FromResult(ecurie.EntityToModele()); } public Task> AddEcurie(Ecurie ecurie, string pseudo) { // IEnumerable //Indice 0 : Réussi ou pas -> value : 0 ok / 1 erreur //Indice 1 : L'erreur -> Value : 2 nom ecurie / 3 pilote introuvable / 4 fait déjà partie d'une ecurie List result = new List(); Ecuries ecurieEntity = ecurie.ModeleToEntity(); using (BDDContext db = new BDDContext()) { bool checkEcurieName = db.Ecuries.Any(e => e.Name == ecurie.name); if (checkEcurieName == true) { result.Add(1); result.Add(2); return Task.FromResult>(result); } bool chackPilotePseudo = db.Pilotes.Any(e => e.Pseudo == pseudo); if ( chackPilotePseudo == false ) { result.Add(1); result.Add(3); return Task.FromResult>(result); } int idPilote = db.Pilotes.Where(e => e.Pseudo == pseudo).First().Id; bool checkPiloteWithEcurie = db.Ecuries.Any( e => e.IdPiloteProprietaire == idPilote); if (checkPiloteWithEcurie == true ) { result.Add(1); result.Add(4); return Task.FromResult>(result); } ecurieEntity.IdPiloteProprietaire = idPilote; db.Add(ecurieEntity); db.SaveChanges(); } result.Add(0); return Task.FromResult>(result); } } }