Seçilen Siparişin Detayları

Top  Previous  Next

Şimdi de kullanıcı tarafından seçilen siparişin detaylarının görüntüleneceği detay sayfasını hazırlayalım.

Adımlar:

1.Yeni bir sayfa oluşturun ve adını "SiparisDetay" olarak belirleyin.
2."Egitmen > Siparis > Baslik" kütüphane elemanını sayfanın üst kısmına yerleştirin.
3."Baslik" elemanını  alt tarafına "Egitmen > Siparis > SiparisFormu" elemanının yerleştirin.
4.Son olarak bu işlem formunun altına siparişe dahil olan ürünleri gösterecek olan "Egitmen > Siparis > SiparisEdilenUrunler" elemanını yerleştirin.

 

Sipariş İşlem Formu

 

OrderForm

 

"SiparisFormu" bir işlem formudur ve "SiparisBlok" adlı işlem bloğunu ve "SiparisiSil" ve "SiparisDurumuDegistir" adlı komutlarını içermektedir. "SiparisBlok" elemanının "Tekrarlama | Her Bir .. İçin" özelliğine "/siparis/item" değeri atanmıştır.

"siparis" veri kaynağı elemanının özellikleri:

Ad

siparis

RelDB Connection

SuperStore

Sorgu (SQL)

SELECT

  c.NAME AS CUSTNAME, c.EMAIL,

  e.NAME AS EMPLNAME,

  o.ID, o.ORDER_DATE, o.STATUS

FROM

  customers c,

  employees e,

  orders o

WHERE

  o.ID = @vof(i:ID) AND

  o.CUSTOMER_ID = c.ID AND

  o.EMPLOYEE_ID = e.ID;

Bu SQL ifadesi "orders", "customers" ve "employees" tablolarını birleştirmekte ve seçilen siparişin sipariş tarihini ve durumunu, siparişi veren müşterinin adını ve e-posta adresini, siparişi hazırlayan satış temsilcisinin adını döndürmektedir.

Sorgu içinde "@vof(i:ID)" tanımında kullanılan ID, detayı görüntülenmek üzere seçilen siparişin kimliğini içeren bir istek parametresidir. Bu parametre "Siparisler" sayfasında tanımlanmış olan "display.doms?pg=SiparisDetay&ID=$vof(ID)&_rand=" köprüsünde belirtilmiştir.

"SiparisBlok" işlem bloğu "SiparisiSil", "SiparisDurumunuDegistir" ve "MusteriyiBilgilendir" olmak üzere üç adet işlem tanım elemanı içermektedir. Blok içindeki sarı renkteki alanlardan biri olan ID adlı eleman bir gizli kutudur ve silinecek veya durumu değiştirilecek olan siparişin kimliğini saklamaktadır. CUSTNAME ve EPOSTA adlı diğer gizli kutular ise sipariş durum değişikliğini müşteriye e-posta ile bildirmeyi sağlayan "MusteriyiBilgilendir" işlemi tarafından kullanılmaktadır.

Siparişi Silme İşlemi

Bu işlemin amacı o anda sayfada görüntülenmekte olan siparişi veritabanından silmektir. "SiparisiSil" adlı bu işlemin işlem tanım özellikleri şöyle belirlenmiştir.

Ad

SiparisiSil

Bağlantı Adı

SuperStore

Güncelleme Sorgusu (SQL)

DELETE FROM orders WHERE ID = @vof(ID);

DELETE FROM orderdetails WHERE ORDER_ID = @vof(ID);

"Güncelleme Sorgusu (SQL)" özelliği iki SQL ifadesi içermektedir; birincisi sipariş kaydını "orders" tablosundan, ikincisi ise siparişe dahil olan ürünleri "orderdetails" tablosundan silecektir.

Sipariş Durumunu Değiştirme İşlemi

Bu işlemin görevi sayfada gösterilmekte olan siparişin durumunu değiştirmektir. "STATUS" adlı karma kutunun değeri kullanıcı tarafından değiştirilip [Siparişi Sil] komut düğmesine basılınca veritabanındaki siparis tablosundaki DURUM alanının değeri değişecek ve siparişi vermiş olan müşteriyi bir e-posta ile durum değişikliği hakkında bilgilendirilecektir.

Ad

SiparisDurmunuDegistir

Bağlantı Adı

SuperStore

Güncelleme Sorgusu (SQL)

UPDATE orders SET 

  STATUS = '@vof(STATUS)' 

WHERE ID = @vof(ID)

 

Siparişin Ürünleri

OrderedProducts

Siparişe dahil olan ürünler bu eleman sayesinde sayfada listelenecektir. Bu eleman bir başlık, sipariş ürünlerini tekrarlayan bir panel ve sipariş toplamı bölümlerinden oluşmaktadır.

Ortadaki panelin "Tekrarlama | Her Bir .. İçin" özelliğine "/siparis_urunleri/item" verilmiştir. "siparis_urunleri" veri kaynağının özellikleri şöyledir:

Ad

siparis_urunleri

Bağlantı Adı

SuperStore

Sorgu (SQL)

SELECT

  p.NAME, d.UNIT_PRICE,

  d.PRODUCT_ID, d.QUANTITY,

  d.QUANTITY * d.UNIT_PRICE AS LINETOT

FROM

  orderdetails d, products p

WHERE

  ORDER_ID = @vof(i:ID) AND

  d.PRODUCT_ID = p.ID

Sorgu içinde yer alan "@vof(i:ID)" ifadesi sipariş numarasına çözümlenecek ve o siparişe dahil olan ürünler bilgileri elde edilmiş olacaktır.