Files
SchotzIAD/backend/SchotzIadKmTracker.Api/Services/DistanceCalculationResult.cs
T
MadJax 0e6a97ca61 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.
2026-09-14 07:50:26 +02:00

36 lines
1.8 KiB
C#

namespace SchotzIadKmTracker.Api.Services;
/// <summary>
/// Résultat d'un calcul de distance orchestré par <see cref="DistanceCalculatorService"/>.
/// Porte les coordonnées résolues des adresses de départ et d'arrivée, la distance
/// éventuellement calculée (routière via ORS ou orthodromique via Haversine), la
/// géométrie GeoJSON de l'itinéraire lorsqu'elle est disponible, et un éventuel
/// avertissement lorsque la distance n'a pas pu être calculée.
/// </summary>
/// <param name="DepartLatitude">Latitude résolue du point de départ (null si non résoluble).</param>
/// <param name="DepartLongitude">Longitude résolue du point de départ (null si non résoluble).</param>
/// <param name="ArriveeLatitude">Latitude résolue du point d'arrivée (null si non résoluble).</param>
/// <param name="ArriveeLongitude">Longitude résolue du point d'arrivée (null si non résoluble).</param>
/// <param name="DistanceKm">
/// Distance en kilomètres, arrondie à 2 décimales et bornée entre 0,01 et 99 999,99 km ;
/// <c>null</c> lorsque la distance n'a pas pu être calculée (aucune coordonnée résoluble).
/// </param>
/// <param name="GeometrieJson">
/// Géométrie GeoJSON de l'itinéraire routier (fournie par ORS) ; <c>null</c> en cas de
/// fallback Haversine ou d'absence de calcul.
/// </param>
/// <param name="Avertissement">
/// Vrai lorsque la distance n'a pas pu être calculée faute de coordonnées résolubles ;
/// dans ce cas l'appelant stocke une distance nulle avec un avertissement.
/// </param>
/// <param name="Message">Message d'avertissement associé, ou <c>null</c>.</param>
public record DistanceCalculationResult(
double? DepartLatitude,
double? DepartLongitude,
double? ArriveeLatitude,
double? ArriveeLongitude,
decimal? DistanceKm,
string? GeometrieJson,
bool Avertissement,
string? Message);