71 lines
2.1 KiB
C#
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; }
|
|
}
|
|
}
|