Avatar billede KongKurs Juniormester
14. april 2015 - 17:03 Der er 6 kommentarer og
1 løsning

Understøtte oprettelse af annoncer med forskellig valuta.

Hejsa,

Hvordan understøtter man bedst oprettelse af annoncer hvor prisen kan angives i forskellige valutaer? Hvis jeg fx. vil sælge min BMW og sætter prisen til DKK 300.000,- og en anden bruger vil sælge sin Skoda og sætter prisen til USD 100, hvordan gemmer jeg det så i databasen - skal jeg konvertere til "grund"-valuta og hvad så når man vil søge efter annoncer med pris som kriterie, hvor pris kan være angivet i forskellig valuta som fx. 0-5000 USD - skal dette interval så bare konverteres til "grund"-valutaen for at query db'en!? Eller er det noget jeg overser?

Håber mit spørgsmål kan forstås :)

Tak.
Avatar billede arne_v Ekspert
14. april 2015 - 19:06 #1
Det er vel mere et forretningsproblem end et programmeringsproblem.

Du kan lade alle biler have en pris i en bestemt f.eks. danske kroner som er gemt i databasen og saa vaere i stand til at vise den pris omregnet til forskellige valutaer.

Du kan lade alle biler have en pris i en individuel valuta (i databasen gemmes saa baade pris og valuta) der igen kan omregnes ved visning.

Begge kan implementeres teknisk.

Men der er en reel forskel. Og du skal bestemme hvilken logik du oensker.

Lad os sige at dollar kursen er 6 nu og stiger til 7 efter en maaned.

Det saettes to biler til salg for 60000 kroner og 10000 dollar nu.

Foerste model
-------------

priser nu:

60000 kroner = 10000 dollar
60000 kroner = 10000 dollar

priser om an maaned:

60000 kroner = 8571 dollar
60000 kroner = 8571 dollar

Anden model
-----------

priser nu:

60000 kroner = 10000 dollar
10000 dollar = 60000 kroner

priser om an maaned:

60000 kroner = 8571 dollar
10000 dollar = 70000 kroner
Avatar billede KongKurs Juniormester
14. april 2015 - 19:41 #2
arne_v: Tja, løsning 1 virker jo ligetil, men hvis jeg oprettede min annonce (vha løs. 1) med en pris på 10000 USD, så ville jeg nok blive irriteret over, at prisen 1 måned senere vil vises som 8571 USD. Men jeg kan ikke rigtig overskue hvordan jeg skulle lave løsning 2. Kunne du give et par pointers? Hvis jeg fx. ville søge efter annoncer i løsning 2, med et prisinterval 0-10000 GBP, hvordan ville jeg gøre dette mod min MSSQL (altså "oversætte" de forskellige priser i db'en on the fly)?

Tak!
Avatar billede arne_v Ekspert
14. april 2015 - 19:53 #3
to felter i database med pris og valuta
laes op fra database til memory
beregn pris i danske kroner med nuvaerende valutakurser
beregn pris interval i danske kroner med nuvaerende valutakurser
soeg i memory efter matches
Avatar billede KongKurs Juniormester
14. april 2015 - 23:08 #4
så har jeg (måske) en 3. mulighed: hvad hvis man gemte prisen i flg. felter:

1) Pris i grundvaluta(fx DKK) (omregnet fra indtastet pris ift. gældende kurs)
2) Indtastet pris
3) Valutakode på indtastet pris (fx. USD)

Så kan man jo (så vidt jeg kan se) søge efter annoncer med prisintervallet 0-10000 GBP (som omregnes til grundvaluta (DKK)), samt bibeholde "orignalprisen" som så ikke vil fluktuere ifht. kursen!? Herved behøver man heller ikke loade alt ind i memory men kan søge direkte i db'en med intervallet omregnet til grundvalutaen!? 

Hvad siger du til det? :)
Avatar billede arne_v Ekspert
15. april 2015 - 04:26 #5
Ja.

Men det kraever at du hele tiden opdaterer alle raekker i databasen.

Jeg tror ikke at det er praktisk.
Avatar billede KongKurs Juniormester
15. april 2015 - 22:45 #6
Opdaterer "alle rækker" - du mener, så de afspejler den nutidige kurs?

Smider du ikke et svar - tak! :)
Avatar billede arne_v Ekspert
15. april 2015 - 23:46 #7
ja
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester