using System; using EntityFrameWorkLib; using Microsoft.EntityFrameworkCore.Metadata.Internal; using Model; namespace DbDataManager { public class PlayerManager: IPlayersManager { private TrekContext trekContext; public async Task AddItem(Player? item) { if (item == null) { return null; } var addItem = await trekContext.AddAsync(item); await trekContext.SaveChangesAsync(); return addItem.Entity; } public async Task DeleteItem(Player? item) { if (item == null) { return false; } var deleteItem = trekContext.Remove(item); trekContext.SaveChanges(); return true; } public async Task> GetItems(int index, int count, string? orderingPropertyName = null, bool descending = false) { //IEnumerable players = trekContext.Players.Skip(index * count) // .Take(count) // .OrderBy(champions => orderingPropertyName) // .Select(champions => champions.ToPoco()); //return players; throw new NotImplementedException(); } private Func filterByPseudo = (player, substring) => player.Pseudo.Contains(substring, StringComparison.InvariantCultureIgnoreCase); private Func filterById = (player, id) => player.Id.Equals(id); public async Task> GetItemsById(int id) { //return trekContext.Players.GetItemsWithFilterAndOrdering(player => filterById(player, id), 0, 1); throw new NotImplementedException(); } public Task> GetItemsByPseudo(string charPseudo) { //return trekContext.Players.GetItemsWithFilterAndOrdering(player => filterByPseudo(player, charPseudo), 0, trekContext.Players.Count()); throw new NotImplementedException(); } public Task GetNbItems() { return Task.FromResult(trekContext.Players.Count()); } public Task GetNbItemsByPseudo(string charPseudo) { throw new NotImplementedException(); } public Task UpdateItem(Player? oldItem, Player? newItem) { //return trekContext.Players.UpdateItem(oldItem, newItem); throw new NotImplementedException(); } } }