You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.7 KiB
82 lines
2.7 KiB
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<IEnumerable<Ecurie>> GetEcuries()
|
|
{
|
|
IEnumerable<Ecurie> result = new List<Ecurie>();
|
|
|
|
using (BDDContext db = new BDDContext())
|
|
{
|
|
result = db.Ecuries.ToList().Select(e => e.EntityToModele());
|
|
}
|
|
|
|
return Task.FromResult<IEnumerable<Ecurie>>(result);
|
|
}
|
|
|
|
public Task<Ecurie> 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<Ecurie>(null);
|
|
}
|
|
return Task.FromResult<Ecurie>(ecurie.EntityToModele());
|
|
}
|
|
|
|
public Task<List<int>> AddEcurie(Ecurie ecurie, string pseudo)
|
|
{
|
|
// IEnumerable<int>
|
|
//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<int> result = new List<int>();
|
|
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<List<int>>(result);
|
|
}
|
|
bool chackPilotePseudo = db.Pilotes.Any(e => e.Pseudo == pseudo);
|
|
if ( chackPilotePseudo == false )
|
|
{
|
|
result.Add(1);
|
|
result.Add(3);
|
|
return Task.FromResult<List<int>>(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<List<int>>(result);
|
|
}
|
|
ecurieEntity.IdPiloteProprietaire = idPilote;
|
|
db.Add(ecurieEntity);
|
|
db.SaveChanges();
|
|
}
|
|
result.Add(0);
|
|
return Task.FromResult<List<int>>(result);
|
|
}
|
|
|
|
}
|
|
}
|