-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathValueLists.cs
49 lines (42 loc) · 1.79 KB
/
ValueLists.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
using Birko.SuperFaktura.Response;
using Birko.SuperFaktura.Response.ValueLists;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Birko.SuperFaktura
{
public class ValueLists
{
private readonly AbstractSuperFaktura superFaktura;
public ValueLists(AbstractSuperFaktura superFaktura)
{
this.superFaktura = superFaktura;
}
public async Task<Dictionary<int, string>> ListCountries()
{
var result = await superFaktura.Get("countries").ConfigureAwait(false);
return superFaktura.DeserializeResult<Dictionary<int, string>>(result);
}
public async Task<IEnumerable<Country>> ListCountriesFull()
{
var result = await superFaktura.Get("/countries/index/view_full:1").ConfigureAwait(false);
var data = superFaktura.DeserializeResult<IEnumerable<CountryData>>(result);
return data.Select(x => x.Country);
}
public async Task<IEnumerable<Category>> ListExpenseCategories()
{
var result = await superFaktura.Get("expenses/expense_categories").ConfigureAwait(false);
return superFaktura.DeserializeResult<IEnumerable<Category>>(result);
}
public async Task<IEnumerable<Logo>> ListLogos()
{
var result = await superFaktura.Get("users/logo").ConfigureAwait(false);
return superFaktura.DeserializeResult<IEnumerable<Logo>>(result);
}
public async Task<Dictionary<string, IEnumerable<Sequence>>> ListSequences()
{
var result = await superFaktura.Get("sequences/index.json").ConfigureAwait(false);
return superFaktura.DeserializeResult<Dictionary<string, IEnumerable<Sequence>>>(result);
}
}
}