Merge pull request 'ImplementAsyncAwait' (#64) from ImplementAsyncAwait into master
continuous-integration/drone/push Build is failing Details

Reviewed-on: #64
pull/69/head
Mamadou Elaphi ARAFA 3 years ago
commit d7b29d88ea

@ -3,6 +3,7 @@ using BowlingEF.Context;
using BowlingEF.Entities;
using BowlingLib.Model;
using Business;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@ -14,7 +15,7 @@ namespace BowlingMaping
public class EquipeDbDataManager : IDataManager<Equipe>
{
#region Méthodes
public bool Add(Equipe _equipe)
public async Task<bool> Add(Equipe _equipe)
{
bool result = false;
using (var context = new BowlingContext())
@ -30,62 +31,62 @@ namespace BowlingMaping
}).ToList()
};
context.Equipes.Add(entity);
result = context.SaveChanges() == 1;
result = await context.SaveChangesAsync() == 1;
}
return result;
}
public bool Delete(Equipe _equipe)
public async Task<bool> Delete(Equipe _equipe)
{
bool result = false;
using (var context = new BowlingContext())
{
EquipeEntity entity = context.Equipes.Find(_equipe.Id);
context.Equipes.Remove(entity);
result = context.SaveChanges() == 1;
result =await context.SaveChangesAsync() == 1;
}
return result;
}
public IEnumerable<Equipe> GetAll()
public async Task<IEnumerable<Equipe>> GetAll()
{
using (var context = new BowlingContext())
{
return context.Equipes.Select(e => new Equipe
return await context.Equipes.Select(e => new Equipe
(
e.Id,
e.Nom,
e.Joueurs.Select(j => new Joueur(j.Id, j.Pseudo)).ToArray()
)).ToList();
)).ToListAsync();
}
}
public Equipe GetDataWithName(string name)
public async Task<Equipe> GetDataWithName(string name)
{
using (var context = new BowlingContext())
{
return context.Equipes.Where(e => e.Nom == name).Select(e => new Equipe
return await context.Equipes.Where(e => e.Nom == name).Select(e => new Equipe
(
e.Id,
e.Nom,
e.Joueurs.Select(j => new Joueur(j.Id, j.Pseudo)).ToArray()
)).FirstOrDefault();
)).FirstOrDefaultAsync();
}
}
public bool Update(Equipe data)
public async Task< bool> Update(Equipe data)
{
bool result = false;
using (var context = new BowlingContext())
{
EquipeEntity entity = context.Equipes.Find(data.Id);
EquipeEntity entity = context.Equipes.Find(data.Id);
entity.Nom = data.Nom;
entity.Joueurs = data.Joueurs.Select(j => new JoueurEntity
{
Id = j.Id,
Pseudo = j.Pseudo
}).ToList();
result = context.SaveChanges() == 1;
result = await context.SaveChangesAsync() == 1;
}
return result;
}

@ -2,6 +2,7 @@
using BowlingEF.Entities;
using BowlingLib.Model;
using Business;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@ -21,7 +22,7 @@ namespace BowlingMaping
/// </summary>
/// <param name="_joueur"></param>
/// <returns></returns>
public bool Add(Joueur _joueur)
public async Task<bool> Add(Joueur _joueur)
{
bool result = false;
using (var context = new BowlingContext())
@ -32,7 +33,7 @@ namespace BowlingMaping
Pseudo = _joueur.Pseudo,
};
context.Joueurs.Add(entity);
result = context.SaveChanges() == 1;
result =await context.SaveChangesAsync() == 1;
}
return result;
}
@ -42,7 +43,7 @@ namespace BowlingMaping
/// </summary>
/// <param name="_joueur"></param>
/// <returns></returns>
public bool Delete(Joueur _joueur)
public async Task< bool> Delete(Joueur _joueur)
{
bool result = false;
@ -52,7 +53,7 @@ namespace BowlingMaping
{
JoueurEntity entity = context.Joueurs.Find(_joueur.Id);
context.Joueurs.Remove(entity);
result = context.SaveChanges() == 1;
result = await context.SaveChangesAsync() == 1;
}
return result;
@ -64,12 +65,12 @@ namespace BowlingMaping
/// recupère tous les joueurs de la Base de données
/// </summary>
/// <returns></returns>
public IEnumerable<Joueur> GetAll()
public async Task<IEnumerable<Joueur>> GetAll()
{
using (var context = new BowlingContext())
{
List<Joueur> joueurs = new List<Joueur>();
foreach (var item in context.Joueurs)
List<Joueur> joueurs = new List<Joueur>();
foreach (var item in await context.Joueurs.ToListAsync())
joueurs.Add(new Joueur(item.Id, item.Pseudo));
return joueurs;
}
@ -80,22 +81,19 @@ namespace BowlingMaping
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public Joueur GetDataWithName(string name)
public async Task<Joueur> GetDataWithName(string name)
{
using (var context = new BowlingContext())
{
Joueur _joueur = null;
var query = from joueur in context.Joueurs
where joueur.Pseudo == name
select joueur;
foreach (var item in query)
_joueur = new Joueur(item.Id, item.Pseudo);
var query = await context.Joueurs.FirstOrDefaultAsync(n => n.Pseudo == n.Pseudo);
_joueur = new Joueur(query.Id, query.Pseudo);
return _joueur;
}
}
public bool Update(Joueur _joueur)
public async Task<bool> Update(Joueur _joueur)
{
bool result = false;
using (var context = new BowlingContext())
@ -104,7 +102,7 @@ namespace BowlingMaping
if (entity!=null)
{
entity.Pseudo = _joueur.Pseudo;
result = context.SaveChanges() == 1;
result = await context.SaveChangesAsync() == 1;
}
}
return result;

@ -2,6 +2,7 @@
using BowlingEF.Entities;
using BowlingLib.Model;
using Business;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
@ -21,7 +22,7 @@ namespace BowlingMaping
/// </summary>
/// <param name="_partie"></param>
/// <returns></returns>
public bool Add(Partie _partie)
public async Task<bool> Add(Partie _partie)
{
bool result = false;
using (var context = new BowlingContext())
@ -34,7 +35,7 @@ namespace BowlingMaping
Score = _partie.Score
};
context.Parties.Add(entity);
result = context.SaveChanges() == 1;
result = await context.SaveChangesAsync() == 1;
}
return result;
}
@ -44,14 +45,14 @@ namespace BowlingMaping
/// </summary>
/// <param name="_partie"></param>
/// <returns></returns>
public bool Delete(Partie _partie)
public async Task<bool> Delete(Partie _partie)
{
bool result = false;
using (var context = new BowlingContext())
{
PartieEntity entity = context.Parties.Find(_partie.Id);
context.Parties.Remove(entity);
result = context.SaveChanges() == 1;
result = await context.SaveChangesAsync() == 1;
}
return result;
}
@ -61,7 +62,7 @@ namespace BowlingMaping
/// </summary>
/// <param name="_partie"></param>
/// <returns></returns>
public bool Update(Partie _partie)
public async Task<bool> Update(Partie _partie)
{
bool result = false;
using (var context = new BowlingContext())
@ -70,7 +71,7 @@ namespace BowlingMaping
entity.Date = _partie.Date;
entity.JoueurId = _partie.Joueur.Id;
entity.Score = _partie.Score;
result = context.SaveChanges() == 1;
result =await context.SaveChangesAsync() == 1;
}
return result;
}
@ -80,12 +81,12 @@ namespace BowlingMaping
/// </summary>
/// <param name="_partie"></param>
/// <returns></returns>
public Partie GetDataWithName(string name)
public async Task<Partie> GetDataWithName(string name)
{
Partie result = null;
using (var context = new BowlingContext())
{
PartieEntity entity = context.Parties.Find(name);
PartieEntity entity = await context.Parties.FindAsync(name);
Joueur joueur = new Joueur(entity.Joueur.Id, entity.Joueur.Pseudo);
List<Frame> frames = new List<Frame>();
foreach (FrameEntity frameEntity in entity.Frames)
@ -102,12 +103,12 @@ namespace BowlingMaping
/// Retourne Toutes les parties en base de donné
/// </summary>
/// <returns></returns>
public IEnumerable<Partie> GetAll()
public async Task<IEnumerable<Partie>> GetAll()
{
List<Partie> result = new List<Partie>();
using (var context = new BowlingContext())
{
foreach (PartieEntity entity in context.Parties.OrderBy(item => item.Date))
foreach (PartieEntity entity in await context.Parties.ToListAsync())
{
Joueur joueur = new Joueur(entity.Joueur.Id, entity.Joueur.Pseudo);
List<Frame> frames = new List<Frame>();
@ -119,7 +120,7 @@ namespace BowlingMaping
result.Add(new Partie(entity.Id, joueur, frames, entity.Date, entity.Score));
}
}
return result;
return result.OrderBy(item => item.Date);
}
/// <summary>
@ -127,14 +128,15 @@ namespace BowlingMaping
/// </summary>
/// <param name="date"></param>
/// <returns></returns>
public IEnumerable<Partie> GetAllWithDate(DateTime date)
public async Task<IEnumerable<Partie>> GetAllWithDate(DateTime date)
{
List<Partie> result = new List<Partie>();
using (var context = new BowlingContext())
{
foreach (PartieEntity entity in context.Parties.OrderBy(item => item.Date))
var query = context.Parties.Where(item => item.Date == date);
foreach (PartieEntity entity in await context.Parties.ToListAsync())
{
if (entity.Date == date)
if (entity.Date.Date == date.Date)
{
Joueur joueur = new Joueur(entity.Joueur.Id, entity.Joueur.Pseudo);
List<Frame> frames = new List<Frame>();
@ -147,7 +149,7 @@ namespace BowlingMaping
}
}
}
return result;
return result.OrderBy(item => item.Date);
}
#endregion

@ -13,7 +13,7 @@ namespace BowlingStub
}
public bool Add(Equipe data)
public async Task<bool> Add(Equipe data)
{
if (data != null)
{
@ -23,7 +23,7 @@ namespace BowlingStub
return false;
}
public bool Delete(Equipe data)
public async Task<bool> Delete(Equipe data)
{
if (data != null)
{
@ -48,7 +48,7 @@ namespace BowlingStub
}
public IEnumerable<Equipe> GetAll()
public async Task<IEnumerable<Equipe>> GetAll()
{
Load();
return listEquipes;
@ -56,7 +56,7 @@ namespace BowlingStub
//mise à jour d'une équipe
public bool Update(Equipe data)
public async Task<bool> Update(Equipe data)
{
if (data != null)
{
@ -70,12 +70,12 @@ namespace BowlingStub
}
public Equipe GetDataWithName(string name)
public async Task<Equipe> GetDataWithName(string name)
{
throw new NotImplementedException();
}
public IEnumerable<Equipe> GetAllWithDate(DateTime date)
public async Task<IEnumerable<Equipe>> GetAllWithDate(DateTime date)
{
throw new NotImplementedException();
}

@ -10,7 +10,7 @@ namespace BowlingStub
private List<Joueur> listJoueurs = new List<Joueur>();
public bool Add(Joueur data)
public async Task<bool> Add(Joueur data)
{
if (data != null)
{
@ -20,22 +20,22 @@ namespace BowlingStub
return false;
}
public bool Delete(Joueur data)
public async Task<bool> Delete(Joueur data)
{
if (data != null)
{
listJoueurs.Remove(data);
return true;
return true;
}
return false;
}
public IEnumerable<Joueur> GetAll()
public async Task<IEnumerable<Joueur>> GetAll()
{
return listJoueurs;
}
//n represente le nbr de joueurs a creer dans la liste
public IEnumerable<Joueur> GetAllJoueur(int n = 10)
public async Task<IEnumerable<Joueur> >GetAllJoueur(int n = 10)
{
for (int i = 0; i < n; i++)
{
@ -44,17 +44,17 @@ namespace BowlingStub
return listJoueurs;
}
///ged
public Joueur GetDataWithId(int id)
public async Task<Joueur >GetDataWithId (int id)
{
throw new NotImplementedException();
}
public Joueur GetDataWithName(string name)
public async Task<Joueur> GetDataWithName(string name)
{
throw new NotImplementedException();
}//
public bool Update(Joueur data)
public async Task<bool> Update(Joueur data)
{
if (data != null)
{

@ -7,7 +7,7 @@ namespace BowlingStub
{
private List<Partie> listParties = new List<Partie>();
public bool Add(Partie data)
public async Task<bool> Add(Partie data)
{
if (data != null)
{
@ -17,7 +17,7 @@ namespace BowlingStub
return false;
}
public bool Delete(Partie data)
public async Task<bool> Delete(Partie data)
{
if (data != null)
{
@ -27,7 +27,7 @@ namespace BowlingStub
return false;
}
public IEnumerable<Partie> GetAll()
public async Task<IEnumerable<Partie>> GetAll()
{
return listParties;
}
@ -42,22 +42,22 @@ namespace BowlingStub
}
//GDW?
public Partie GetDataWithId(int id)
public async Task<Partie> GetDataWithId(int id)
{
throw new NotImplementedException();
}
public Partie GetDataWithName(string name)
public async Task<Partie> GetDataWithName(string name)
{
throw new NotImplementedException();
}
public bool Update(Partie data)
public async Task<bool> Update(Partie data)
{
if (data != null)
{
int index = listParties.FindIndex(x => x.Id == data.Id);
int index = listParties. FindIndex(x => x.Id == data.Id);
listParties[index] = data;
}
return false;

@ -13,10 +13,10 @@ namespace Business
/// <typeparam name="Data"></typeparam>
public interface IDataManager<Data>
{
bool Add(Data data);
bool Delete(Data data);
bool Update(Data data);
Data GetDataWithName(string name);
IEnumerable<Data> GetAll();
Task<bool> Add(Data data);
Task<bool> Delete(Data data);
Task<bool> Update(Data data);
Task<Data> GetDataWithName(string name);
Task<IEnumerable<Data>> GetAll();
}
}

@ -12,6 +12,6 @@ namespace Business
/// </summary>
public interface IPartieDbDataManager : IDataManager<Partie>
{
IEnumerable<Partie> GetAllWithDate(DateTime date);
Task<IEnumerable<Partie>> GetAllWithDate(DateTime date);
}
}

@ -70,13 +70,15 @@ namespace Business
/// </summary>
/// <param name="joueur"></param>
/// <returns></returns>
public bool AddJoueur(Joueur joueur)
public Task<bool> AddJoueur(Joueur joueur)
{
if (joueurDataManager == null)
{
return false;
return Task.FromResult(false);
}
return joueurDataManager.Add(joueur);
return joueurDataManager.Add(joueur);
}
/// <summary>
@ -84,11 +86,11 @@ namespace Business
/// </summary>
/// <param name="partie"></param>
/// <returns></returns>
public bool AddPartie(Partie partie)
public Task<bool> AddPartie(Partie partie)
{
if (partieDataManager == null)
{
return false;
return Task.FromResult( false);
}
return partieDataManager.Add(partie);
}
@ -98,118 +100,118 @@ namespace Business
/// </summary>
/// <param name="equipe"></param>
/// <returns></returns>
public bool AddEquipe(Equipe equipe)
public async Task<bool> AddEquipe(Equipe equipe)
{
if (equipeDataManager == null)
{
return false;
}
return equipeDataManager.Add(equipe);
return await equipeDataManager.Add(equipe);
}
/// <summary>
/// Retourne la liste des joueurs
/// </summary>
/// <param name="joueur"></param>
public bool DeleteJoueur(Joueur joueur)
public async Task<bool> DeleteJoueur(Joueur joueur)
{
if (joueurDataManager == null)
{
return false;
}
return JoueurDataManager.Delete(joueur);
return await JoueurDataManager.Delete(joueur);
}
/// <summary>
/// Supprime une partie
/// </summary>
/// <param name="partie"></param>
public bool DeletePartie(Partie partie)
public async Task<bool> DeletePartie(Partie partie)
{
if (partieDataManager == null)
{
return false;
}
return partieDataManager.Delete(partie);
return await partieDataManager.Delete(partie);
}
/// <summary>
/// Supprime une équipe
/// </summary>
/// <param name="equipe"></param>
public bool DeleteEquipe(Equipe equipe)
public async Task<bool> DeleteEquipe(Equipe equipe)
{
if (equipeDataManager == null)
{
return false;
}
return equipeDataManager.Delete(equipe);
return await equipeDataManager.Delete(equipe);
}
/// <summary>
/// Retourne la liste des joueurs
/// </summary>
/// <param name="joueur"></param>
public bool UpdateJoueur(Joueur joueur)
public async Task<bool> UpdateJoueur(Joueur joueur)
{
if (joueurDataManager == null)
{
return false;
}
return JoueurDataManager.Update(joueur);
return await JoueurDataManager.Update(joueur);
}
/// <summary>
/// Met à jour une partie
/// </summary>
/// <param name="partie"></param>
public bool UpdatePartie(Partie partie)
public async Task<bool> UpdatePartie(Partie partie)
{
if (partieDataManager == null)
{
return false;
}
return partieDataManager.Update(partie);
return await partieDataManager.Update(partie);
}
/// <summary>
/// Met à jour une équipe
/// </summary>
/// <param name="equipe"></param>
public bool UpdateEquipe(Equipe equipe)
public async Task<bool> UpdateEquipe(Equipe equipe)
{
if (equipeDataManager == null)
{
return false;
}
return equipeDataManager.Update(equipe);
return await equipeDataManager.Update(equipe);
}
/// <summary>
/// Retourne la liste des joueurs
/// </summary>
/// <returns></returns>
public IEnumerable<Joueur> GetAllJoueur()
public async Task<IEnumerable<Joueur>> GetAllJoueur()
{
return JoueurDataManager.GetAll();
return await JoueurDataManager.GetAll();
}
/// <summary>
/// Retourne les dernières parties du joueur
/// </summary>
/// <returns></returns>
public IEnumerable<Partie> GetAllPartie()
public async Task<IEnumerable<Partie>> GetAllPartie()
{
return partieDataManager.GetAll();
return await partieDataManager.GetAll();
}
/// <summary>
/// Retourne les Equipe en fonction d'une partie
/// </summary>
/// <returns></returns>
public IEnumerable<Equipe> GetAllEquipe()
public async Task<IEnumerable<Equipe>> GetAllEquipe()
{
return equipeDataManager.GetAll();
return await equipeDataManager.GetAll();
}
#endregion

@ -24,7 +24,7 @@ namespace BowlingAppUnitTest
manager.AddJoueur(joueur);
//Assert
Assert.Single(manager.JoueurDataManager.GetAll());
Assert.Single(manager.JoueurDataManager.GetAll().Result);
}
//Test de la méthode AddPartie
@ -39,25 +39,9 @@ namespace BowlingAppUnitTest
manager.AddPartie(partie);
//Assert
Assert.Single(manager.PartieDataManager.GetAll());
Assert.Single(manager.PartieDataManager.GetAll().Result);
}
//Test de la méthode AddEquipe
//[Fact]
//public void TestAddEquipe() //Test de la méthode AddEquipe
//{
// //Arrange
// Equipe equipe = new Equipe("Equipe 1");
// Manager manager = new Manager(new StubEquipe());
// //Act
// manager.AddEquipe(equipe);
// //Assert
// Assert.Single(manager.equipeManager.GetAll());
//}
}
}

@ -77,7 +77,7 @@ namespace Test.BowlingAppUnitTest
public void TestJoueurStub()
{
StubJoueur stub = new StubJoueur();
Assert.Equal(10, stub.GetAllJoueur(10).Count());
Assert.Equal(10, stub.GetAllJoueur(10).Result.Count());
}
@ -89,7 +89,7 @@ namespace Test.BowlingAppUnitTest
stub.Add(j);
stub.Delete(j);
//Compter le nombre de joueur dans un objet IEnumerable
Assert.Equal(0, stub.GetAll().Count());
Assert.Equal(0, stub.GetAll().Result.Count());
}
@ -105,7 +105,7 @@ namespace Test.BowlingAppUnitTest
stub.Add(j);
j.setNom("Augustin");
stub.Update(j);
Assert.Equal("Augustin", stub.GetAll().First().Pseudo);
Assert.Equal("Augustin", stub.GetAll().Result.First().Pseudo);
}

Loading…
Cancel
Save