using System.Runtime.CompilerServices; using System.Threading.Tasks; using EstusShots.Shared.Interfaces; using EstusShots.Shared.Models; using EstusShots.Shared.Models.Parameters; namespace EstusShots.Client.Routes { public class Players : IPlayersController { private readonly EstusShotsClient _client; public Players(EstusShotsClient client) { _client = client; } private string ActionUrl([CallerMemberName]string caller = "") => $"{_client.ApiUrl}{GetType().Name}/{caller}"; public async Task> GetPlayers(GetPlayersParameter parameter) => await _client.PostToApi(ActionUrl(), parameter); public async Task> GetPlayerDetails(GetPlayerDetailsParameter parameter) => await _client.PostToApi(ActionUrl(), parameter); public async Task> SavePlayer(SavePlayerParameter parameter) => await _client.PostToApi(ActionUrl(), parameter); public async Task> DeletePlayers(DeletePlayerParameter parameter) => await _client.PostToApi(ActionUrl(), parameter); } }