80 lines
3.1 KiB
C#
80 lines
3.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using gehGassiApp.Domain.Common;
|
|
|
|
namespace gehGassiApp.Core.Interfaces
|
|
{
|
|
/// <summary>
|
|
/// Schnittstellenbeschreibung für einen Service der den Umgang mit Ländern vereinfacht
|
|
/// </summary>
|
|
public interface ICountryService
|
|
{
|
|
/// <summary>
|
|
/// Gibt eine Liste aller Länder zurück
|
|
/// </summary>
|
|
/// <returns>Liste</returns>
|
|
Task<List<Country>> GetCountriesAsync();
|
|
|
|
/// <summary>
|
|
/// Gibt ein Land anhand des Codes zurück
|
|
/// </summary>
|
|
/// <param name="countryCode">ISO2</param>
|
|
/// <returns>Land oder null, wenn nicht gefunden</returns>
|
|
Task<Country> GetCountryAsync(string countryCode);
|
|
|
|
/// <summary>
|
|
/// Gibt eine Liste von Bundesländern zurück
|
|
/// </summary>
|
|
/// <returns>Liste von Bundesländern</returns>
|
|
Task<List<State>> GetStatesAsync();
|
|
|
|
/// <summary>
|
|
/// Gibt eine Liste von Bundesländern / Staaten eines Landes zurück
|
|
/// </summary>
|
|
/// <param name="countryCode">ISO2 des Landes</param>
|
|
/// <returns>Liste von Bundesländern</returns>
|
|
Task<List<State>> GetStatesAsync(string countryCode);
|
|
|
|
/// <summary>
|
|
/// Gibt ein Bundesland / Staat eines Landes zurück
|
|
/// </summary>
|
|
/// <param name="countryCode">ISO2 des Landes</param>
|
|
/// <param name="stateCode">Code des Bundeslandes</param>
|
|
/// <returns>Bundesland oder null, wenn nicht gefunden</returns>
|
|
Task<State> GetStateAsync(string countryCode, string stateCode);
|
|
|
|
/// <summary>
|
|
/// Gibt ein Bundesland / Staat eines Landes zurück
|
|
/// </summary>
|
|
/// <param name="countryCode">ISO2 des Landes</param>
|
|
/// <param name="stateName">Name des Bundeslandes</param>
|
|
/// <returns>Bundesland oder null, wenn nicht gefunden</returns>
|
|
Task<State> GetStateByNameAsync(string countryCode, string stateName);
|
|
|
|
/// <summary>
|
|
/// Gibt eine Liste der Ländercodes zurück die zu einem Filter passen
|
|
/// </summary>
|
|
/// <param name="filter">Filter</param>
|
|
/// <param name="operatorValue">Operator der angewendet werden soll</param>
|
|
/// <returns>Liste gefundener Ländercodes</returns>
|
|
Task<List<string>> FindCountryCodesAsync(string filter, string operatorValue);
|
|
|
|
/// <summary>
|
|
/// Gibt eine Liste der Bundesland-Codes zurück die zu einem Filter passen
|
|
/// </summary>
|
|
/// <param name="filter">Filter</param>
|
|
/// <param name="operatorValue">Operator der angewendet werden soll</param>
|
|
/// <returns>Liste gefundener Bundeslandcodes</returns>
|
|
Task<List<string>> FindStateCodesAsync(string filter, string operatorValue);
|
|
|
|
/// <summary>
|
|
/// Gibt eine Liste aller Länder zurück die in der Nationalitätenliste enthalten sind
|
|
/// </summary>
|
|
/// <returns>Liste</returns>
|
|
Task<List<Country>> GetNationalitiesAsync();
|
|
}
|
|
}
|