🧐 Switch CLRF thing
continuous-integration/drone/push Build is passing Details

I really should look into that
pull/110/head
Alexis Drai 3 years ago
parent 912f6f6627
commit 4632516d2c

@ -1,82 +1,82 @@
using Microsoft.EntityFrameworkCore.ChangeTracking; using Microsoft.EntityFrameworkCore.ChangeTracking;
using Model; using Model;
namespace Data.EF.Players namespace Data.EF.Players
{ {
public sealed class PlayerDbManager : IManager<PlayerEntity> public sealed class PlayerDbManager : IManager<PlayerEntity>
{ {
private readonly DiceAppDbContext db; private readonly DiceAppDbContext db;
public PlayerDbManager(DiceAppDbContext db) public PlayerDbManager(DiceAppDbContext db)
{ {
this.db = db; this.db = db;
} }
public PlayerEntity Add(PlayerEntity toAdd) public PlayerEntity Add(PlayerEntity toAdd)
{ {
if (db.Players!.Where(entity => entity.Name == toAdd.Name).Any()) if (db.Players!.Where(entity => entity.Name == toAdd.Name).Any())
{ {
throw new ArgumentException("this username is already taken", nameof(toAdd)); throw new ArgumentException("this username is already taken", nameof(toAdd));
}
if (toAdd is null)
{
throw new ArgumentNullException(nameof(toAdd), "param should not be null");
} }
if (toAdd is null)
{
throw new ArgumentNullException(nameof(toAdd), "param should not be null");
}
if (string.IsNullOrWhiteSpace(toAdd.Name)) if (string.IsNullOrWhiteSpace(toAdd.Name))
{ {
throw new ArgumentException("Name property should not be null or whitespace", nameof(toAdd)); throw new ArgumentException("Name property should not be null or whitespace", nameof(toAdd));
} }
EntityEntry ee = db.Players!.Add(toAdd); EntityEntry ee = db.Players!.Add(toAdd);
db.SaveChanges(); db.SaveChanges();
return (PlayerEntity)ee.Entity; return (PlayerEntity)ee.Entity;
} }
public IEnumerable<PlayerEntity> GetAll() public IEnumerable<PlayerEntity> GetAll()
{ {
return db.Players!.AsEnumerable(); return db.Players!.AsEnumerable();
} }
/// <summary> /// <summary>
/// Calls First(), which will throw an exception if no player with such name exists /// Calls First(), which will throw an exception if no player with such name exists
/// </summary> /// </summary>
/// <param name="name"></param> /// <param name="name"></param>
/// <returns></returns> /// <returns></returns>
public PlayerEntity GetOneByName(string name) public PlayerEntity GetOneByName(string name)
{ {
if(string.IsNullOrWhiteSpace(name)) if(string.IsNullOrWhiteSpace(name))
{ {
throw new ArgumentException("Name property should not be null or whitespace", nameof(name)); throw new ArgumentException("Name property should not be null or whitespace", nameof(name));
} }
return db.Players!.First(p => p.Name == name); return db.Players!.First(p => p.Name == name);
} }
public void Remove(PlayerEntity toRemove) public void Remove(PlayerEntity toRemove)
{ {
if (toRemove is null) if (toRemove is null)
{ {
throw new ArgumentNullException(nameof(toRemove), "param should not be null"); throw new ArgumentNullException(nameof(toRemove), "param should not be null");
} }
db.Players!.Remove(toRemove); db.Players!.Remove(toRemove);
db.SaveChanges(); db.SaveChanges();
} }
public PlayerEntity Update(PlayerEntity before, PlayerEntity after) public PlayerEntity Update(PlayerEntity before, PlayerEntity after)
{ {
EntityEntry ee = db.Players!.Update(before); EntityEntry ee = db.Players!.Update(before);
before.Name = after.Name; before.Name = after.Name;
db.SaveChanges(); db.SaveChanges();
return (PlayerEntity)ee.Entity; return (PlayerEntity)ee.Entity;
}
}
/// <summary> /// <summary>
/// Calls First(), which will throw an exception if no player with such ID exists /// Calls First(), which will throw an exception if no player with such ID exists
/// </summary> /// </summary>
/// <param name="ID"></param> /// <param name="ID"></param>
/// <returns></returns> /// <returns></returns>
public PlayerEntity GetOneByID(Guid ID) public PlayerEntity GetOneByID(Guid ID)
{ {
return db.Players!.First(p => p.ID == ID); return db.Players!.First(p => p.ID == ID);
} }
} }
} }

Loading…
Cancel
Save