|
Bu aşamada uygulamamız çalışır vaziyette denilebilir. Fakat bir kaç mantık hatası söz konusu. Örneğin giriş yapan kullanıcı sadece kendisinin sepete eklediği ürünleri "Güncel Sipariş" sayfasında görmesi gerekirken; uygulamanın bu haliyle diğer kullanıcıların sepete eklediği ürünleri de görebilir. İncelemek için "Güncel Sipariş" sayfasını farklı kullanıcı girişleri ile test edebilirsiniz. Şimdi sepeti kullanıcıya özel yapalım.
Adımlar:
| 1. | "Urunler" sayfasını açın. |
| 2. | "SepeteEkle" isimli RelDBQueryDataSource elemanı seçerek, üzerinde çift tıklayın. |
| 3. | Açılan SQL penceresinde, sorgunuzda aşağıdaki değişiklikleri yapın. |
selecT COUNT(*) AS v:CNT FROM cart WHERE PRODUCT_ID = @vof(ID) AND USER_ID = @vof(/mor_security_userinfo_main.id);
@doif(v:CNT > 0)
UPDATE cart SET
QUANTITY = QUANTITY + 1
WHERE PRODUCT_ID = @vof(ID);
@doelse()
INSERT INTO cart
(PRODUCT_ID, QUANTITY, USER_ID)
VALUES (@vof(ID), 1, @vof(/mor_security_userinfo_main.id)) ;
@doend()
|
| 4. | "GüncelSiparis" sayfasını açın. |
| 5. | "sepet" isimli RelDBQueryDataSource elemanı seçerek, üzerinde çift tıklayın. |
| 6. | Açılan SQL penceresinde, sorgunuzda aşağıdaki değişiklikleri yapın. |
SELECT
c.ID, c.PRODUCT_ID, c.QUANTITY,
p.NAME, p.PRICE,
p.PRICE * c.QUANTITY as LINETOT
FROM
cart c, products p
WHERE
c.PRODUCT_ID = p.ID AND c.USER_ID = @vof(/mor_security_userinfo_main.id)
|
Böylelikle sepet tablosunda tuttuğumuz "USER_ID" alanının değerlerini, giriş yapan kullanıcının ID' si ile eşleştirmiş olduk. Giriş yapan kullanıcının kimliğini "@vof(/mor_security_userinfo_main.id)" tanımı ile elde ediliyor.
|