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:
2026-09-14 07:50:26 +02:00
parent e3f946f7d4
commit 0e6a97ca61
133 changed files with 462 additions and 503 deletions
@@ -417,7 +417,7 @@ export function dateJjMmAAAAValidator(): ValidatorFn {
#### Structure du projet
```
TrajetKmTracker.Api/
SchotzIadKmTracker.Api/
├── Controllers/
│ ├── TrajetsController.cs
│ ├── ResumesMensuelsController.cs
@@ -1356,10 +1356,10 @@ graph LR
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY *.sln ./
COPY TrajetKmTracker.Api/*.csproj TrajetKmTracker.Api/
RUN dotnet restore TrajetKmTracker.Api/TrajetKmTracker.Api.csproj
COPY SchotzIadKmTracker.Api/*.csproj SchotzIadKmTracker.Api/
RUN dotnet restore SchotzIadKmTracker.Api/SchotzIadKmTracker.Api.csproj
COPY . .
RUN dotnet publish TrajetKmTracker.Api/TrajetKmTracker.Api.csproj -c Release -o /app/publish
RUN dotnet publish SchotzIadKmTracker.Api/SchotzIadKmTracker.Api.csproj -c Release -o /app/publish
# ---- Étape runtime (ASP.NET) ----
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
@@ -1375,7 +1375,7 @@ ENV ConnectionStrings__Default="Data Source=/data/trajets.db"
ENV ASPNETCORE_URLS="http://+:8080"
EXPOSE 8080
ENTRYPOINT ["dotnet", "TrajetKmTracker.Api.dll"]
ENTRYPOINT ["dotnet", "SchotzIadKmTracker.Api.dll"]
```
### Frontend `Dockerfile` (multi-stage)
@@ -1394,7 +1394,7 @@ FROM nginx:1.27-alpine AS serve
# Configuration nginx (SPA + reverse-proxy /api)
COPY nginx.conf /etc/nginx/conf.d/default.conf
# Artefacts Angular compilés
COPY --from=build /app/dist/trajet-km-tracker /usr/share/nginx/html
COPY --from=build /app/dist/schotziad-km-tracker /usr/share/nginx/html
EXPOSE 80
```
@@ -1860,7 +1860,7 @@ Configuration minimale : 100 itérations (valeur par défaut FsCheck ≥ 100).
Chaque propriété de correction est couverte par un test FsCheck unique. La clé ORS est mockée dans tous les tests PBT pour éviter des appels réseau réels.
```csharp
// Tag : Feature: trajet-km-tracker, Property 1: Cohérence du total mensuel
// Tag : Feature: schotziad-km-tracker, Property 1: Cohérence du total mensuel
[Property(MaxTest = 200)]
public Property TotalMensuelEgaleSommeDistances()
{
@@ -1873,52 +1873,52 @@ public Property TotalMensuelEgaleSommeDistances()
});
}
// Tag : Feature: trajet-km-tracker, Property 2: Cohérence du total annuel
// Tag : Feature: schotziad-km-tracker, Property 2: Cohérence du total annuel
[Property(MaxTest = 200)]
public Property TotalAnnuelEgaleSommeMensuels() { ... }
// Tag : Feature: trajet-km-tracker, Property 3: Précision de stockage des distances
// Tag : Feature: schotziad-km-tracker, Property 3: Précision de stockage des distances
[Property(MaxTest = 200)]
public Property DistanceArrondieDeuxDecimales() { ... }
// Tag : Feature: trajet-km-tracker, Property 4: Rejet systématique des données d'entrée invalides
// Tag : Feature: schotziad-km-tracker, Property 4: Rejet systématique des données d'entrée invalides
[Property(MaxTest = 500)]
public Property EntreeInvalideRetourne400SansPersistance() { ... }
// Génère des CreateTrajetDto avec dates invalides (mauvais format, date inexistante)
// ET/OU adresses vides/null/> 255 caractères → vérifie HTTP 400 + aucune entrée créée en base
// Tag : Feature: trajet-km-tracker, Property 5: Invariant de suppression
// Tag : Feature: schotziad-km-tracker, Property 5: Invariant de suppression
[Property(MaxTest = 200)]
public Property TrajetSupprimePasInResume() { ... }
// Tag : Feature: trajet-km-tracker, Property 6: Recalcul conditionnel de la distance
// Tag : Feature: schotziad-km-tracker, Property 6: Recalcul conditionnel de la distance
[Property(MaxTest = 200)]
public Property ModificationSansAdressePreserveDistance() { ... }
// Tag : Feature: trajet-km-tracker, Property 7: Mois toujours présents dans le résumé annuel
// Tag : Feature: schotziad-km-tracker, Property 7: Mois toujours présents dans le résumé annuel
[Property(MaxTest = 200)]
public Property ResumeAnnuelContient12Mois() { ... }
// Tag : Feature: trajet-km-tracker, Property 8: Rejet des paramètres de résumé hors plage
// Tag : Feature: schotziad-km-tracker, Property 8: Rejet des paramètres de résumé hors plage
[Property(MaxTest = 300)]
public Property ParamsHorsPlageRetourne400() { ... }
// Génère des mois hors [1,12] et des années hors [2000,2100]
// Tag : Feature: trajet-km-tracker, Property 9: Nommage des fichiers PDF exportés
// Tag : Feature: schotziad-km-tracker, Property 9: Nommage des fichiers PDF exportés
[Property(MaxTest = 200)]
public Property NomFichierPdfConforme() { ... }
// Génère des couples (mois 1-12, année 2000-2100) et des années valides,
// vérifie que Content-Disposition correspond au format attendu
// Tag : Feature: trajet-km-tracker, Property 10: Cohérence du cache après géocodage
// Tag : Feature: schotziad-km-tracker, Property 10: Cohérence du cache après géocodage
[Property(MaxTest = 200)]
public Property AdresseGecoodeePresenteDansCache() { ... }
// Tag : Feature: trajet-km-tracker, Property 11: Politique LRU
// Tag : Feature: schotziad-km-tracker, Property 11: Politique LRU
[Property(MaxTest = 200)]
public Property CacheNExcedePas1000Entrees() { ... }
// Tag : Feature: trajet-km-tracker, Property 12: Cohérence profil domicile
// Tag : Feature: schotziad-km-tracker, Property 12: Cohérence profil domicile
[Property(MaxTest = 200)]
public Property ProfilDomicileCoherent() { ... }
@@ -1995,26 +1995,26 @@ public Property MontantRegleUniqueParPeriode() { ... }
[Property(MaxTest = 300)]
public Property TrancheSelectionneeParTotalAnnuel() { ... }
// Tag : Feature: trajet-km-tracker, Property 28: Unicité normalisée de la dénomination
// Tag : Feature: schotziad-km-tracker, Property 28: Unicité normalisée de la dénomination
[Property(MaxTest = 300)]
public Property DenominationUniqueApresNormalisation() { ... }
// Génère des dénominations variant en casse/accents/espaces de bord ;
// vérifie qu'une seconde dénomination normalisée identique est rejetée (HTTP 400, aucune persistance)
// Tag : Feature: trajet-km-tracker, Property 29: Préservation des trajets à la suppression
// Tag : Feature: schotziad-km-tracker, Property 29: Préservation des trajets à la suppression
[Property(MaxTest = 200)]
public Property SuppressionAdresseNommeePreserveTrajets() { ... }
// Génère des trajets + des adresses nommées, supprime une adresse nommée,
// vérifie que les textes d'adresse et coordonnées des trajets sont inchangés
// Tag : Feature: trajet-km-tracker, Property 30: Réutilisation du cache et cohérence du géocodage
// Tag : Feature: schotziad-km-tracker, Property 30: Réutilisation du cache et cohérence du géocodage
[Property(MaxTest = 200)]
public Property AdresseNommeeReutiliseCacheOuGeocode() { ... }
// Adresse en cache (après normalisation) → coords réutilisées, BAN non appelé (mock BAN vérifié) ;
// adresse valide absente du cache → couple présent en cache après opération ;
// BAN indisponible/timeout → coordonnées null + GeocodageReussi = false
// Tag : Feature: trajet-km-tracker, Property 31: Détermination de l'état de configuration du profil
// Tag : Feature: schotziad-km-tracker, Property 31: Détermination de l'état de configuration du profil
[Property(MaxTest = 300)]
public Property EtatProfilConfigureIffNomPrenomEtVehicule() { ... }
// Génère des états variés (Profil absent/présent, Nom/Prénom vides ou remplis, 0..N véhicules) ;
@@ -9,8 +9,8 @@ Langage backend : **C# (ASP.NET Core, .NET 8)**. Langage frontend : **TypeScript
## Tasks
- [x] 1. Initialiser la solution et le socle backend
- Créer la solution .NET et le projet `TrajetKmTracker.Api` (ASP.NET Core Web API, .NET 8)
- Créer le projet de tests `TrajetKmTracker.Tests` (xUnit) avec les dépendances FsCheck, FluentAssertions, Moq, Microsoft.AspNetCore.Mvc.Testing
- Créer la solution .NET et le projet `SchotzIadKmTracker.Api` (ASP.NET Core Web API, .NET 8)
- Créer le projet de tests `SchotzIadKmTracker.Tests` (xUnit) avec les dépendances FsCheck, FluentAssertions, Moq, Microsoft.AspNetCore.Mvc.Testing
- Ajouter les packages : EF Core + provider SQLite, FluentValidation.AspNetCore, QuestPDF
- Configurer `Program.cs` : services de base, Swagger, middleware `ProblemDetails`, CORS pour le frontend Angular
- _Requirements: 6.1_
+4 -4
View File
@@ -2,10 +2,10 @@
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY *.sln ./
COPY TrajetKmTracker.Api/*.csproj TrajetKmTracker.Api/
RUN dotnet restore TrajetKmTracker.Api/TrajetKmTracker.Api.csproj
COPY SchotzIadKmTracker.Api/*.csproj SchotzIadKmTracker.Api/
RUN dotnet restore SchotzIadKmTracker.Api/SchotzIadKmTracker.Api.csproj
COPY . .
RUN dotnet publish TrajetKmTracker.Api/TrajetKmTracker.Api.csproj -c Release -o /app/publish
RUN dotnet publish SchotzIadKmTracker.Api/SchotzIadKmTracker.Api.csproj -c Release -o /app/publish
# ---- Étape runtime (ASP.NET) ----
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
@@ -32,4 +32,4 @@ EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=5s --retries=3 --start-period=20s \
CMD curl -f http://localhost:8080/health || exit 1
ENTRYPOINT ["dotnet", "TrajetKmTracker.Api.dll"]
ENTRYPOINT ["dotnet", "SchotzIadKmTracker.Api.dll"]
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Configuration;
namespace SchotzIadKmTracker.Api.Configuration;
/// <summary>Options de configuration de l'API BAN (Base Adresses Nationale).</summary>
public class BANOptions
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Configuration;
namespace SchotzIadKmTracker.Api.Configuration;
/// <summary>Options de configuration de l'API OpenRouteService (ORS).</summary>
public class ORSOptions
@@ -1,8 +1,8 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoint d'autocomplétion locale des adresses déjà géocodées (Cache_Adresses).
@@ -1,9 +1,9 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints de gestion du Carnet_Adresses : liste, création, modification et suppression
@@ -1,9 +1,9 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints de gestion du barème kilométrique : consultation par année et CRUD des tranches.
@@ -1,9 +1,9 @@
using System.Net.Mime;
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints d'Export_PDF : rapport mensuel et synthèse annuelle (Exigences 7.3, 7.4, 7.5).
@@ -1,9 +1,9 @@
using System.Globalization;
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints de navigation temporelle et de totaux du Panneau_Totaux :
@@ -1,8 +1,8 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints de gestion du profil utilisateur (singleton) et de son état de configuration.
@@ -1,9 +1,9 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints « Barème et remboursements » : montant prévisionnel (80% indicatif),
@@ -1,9 +1,9 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints des résumés kilométriques : Résumé_Mensuel et Résumé_Annuel.
@@ -1,11 +1,11 @@
using System.Globalization;
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Repositories;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Repositories;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints CRUD des Trajets, réordonnancement manuel et récupération des trajets d'une
@@ -1,9 +1,9 @@
using Microsoft.AspNetCore.Mvc;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Controllers;
namespace SchotzIadKmTracker.Api.Controllers;
/// <summary>
/// Endpoints de gestion des véhicules : historique, véhicule courant, création et réaffectation.
@@ -1,7 +1,7 @@
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Models.Entities;
namespace TrajetKmTracker.Api.Data;
namespace SchotzIadKmTracker.Api.Data;
/// <summary>
/// Contexte EF Core de l'application. Déclare les <see cref="DbSet{TEntity}"/>, les contraintes CHECK,
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913083053_InitialCreate")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -229,7 +229,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -263,7 +263,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -293,9 +293,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -304,9 +304,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -315,7 +315,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -3,7 +3,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class InitialCreate : Migration
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913085051_TrajetDistanceNullable")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -229,7 +229,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -263,7 +263,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -293,9 +293,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -304,9 +304,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -315,7 +315,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -2,7 +2,7 @@
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class TrajetDistanceNullable : Migration
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913224032_TrajetGeometrieJson")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -232,7 +232,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -266,7 +266,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -296,9 +296,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -307,9 +307,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -318,7 +318,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -2,7 +2,7 @@
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class TrajetGeometrieJson : Migration
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913231424_VehiculeDenomination")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -232,7 +232,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -266,7 +266,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -301,9 +301,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -312,9 +312,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -323,7 +323,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -2,7 +2,7 @@
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class VehiculeDenomination : Migration
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913233718_TrancheBaremeKmMaxNullable")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -232,7 +232,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -266,7 +266,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -301,9 +301,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -312,9 +312,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -323,7 +323,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -2,7 +2,7 @@
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class TrancheBaremeKmMaxNullable : Migration
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913234022_TrancheBaremeKmCheckExclusif")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -232,7 +232,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -266,7 +266,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -301,9 +301,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -312,9 +312,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -323,7 +323,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -2,7 +2,7 @@
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class TrancheBaremeKmCheckExclusif : Migration
@@ -4,11 +4,11 @@ using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
[Migration("20260913234153_TrancheBaremeKmCheckNumerique")]
@@ -20,7 +20,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -51,7 +51,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -95,7 +95,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -131,7 +131,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -172,7 +172,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -232,7 +232,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -266,7 +266,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -301,9 +301,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -312,9 +312,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -323,7 +323,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -2,7 +2,7 @@
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
/// <inheritdoc />
public partial class TrancheBaremeKmCheckNumerique : Migration
@@ -3,11 +3,11 @@ using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TrajetKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Data;
#nullable disable
namespace TrajetKmTracker.Api.Data.Migrations
namespace SchotzIadKmTracker.Api.Data.Migrations
{
[DbContext(typeof(AppDbContext))]
partial class AppDbContextModelSnapshot : ModelSnapshot
@@ -17,7 +17,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
#pragma warning disable 612, 618
modelBuilder.HasAnnotation("ProductVersion", "8.0.8");
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseCache", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseCache", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -48,7 +48,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdresseCache", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.AdresseNommee", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.AdresseNommee", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -92,7 +92,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("AdressesNommees", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -128,7 +128,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Profil", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Profil", b =>
{
b.Property<int>("Id")
.HasColumnType("INTEGER");
@@ -169,7 +169,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.ToTable("Profil", (string)null);
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -229,7 +229,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.TrancheBareme", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.TrancheBareme", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -263,7 +263,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Property<int>("Id")
.ValueGeneratedOnAdd()
@@ -298,9 +298,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
});
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.MontantRegle", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.MontantRegle", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany()
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -309,9 +309,9 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Trajet", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Trajet", b =>
{
b.HasOne("TrajetKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
b.HasOne("SchotzIadKmTracker.Api.Models.Entities.Vehicule", "Vehicule")
.WithMany("Trajets")
.HasForeignKey("VehiculeId")
.OnDelete(DeleteBehavior.Restrict)
@@ -320,7 +320,7 @@ namespace TrajetKmTracker.Api.Data.Migrations
b.Navigation("Vehicule");
});
modelBuilder.Entity("TrajetKmTracker.Api.Models.Entities.Vehicule", b =>
modelBuilder.Entity("SchotzIadKmTracker.Api.Models.Entities.Vehicule", b =>
{
b.Navigation("Trajets");
});
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
// Résultat de recherche BAN (proxied via backend si nécessaire)
public record BANAdresseDto(
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
// Barème
public record TrancheBaremeDto(
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
/// <summary>Résultat de la copie du dernier barème vers une année cible.</summary>
/// <param name="TranchesCopiees">Nombre de tranches copiées (0 si aucun barème antérieur).</param>
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
// Profil
public record ProfilDto(
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
/// <summary>Résultat du recalcul en masse des distances des trajets.</summary>
/// <param name="TrajetsRecalcules">Nombre de trajets dont la distance a été recalculée.</param>
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
// Résumé mensuel
public record ResumeMensuelDto(
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
// Création — les coordonnées sont transmises par le Frontend (issues de la sélection BAN)
public record CreateTrajetDto(
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Models.DTOs;
namespace SchotzIadKmTracker.Api.Models.DTOs;
// Véhicules
public record VehiculeDto(
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>Cache des adresses géocodées via ORS.</summary>
public class AdresseCache
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>
/// Adresse enregistrée dans le Carnet_Adresses, identifiée par une Dénomination unique
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>Montant réglé (remboursement reçu) pour un mois, une année et un véhicule.</summary>
public class MontantRegle
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>Profil utilisateur (singleton — une seule ligne).</summary>
public class Profil
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>Trajet kilométrique saisi par l'utilisateur.</summary>
public class Trajet
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>
/// Tranche du barème kilométrique URSSAF pour une année et une puissance fiscale.
@@ -1,6 +1,6 @@
using System.ComponentModel.DataAnnotations;
namespace TrajetKmTracker.Api.Models.Entities;
namespace SchotzIadKmTracker.Api.Models.Entities;
/// <summary>Véhicule de l'utilisateur avec date d'effet. Historique conservé.</summary>
public class Vehicule
@@ -3,12 +3,12 @@ using FluentValidation.AspNetCore;
using Microsoft.AspNetCore.Diagnostics;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Validators;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Validators;
using TrajetKmTracker.Api.Configuration;
using TrajetKmTracker.Api.Repositories;
using TrajetKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Configuration;
using SchotzIadKmTracker.Api.Repositories;
using SchotzIadKmTracker.Api.Services;
// Licence QuestPDF (usage communautaire, gratuit) — requise avant toute génération de PDF.
QuestPDF.Settings.License = QuestPDF.Infrastructure.LicenseType.Community;
@@ -88,8 +88,8 @@ builder.Services.AddDbContext<AppDbContext>(options =>
options.UseSqlite(connectionString));
// --- Repositories & services métier ---
builder.Services.AddScoped<TrajetKmTracker.Api.Repositories.IVehiculeRepository,
TrajetKmTracker.Api.Repositories.VehiculeRepository>();
builder.Services.AddScoped<SchotzIadKmTracker.Api.Repositories.IVehiculeRepository,
SchotzIadKmTracker.Api.Repositories.VehiculeRepository>();
builder.Services.AddScoped<IVehiculeService, VehiculeService>();
builder.Services.AddScoped<IProfilService, ProfilService>();
builder.Services.AddScoped<IAdresseNommeeService, AdresseNommeeService>();
@@ -1,8 +1,8 @@
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.Entities;
namespace TrajetKmTracker.Api.Repositories;
namespace SchotzIadKmTracker.Api.Repositories;
/// <summary>
/// Implémentation EF Core de <see cref="IAdresseCacheRepository"/> au-dessus d'<see cref="AppDbContext"/>.
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Models.Entities;
namespace TrajetKmTracker.Api.Repositories;
namespace SchotzIadKmTracker.Api.Repositories;
/// <summary>
/// Accès aux données du Cache_Adresses (table <c>AdresseCache</c>).
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Models.Entities;
namespace TrajetKmTracker.Api.Repositories;
namespace SchotzIadKmTracker.Api.Repositories;
/// <summary>
/// Accès aux données des trajets et gestion des positions au sein d'une journée.
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Models.Entities;
namespace TrajetKmTracker.Api.Repositories;
namespace SchotzIadKmTracker.Api.Repositories;
/// <summary>
/// Accès aux données des véhicules et aux trajets impactés par une réaffectation.
@@ -1,9 +1,9 @@
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.Entities;
using TrajetKmTracker.Api.Services;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Services;
namespace TrajetKmTracker.Api.Repositories;
namespace SchotzIadKmTracker.Api.Repositories;
/// <inheritdoc />
public class TrajetRepository : ITrajetRepository
@@ -1,8 +1,8 @@
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.Entities;
namespace TrajetKmTracker.Api.Repositories;
namespace SchotzIadKmTracker.Api.Repositories;
/// <inheritdoc />
public class VehiculeRepository : IVehiculeRepository
@@ -0,0 +1,6 @@
@SchotzIadKmTracker.Api_HostAddress = http://localhost:5237
GET {{SchotzIadKmTracker.Api_HostAddress}}/weatherforecast/
Accept: application/json
###
@@ -1,12 +1,12 @@
using System.Globalization;
using System.Text;
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Models.Entities;
using TrajetKmTracker.Api.Repositories;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Repositories;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Implémentation du Cache_Adresses. Les adresses sont stockées et comparées sous forme
@@ -1,12 +1,12 @@
using System.Globalization;
using System.Text;
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Models.Entities;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Implémentation du Carnet_Adresses (Exigence 15). Gère le CRUD des Adresses_Nommées avec :
@@ -1,10 +1,10 @@
using System.Net.Http.Json;
using System.Text.Json;
using System.Text.Json.Serialization;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Client typé de l'API BAN. Appelle <c>GET /search/?q={query}&amp;limit=5</c>,
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Résultat du calcul du montant barème pour un (année, puissance fiscale, total km) donné.
@@ -1,10 +1,10 @@
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Models.Entities;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <inheritdoc />
public class BaremeService : IBaremeService
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Résultat d'un calcul de distance orchestré par <see cref="DistanceCalculatorService"/>.
@@ -1,7 +1,7 @@
using Microsoft.Extensions.Logging;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Implémentation de <see cref="IDistanceCalculator"/>.
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsque le texte d'adresse d'une Adresse_Nommee est absent, vide ou dépasse
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'aucune Adresse_Nommee ne correspond à l'identifiant demandé
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsque l'API BAN (Base Adresses Nationale) est indisponible :
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
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.
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'une Date_Effet fournie pour un véhicule est postérieure à la date du jour.
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'une Dénomination d'Adresse_Nommee, après normalisation (trim + minuscules +
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'une Dénomination d'Adresse_Nommee est absente, vide ou dépasse 100 caractères
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'un recalcul de la Distance échoue lors de la modification d'un Trajet.
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'un Montant_Regle soumis est négatif. Convertie en réponse HTTP 400
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsque la génération d'un Export_PDF échoue : erreur de rendu QuestPDF
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
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 :
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'une demande de modification ou de suppression cible un Trajet inexistant.
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'aucune tranche de barème ne correspond à l'identifiant demandé
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'une opération sur le barème produirait des tranches dont les intervalles
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services.Exceptions;
namespace SchotzIadKmTracker.Api.Services.Exceptions;
/// <summary>
/// Levée lorsqu'aucun véhicule ne correspond à l'identifiant demandé
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Gestion du Cache_Adresses : recherche locale des adresses déjà connues, mise en cache
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Gestion du Carnet_Adresses : CRUD des Adresses_Nommées avec normalisation de la Dénomination
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Client de l'API BAN (Base Adresses Nationale) pour l'autocomplétion
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier du barème kilométrique : CRUD des tranches, validation du non-chevauchement
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Orchestre le calcul de la distance d'un trajet à partir des adresses de départ et
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier des Montant_Regle (montants effectivement versés, saisis par l'utilisateur)
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Client de l'API OpenRouteService (ORS) — calcul d'itinéraire routier uniquement.
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Génération des Export_PDF (QuestPDF). Compose les services métier existants
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier du profil utilisateur (singleton Id = 1) : lecture, sauvegarde avec
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier de la régularisation annuelle (barème plein, 100%).
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier des résumés kilométriques mensuels et annuels.
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Calcul des totaux du Panneau_Totaux (jour, mois, Total_Annuel_Partiel) filtrés par véhicule
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier de gestion des Trajets. Cette interface couvre pour l'instant la
@@ -1,6 +1,6 @@
using TrajetKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.DTOs;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Logique métier de gestion des véhicules : historique, véhicule courant,
@@ -1,10 +1,10 @@
using Microsoft.EntityFrameworkCore;
using TrajetKmTracker.Api.Data;
using TrajetKmTracker.Api.Models.DTOs;
using TrajetKmTracker.Api.Models.Entities;
using TrajetKmTracker.Api.Services.Exceptions;
using SchotzIadKmTracker.Api.Data;
using SchotzIadKmTracker.Api.Models.DTOs;
using SchotzIadKmTracker.Api.Models.Entities;
using SchotzIadKmTracker.Api.Services.Exceptions;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <inheritdoc />
public class MontantRegleService : IMontantRegleService
@@ -1,7 +1,7 @@
using System.Net.Http.Json;
using System.Text.Json;
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Client typé (HttpClient) de l'API OpenRouteService (ORS) pour le calcul
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Levée en cas d'échec général d'un appel à OpenRouteService (ORS) qui n'est pas
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Levée lorsqu'un appel à OpenRouteService (ORS) dépasse le délai imparti
@@ -1,4 +1,4 @@
namespace TrajetKmTracker.Api.Services;
namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Résultat de la génération d'un Export_PDF : les octets du document et le nom de fichier

Some files were not shown because too many files have changed in this diff Show More