Skip to content

Instantly share code, notes, and snippets.

@gbougeard
Created August 13, 2014 15:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gbougeard/0efc2d07497aa6363de2 to your computer and use it in GitHub Desktop.
Save gbougeard/0efc2d07497aa6363de2 to your computer and use it in GitHub Desktop.
Règles métiers et abstraction
Etant donnée la structure de données T suivante :
(id, type, montant) où type est soit AE (A emporter) ou SP (sur place).
Etant données les régles métiers suivantes pour un calcul de TVA :
RM1 : pout toute donnée T de type AE, la TVA est de 5%
RM2: pour tout donéne T de type SP la TVA est de 10%
1 - Comment implémentez-vous l'application de ces règles métiers sur
une liste de données T issue d'une base de données
2- Idem mais en entrée et en sortie on a du json
@BernardNotarianni
Copy link

-module (tva).
-export ([calcul/1]).

calcul (List) ->
    [ tva (I,T,M) || {I,T,M} <- List ].

tva (_, Type, Montant) ->
    taux_tva (Type) * Montant.

taux_tva (ae) ->
    0.05;
taux_tva (sp) ->
    0.10.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment