using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace gehGassi.Core.Interfaces
{
///
/// Schnittstellenbeschreibung für einen Service der die Verwaltung von verfügbaren Sprachen realisiert
///
public interface ILanguageService
{
///
/// Gibt eine Sprache anhand des ISO2-Codes zurück
///
///
/// Sprache oder null, wenn keine gefunden
Language Get(string iso2);
///
/// Gibt die Standard-Sprache des Systems zurück
///
/// Standard-Sprache
Language GetDefault();
///
/// Gibt die Auflistung aller Sprachen des Systems zurück
///
/// Liste von Sprachen
List GetAll();
///
/// Gibt die Auflistung aller Sprachen des Systems zurück als ISO2 Liste
///
/// Liste von Sprachen
List GetAllIso2();
///
/// Gibt eine gefilterte Liste von Sprachen zurück. Sucht nur im Namen
///
/// Filterbegriff der in bestimmten Feldern gesucht wird
/// List betroffener Kunden
List Search(string filter);
}
///
/// Repräsentiert eine Sprache
///
public class Language
{
///
/// 2-Letter ISO Code der Sprache
///
public string Iso2 { get; set; }
///
/// Name der Sprache (Deutsch, Englisch usw..)
///
public string Name { get; set; }
///
/// Name der Sprache in englisch
///
public string NameEnglish { get; set; }
///
/// Gibt an ob es sich um die Standardsprache handelt
///
public bool IsDefault { get; set; }
}
}