using GameModel; using GameModel.Contract; using GameModel.Settings; using Microsoft.Extensions.Logging; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace GameData.Repository { public class ExpenseRepository : IExpenseRepository { readonly ILogger _log; private ApiClient _client; string UrlExpense => "items/expense"; string UrlPlayerExpense => "items/playerexpense"; List _memberExpenses = new List(); public ExpenseRepository(ILogger log, ApiClient apiClient) { _log = log; _client = apiClient; _log?.LogDebug("creating ExpenseRepository"); } public async Task> GetAll() { return await _client.Get(UrlExpense); } public async Task Save(PlayerExpense memberExpense) { return await _client.Post(memberExpense, UrlPlayerExpense); } public async Task Delete(IEnumerable items) { dynamic keys = new JObject(); keys.keys = new JArray(items.Select(_ => _.Id)); await _client.Delete(keys, UrlPlayerExpense); } } }