2025-05-23 11:02:31 +02:00
using BS.Shared.DataContracts ;
using BS.Shared.Interface ;
using System ;
using System.Collections.Generic ;
using System.Linq ;
using System.Text ;
using System.Threading.Tasks ;
namespace BS.Shared.Core
{
public class AppError
{
public string Code { get ; set ; }
public string Message { get ; set ; }
2025-05-27 09:24:37 +02:00
public Dictionary < string , string > Arguments { get ; set ; }
public List < AppError > InnerErrors { get ; set ; }
2025-05-23 11:02:31 +02:00
public string Displayname = > $"AppError {Code}: {Message}" ;
2025-05-26 11:36:48 +02:00
// Private damit zentral alle Errors
2025-05-27 09:24:37 +02:00
private AppError ( string code , string message , Dictionary < string , string > arguments = null , List < AppError > innerErrors = null )
2025-05-23 11:02:31 +02:00
{
Code = code ;
Message = message ;
2025-05-27 09:24:37 +02:00
Arguments = arguments ;
InnerErrors = innerErrors ;
2025-05-23 11:02:31 +02:00
}
2025-06-02 11:16:35 +02:00
public AppError ( )
{
}
2025-06-23 10:54:30 +02:00
// Muster:
// - public static readonly AppError Example = new AppError("Code", "Message");
// - Usage: var error = AppError.Example;
// Oder mit Abhängigkeit:
// - public static Func<object1, object2, ..., AppError> ExampleFunc = (obj1, obj2, ...) => new AppError(...);
// - Usage: var error = AppError.ExampleFunc(obj1, obj2, ...);
/// <summary>
/// Tenant ist in Anfrage null oder unbekannt
/// </summary>
2025-06-10 14:29:34 +02:00
public static AppError MultitenancyOperationTenantUnknown = > new AppError ( "SERV.HLP.10001" , "Tenant unbekannt" ) ;
2025-05-26 11:36:48 +02:00
2025-06-23 10:54:30 +02:00
/// <summary>
/// Logger Ordner kann nicht gefunden werden. Hinweis: Web.config
/// </summary>
public static AppError LoggerPathDoNotExist = > new AppError ( "SERV.LOG.10002" , "Server falsch konfiguriert" ) ;
2025-06-10 14:29:34 +02:00
public static AppError FileNameInvalidChar = > new AppError ( "DATA.LFS.60001" , "Fehler beim Speichern" ) ;
public static AppError FileNameNotEqFilePath = > new AppError ( "DATA.LFS.60002" , "Fehler beim Speichern" ) ;
public static AppError StoredFileAlreadyExists = > new AppError ( "DATA.LFS.60003" , "Fehler beim Speichern" ) ;
public static Func < OrganisationDC , AppError > GkvDatenannahmestelleAdresseNotFound = > ( dc ) = > new AppError ( "GKV.70001" , $"Unbekannte Datenannahmestelle. Bitte neu in der Organisation {dc.Name} ermitteln" ) ;
2025-05-23 11:02:31 +02:00
}
}