HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

WebService készítése: postaköltség meghatározása


Példaprogram letöltése

14367 bájt

Készítünk egy web service-t mely képes arra, hogy megadja számunkra, hogy egy postán feladott csomagnak mennyi lesz a postaköltsége. Ehhez persze ismernünk kell előre a csomag súlyát, valamint ha azt utánvéttel szeretnénk feladni, akkor az utánvétel összegét is.
Az elkészített web service interneten történő publikálása után már könnyedén készíthet bárki olyan alkalmazást, mely felhasználja a web service nyújtotta szolgáltatást a saját alkalmazásában, így a munkánk során nem kell törődnünk azzal, hogy aktuálisan mennyiért is szállítja a posta a csomagot, elegendő csak a web service-t segítségül hívnunk.

E web service-nek három függvénye lesz:
  • PackageCost - egy megadott súly alapján visszaadja, hogy mennyi lesz a csomag feladási díja
  • AfterBuyCost - egy megadott utánvételi összeg alapján visszaadja, hogy mennyi lesz az utánvétel feladási díja
  • AfterBuyPackagesCost - súly és utánvételi összeg alapján visszaadja, hogy mennyi lesz az utánvételes csomag feladási díja. Ez a függvény valójában az előző kettőt fogja meghívni és azok által adott értékek összegét adja vissza.
A megvalósítás úgy történik, hogy létrehozunk két darab kétdimenziós tömböt. Az egyikben tároljuk azokat az információkat, hogy mekkora súlyú csomaghoz mekkora feladási díj tartozik, míg a másikba kerül az utánvételes összeg nagyságától függő díjszabás.
Felmerülhet a kérdés, hogy ezeket az értéket miért nem külső adatállományban tároljuk, hiszen egy árváltozás esetén elegendő lenne csak azokat változtatni, nem kellene a kódot újra fordítani. Ennek oka az, hogy általában nem csak az árak változnak, hanem egy-egy csomag költségének kiszámítási módja is. Például nemrég még más díj tartozott a házhoz kézbesített csomagokhoz és más a postafiókra küldött csomagokhoz. Aktuálisan ez megszűnt és egységes a díj mindkét esetben. Mivel ilyen esetekben amúgy sem lenne elegendő csak az értékeket változtatni, hanem a kódot is igazítani kellene, így nem érdemes külön adatállománnyal bonyolítani a feldolgozás menetét.
A PackageCost és a AfterBuyCost függvény is ugyanazzal a módszerrel dolgozik: végignézi az adott tömböt és meghatározza, hogy a megadott értékhez mennyi feladási díj tartozik. Amint ez meghatározásra került, máris visszatér a függvény ezzel az értékkel.
A web service publikálása után az alábbi URL-el lekérdezhetjük, hogy egy 8 960 Ft-os utánvételi összeggel feladandó 1,95 kg súlyú csomag esetén mennyit kell majd fizetnünk a postán, vagyis mennyi lesz e csomag postaköltsége:
http://localhost/postagesetup/Service1.asmx/AfterBuyPackagesCost?Value=8960&Weight=1%2C95
Az eredményt természetesen XML formában kapjuk:
<?xml version="1.0" encoding="utf-8" ?> 
  <int xmlns="http://tempuri.org/">740</int>
Ebből persze könnyedén kiolvashatjuk, hogy e csomagért 740 Ft-ot kell majd fizetnünk.
Publikálás web szerveren
A web service publikálást megkönnyítendő készítünk egy telepítő csomagot is alkalmazásunkhoz. Ehhez egy új projektet adunk hozzá a jelenlegihez, mely Web Setup Project típusú kell hogy legyen.
Itt a Project - Add - Project Output menüpont kiválasztása után a Primary output és a Content files elemek kiválasztásával el is készült a telepítő csomagunk. Már csak a fordítás marad hátra, amely létrehozza a PostageSetup.msi telepítő állományt.

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2002 évkönyv 156. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |