62 lines
2.3 KiB
C#

using System.Collections.Generic;
using gehGassi.Domain.Common;
namespace gehGassi.Core.Services
{
/// <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>
List<Country> GetCountries();
/// <summary>
/// Gibt ein Land anhand des Codes zurück
/// </summary>
/// <param name="countryCode">ISO2</param>
/// <returns>Land oder null, wenn nicht gefunden</returns>
Country GetCountry(string countryCode);
/// <summary>
/// Gibt eine Liste von Bundesländern zurück
/// </summary>
/// <returns>Liste von Bundesländern</returns>
List<State> GetStates();
/// <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>
List<State> GetStates(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>
State GetState(string countryCode, string stateCode);
/// <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>
List<string> FindCountryCodes(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>
List<string> FindStateCodes(string filter, string operatorValue);
}
}