Master data
All the basic data necessary for creating entries, in addition to the accounts, such as currencies, tax keys, payment terms, banks, etc.,
are recorded and managed in the "Master data" area.
Example Code
Topal is available in different languages. Available languages can be retrieved via the language endpoint.
[TestMethod]
public void REST_Languages_GET()
{
state = new ErrorState { passed = false };
var languages = GET.languages(manager);
if (languages.Count == 4) {
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
Language language_de = languages.SingleOrDefault(l => (l.code.Equals("DE")));
Language language_fr = languages.SingleOrDefault(l => (l.code.Equals("FR")));
Language language_en = languages.SingleOrDefault(l => (l.code.Equals("EN")));
Language language_it = languages.SingleOrDefault(l => (l.code.Equals("IT")));
state.passed = false;
if ((language_de != null) & (language_fr != null) & (language_en != null) & (language_it != null)) {
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
}
class GET
{
public static List<Language> languages(Manager manager)
{
var currentClient = manager.getCurrentClient();
List languages = null;
string request = "clients/{0}/languages";
var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id)).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
languages = JsonConvert.DeserializeObject<List<Language>>(response.Content.ReadAsStringAsync().Result);
}
return languages;
}
UNDER CONSTRUCTION
{
"id": 3,
"code": "EN",
"name": "English"
}
Chack the availability of a language by language code.
[TestMethod]
public void REST_Languages_GET()
{
state = new ErrorState { passed = false };
var languages = GET.languages(manager);
if (languages.Count == 4) {
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
Language language_de = languages.SingleOrDefault(l => (l.code.Equals("DE")));
Language language_fr = languages.SingleOrDefault(l => (l.code.Equals("FR")));
Language language_en = languages.SingleOrDefault(l => (l.code.Equals("EN")));
Language language_it = languages.SingleOrDefault(l => (l.code.Equals("IT")));
state.passed = false;
if ((language_de != null) & (language_fr != null) & (language_en != null) & (language_it != null)) {
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
}
class GET
{
public static Language language_by_code(string code, Manager manager)
{
var currentClient = manager.getCurrentClient();
Language language = null;
string request = "clients/{0}/languages/bycode/{1}";
var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id, code)).Result;
if (response.StatusCode == HttpStatusCode.OK) {
language = JsonConvert.DeserializeObject<Language>(response.Content.ReadAsStringAsync().Result);
}
return language;
}
}
UNDER CONSTRUCTION
{
"id": 3,
"code": "EN",
"name": "English"
}
Load a list of available countries.
[TestMethod]
public void REST_Countries_GET()
{
state = new ErrorState { passed = false };
var countries = GET.countries(manager);
if (countries.Count > 20)
{
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
}
class GET
{
public static List<Country> countries(Manager manager)
{
var currentClient = manager.getCurrentClient();
List countries = null;
string request = "clients/{0}/countries";
var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id)).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
countries = JsonConvert.DeserializeObject<List<Country>>(response.Content.ReadAsStringAsync().Result);
}
return countries;
}
}
UNDER CONSTRUCTION
{
"id": 110,
"code": "CH",
"name": "Schweiz"
}
Load a country by country code.
[TestMethod]
public void REST_Countries_country_by_code_GET()
{
state = new ErrorState { passed = false };
string code = REST_Helper.getRandomCountryCode(manager);
Country country = GET.country_by_code(code, manager);
if (country.code.Equals(code))
{
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
}
class GET
{
public static Country country_by_code(string code, Manager manager)
{
var currentClient = manager.getCurrentClient();
Country country = null;
string request = "clients/{0}/countries/bycode/{1}";
var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id, code)).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
country = JsonConvert.DeserializeObject<Country>(response.Content.ReadAsStringAsync().Result);
}
return country;
}
}
UNDER CONSTRUCTION
UNDER CONSTRUCTION
{
"id": 110,
"code": "CH",
"name": "Schweiz"
}
Load all available bank accounts.
[TestMethod]
public void REST_BankAccount_GETd()
{
state = new ErrorState { passed = false };
string account_name = "PostFinance - CHF";
account_name = account_name.Trim(); // Replace(" ", "");
var bank_accounts = GET.bankaccounts(manager);
if (bank_accounts.Count > 0)
{
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
}
class GET
{
public static List<BankAccount> bankaccounts(Manager manager)
{
var currentClient = manager.getCurrentClient();
List bank_accounts = null;
//select bankaccounts
string request = "clients/{0}/bankaccounts";
var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id)).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
bank_accounts = JsonConvert.DeserializeObject<List<BankAccount>>(response.Content.ReadAsStringAsync().Result);
}
return bank_accounts;
}
}
UNDER CONSTRUCTION
{
"id": 3,
"name": "UBS Euro",
"iban": "CH550023223257288560Q",
"accountNum": "80-2-2",
"creditLine": 0.0,
"accountFID": 13,
"bankFID": 1134,
"bankAccountTypeFID": 1,
"accountCode": "1023",
"bankCode": "232",
"currencyCode": "EUR"
}
Load a bank account by name.
[TestMethod]
public void REST_BankAccount_bank_account_by_name_GET()
{
state = new ErrorState { passed = false };
string bank_account_name = REST_Helper.getRandomBankAccountName(manager);
BankAccount bank_account = GET.bankaccount_by_name(bank_account_name, manager);
if (bank_account.Equals(bank_account_name))
{
state.passed = true;
}
Assert.AreEqual(true, state.passed, state.message);
}
class GET
{
public static BankAccount bankaccount_by_name(String name, Manager manager)
{
var currentClient = manager.getCurrentClient();
BankAccount bank_account = null;
string request = "clients/{0}/bankaccounts/byname/{1}";
var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id, name)).Result;
if (response.StatusCode == HttpStatusCode.OK)
{
bank_account = JsonConvert.DeserializeObject<BankAccount>(response.Content.ReadAsStringAsync().Result);
}
return bank_account;
}
}
UNDER CONSTRUCTION
{
"id": 3,
"name": "UBS Euro",
"iban": "CH550023223257288560Q",
"accountNum": "80-2-2",
"creditLine": 0.0,
"accountFID": 13,
"bankFID": 1134,
"bankAccountTypeFID": 1,
"accountCode": "1023",
"bankCode": "232",
"currencyCode": "EUR"
}