AGSSbackend/AGSS/Services/PlayerService.cs

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
};
}
}