Renommage : TrajetKmTracker -> SchotzIadKmTracker (backend, specs, frontend)
- Backend : projets, solution, namespaces et références TrajetKmTracker.Api/.Tests -> SchotzIadKmTracker.Api/.Tests (dossiers, .csproj, .sln, .http, namespaces C#). GUID UserSecretsId préservé. - Specs : dossier .kiro/specs/trajet-km-tracker -> schotziad-km-tracker et mise à jour des références internes (chemins, tags de propriétés). - Frontend : projet Angular trajet-km-tracker -> schotziad-km-tracker (package.json, angular.json, chemin dist, Dockerfile), titre applicatif 'SchotzIAD KM Tracker'. - Docker et scripts (backend/Dockerfile, frontend/Dockerfile, run-dev.sh) mis à jour. - Suppression du fichier résiduel package.json.bak. Backend (solution) et frontend (build production) compilent sans erreur.
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsque le texte d'adresse d'une Adresse_Nommee est absent, vide ou dépasse
|
||||
/// 255 caractères (Exigence 15.8). Convertie en réponse HTTP 400 (Bad Request).
|
||||
/// </summary>
|
||||
public class AdresseNommeeInvalideException : Exception
|
||||
{
|
||||
public AdresseNommeeInvalideException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public AdresseNommeeInvalideException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'aucune Adresse_Nommee ne correspond à l'identifiant demandé
|
||||
/// (modification, suppression). Convertie en réponse HTTP 404 (Not Found).
|
||||
/// </summary>
|
||||
public class AdresseNommeeNotFoundException : Exception
|
||||
{
|
||||
public AdresseNommeeNotFoundException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public AdresseNommeeNotFoundException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsque l'API BAN (Base Adresses Nationale) est indisponible :
|
||||
/// échec réseau, réponse HTTP non réussie ou dépassement du délai (timeout).
|
||||
/// </summary>
|
||||
public class BANIndisponibleException : Exception
|
||||
{
|
||||
public BANIndisponibleException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public BANIndisponibleException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Signale l'absence de barème configuré pour une (puissance fiscale, année) lors d'un calcul de montant.
|
||||
/// Ce n'est pas une erreur bloquante : le calcul retourne un montant zéro accompagné d'un avertissement
|
||||
/// (Exigence 13.4). Le service de calcul n'a donc pas à lever cette exception pour interrompre le calcul ;
|
||||
/// elle est fournie pour les cas où un appelant souhaite explicitement signaler la non-configuration.
|
||||
/// </summary>
|
||||
public class BaremeNonConfigureException : Exception
|
||||
{
|
||||
public BaremeNonConfigureException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public BaremeNonConfigureException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'une Date_Effet fournie pour un véhicule est postérieure à la date du jour.
|
||||
/// Convertie en réponse HTTP 400 (Bad Request) — Exigence 10.11.
|
||||
/// </summary>
|
||||
public class DateEffetFutureException : Exception
|
||||
{
|
||||
public DateEffetFutureException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public DateEffetFutureException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'une Dénomination d'Adresse_Nommee, après normalisation (trim + minuscules +
|
||||
/// suppression des accents), correspond à une Adresse_Nommee déjà enregistrée (Exigence 15.7).
|
||||
/// Convertie en réponse HTTP 400 (Bad Request).
|
||||
/// </summary>
|
||||
public class DenominationDupliqueeException : Exception
|
||||
{
|
||||
public DenominationDupliqueeException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public DenominationDupliqueeException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'une Dénomination d'Adresse_Nommee est absente, vide ou dépasse 100 caractères
|
||||
/// (Exigence 15.6). Convertie en réponse HTTP 400 (Bad Request).
|
||||
/// </summary>
|
||||
public class DenominationInvalideException : Exception
|
||||
{
|
||||
public DenominationInvalideException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public DenominationInvalideException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'un recalcul de la Distance échoue lors de la modification d'un Trajet.
|
||||
/// Le service annule (rollback) la modification et conserve les données existantes du Trajet
|
||||
/// sans modification, puis retourne cette erreur descriptive (Exigence 5.8).
|
||||
/// Convertie en réponse HTTP 502 (Bad Gateway) / erreur descriptive par le contrôleur.
|
||||
/// </summary>
|
||||
public class DistanceRecalculException : Exception
|
||||
{
|
||||
public DistanceRecalculException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public DistanceRecalculException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'un Montant_Regle soumis est négatif. Convertie en réponse HTTP 400
|
||||
/// (Bad Request) — Exigence 14.4 : « Le montant réglé ne peut pas être négatif. »
|
||||
/// </summary>
|
||||
public class MontantRegleNegatifException : Exception
|
||||
{
|
||||
public MontantRegleNegatifException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public MontantRegleNegatifException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsque la génération d'un Export_PDF échoue : erreur de rendu QuestPDF
|
||||
/// ou dépassement du délai de 15 secondes (Exigence 7.5). Le controller la mappe
|
||||
/// vers une réponse <c>503 Service Unavailable</c>.
|
||||
/// </summary>
|
||||
public class PdfGenerationException : Exception
|
||||
{
|
||||
public PdfGenerationException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public PdfGenerationException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'un paramètre de résumé (mois ou année) est hors des plages autorisées :
|
||||
/// mois ∈ [1, 12] et année ∈ [2000, 2100]. Convertie en réponse HTTP 400 (Bad Request)
|
||||
/// par le controller — Exigence 3.6.
|
||||
/// </summary>
|
||||
public class ResumeParametreInvalideException : Exception
|
||||
{
|
||||
public ResumeParametreInvalideException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public ResumeParametreInvalideException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'une demande de modification ou de suppression cible un Trajet inexistant.
|
||||
/// Convertie en réponse HTTP 404 (Not Found) ; l'opération est bloquée et aucun Résumé_Mensuel
|
||||
/// n'est mis à jour (Exigences 5.6).
|
||||
/// </summary>
|
||||
public class TrajetNotFoundException : Exception
|
||||
{
|
||||
public TrajetNotFoundException(int id)
|
||||
: base($"Le trajet {id} n'existe pas.")
|
||||
{
|
||||
}
|
||||
|
||||
public TrajetNotFoundException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public TrajetNotFoundException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'aucune tranche de barème ne correspond à l'identifiant demandé
|
||||
/// (mise à jour ou suppression). Convertie en réponse HTTP 404 (Not Found).
|
||||
/// </summary>
|
||||
public class TrancheBaremeNotFoundException : Exception
|
||||
{
|
||||
public TrancheBaremeNotFoundException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public TrancheBaremeNotFoundException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'une opération sur le barème produirait des tranches dont les intervalles
|
||||
/// [KmMin, KmMax] se chevauchent pour une même (année, puissance fiscale).
|
||||
/// Convertie en réponse HTTP 400 (Bad Request) — Exigence 13.2.
|
||||
/// </summary>
|
||||
public class TranchesBaremeChevauchantesException : Exception
|
||||
{
|
||||
public TranchesBaremeChevauchantesException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public TranchesBaremeChevauchantesException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
namespace SchotzIadKmTracker.Api.Services.Exceptions;
|
||||
|
||||
/// <summary>
|
||||
/// Levée lorsqu'aucun véhicule ne correspond à l'identifiant demandé
|
||||
/// (résolution du véhicule courant, réaffectation, etc.).
|
||||
/// Convertie en réponse HTTP 404 (Not Found).
|
||||
/// </summary>
|
||||
public class VehiculeNotFoundException : Exception
|
||||
{
|
||||
public VehiculeNotFoundException(string message)
|
||||
: base(message)
|
||||
{
|
||||
}
|
||||
|
||||
public VehiculeNotFoundException(string message, Exception innerException)
|
||||
: base(message, innerException)
|
||||
{
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user