57 lines
1.6 KiB
C#
57 lines
1.6 KiB
C#
using AGSS.DbSet;
|
|
using AGSS.Models.Entities;
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
namespace AGSS.Services;
|
|
|
|
public class PlayerService
|
|
{
|
|
|
|
private readonly ApplicationDbContext _context;
|
|
|
|
public PlayerService(ApplicationDbContext context)
|
|
{
|
|
_context = context;
|
|
}
|
|
|
|
public async Task<bool> CreatePlayerAsync(PlayerModel player)
|
|
{
|
|
var result= await _context.Players.AddAsync(new PlayerModel()
|
|
{
|
|
Name = player.Name,
|
|
Asset = player.Asset,
|
|
Description = player.Description,
|
|
});
|
|
return true;
|
|
}
|
|
public async Task<bool> UpdatePlayerAsync(PlayerModel player)
|
|
{
|
|
var result = await _context.Players.FirstAsync(a => a.Uuid == player.Uuid);
|
|
result.Name = player.Name;
|
|
result.Asset = player.Asset;
|
|
result.Description = player.Description;
|
|
await _context.SaveChangesAsync();
|
|
return true;
|
|
}
|
|
public async Task<bool> DelectPlayerAsync(string PlayerId)
|
|
{
|
|
var result = await _context.Players.FirstAsync(a => a.Uuid == PlayerId);
|
|
_context.Remove(result);
|
|
return true;
|
|
}
|
|
public async Task<PagedResult<PlayerModel>> GetPlayersAsync(int pageNumber, int pageSize)
|
|
{
|
|
var totalItems = await _context.Players.CountAsync();
|
|
var skip = (pageNumber - 1) * pageSize;
|
|
var players = await _context.Players.Skip(skip).Take(pageSize).ToListAsync();
|
|
return new PagedResult<PlayerModel>
|
|
{
|
|
TotalItems = totalItems,
|
|
PageNumber = pageNumber,
|
|
PageSize = pageSize,
|
|
Items = players
|
|
};
|
|
}
|
|
|
|
|
|
} |