Ce projet consiste à réaliser une application web en .NET avec une API pour :
- Créer des dépenses
- Lister les dépenses
Une dépense est caractérisée par :
- Un utilisateur (personne qui a effectué l'achat)
- Une date
- Une nature (valeurs possibles :
Restaurant
,Hotel
etMisc
) - Un montant et une devise
- Un commentaire
Un utilisateur est caractérisé par :
- Un nom de famille
- Un prénom
- Une devise dans laquelle il effectue ses achats
Avant de persister la dépense, il faut vérifier qu'elle soit valide.
Règles de validation d'une dépense :
- Une dépense ne peut pas avoir une date dans le futur,
- Une dépense ne peut pas être datée de plus de 3 mois,
- Le commentaire est obligatoire,
- Un utilisateur ne peut pas déclarer deux fois la même dépense (même date et même montant),
- La devise de la dépense doit être identique à celle de l'utilisateur.
L'API doit permettre de :
- Lister les dépenses pour un utilisateur donné,
- Trier les dépenses par montant ou par date,
- Afficher toutes les propriétés de la dépense ; l'utilisateur de la dépense doit apparaitre sous la forme
{FirstName} {LastName}
(eg: "Anthony Stark").
Les données doivent être persistées dans SQL Server via Entity Framework.
La table des utilisateurs doit être initialisée avec les utilisateurs suivants :
- Stark Anthony (devise = Dollar américain),
- Romanova Natasha (devise = Rouble russe).
Les règles de validation de la dépense doivent être testées unitairement (avec xUnit).