Initial commit. Load list of cards via config (packs or single cards).
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
using ArkhamPnP.Data;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.Json;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace ArkhamPnP
|
||||
{
|
||||
internal class ArkhamDBApi
|
||||
{
|
||||
const string BASE_URL = "https://ru.arkhamdb.com/api/";
|
||||
|
||||
HttpClient http = new HttpClient();
|
||||
|
||||
public ArkhamDBApi()
|
||||
{
|
||||
}
|
||||
|
||||
public async Task<Card> GetCard(string id)
|
||||
{
|
||||
var result = await http.GetAsync(BASE_URL + "public/card/" + id + ".json?_format=json");
|
||||
var content = await result.Content.ReadAsStringAsync();
|
||||
var doc = JsonDocument.Parse(content);
|
||||
return new Card(doc.RootElement);
|
||||
}
|
||||
|
||||
public async Task<List<Card>> GetPack(string code)
|
||||
{
|
||||
var result = await http.GetAsync(BASE_URL + "public/cards/" + code + ".json?_format=json");
|
||||
var content = await result.Content.ReadAsStringAsync();
|
||||
var doc = JsonDocument.Parse(content);
|
||||
var cards = new List<Card>();
|
||||
foreach (var item in doc.RootElement.EnumerateArray())
|
||||
{
|
||||
cards.Add(new Card(item));
|
||||
}
|
||||
return cards;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user