71 lines
2.1 KiB
C#

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