wiki:ImportantUseCase0

Version 2 (modified by 192011, 19 months ago) ( diff )

--

Пребарување на автомобили за изнајмување

Актери:

  • Клиент

Чекори во сценариото:

1. Да претпоставиме дека клиентот е на почетната страна.

2. Со клик на Search линкот клиентот се пренасочува кон страната за пребарување.

 -- Сите градови од каде може да се изнајми возило (за пополнување на select тагот за градови во search формата)
select distinct city from project.locations l order by city asc;

-- Сите достапни брендови (за пополнување на select тагот за бренд во search формата)
select distinct brand from project.vehicles v order by brand asc;

-- Да се излистаат сите достапни возила ако корисникот за бренд избере an
select * from project.vehicles v;

3. Во страната за пребарување ја пополнува формата (град, бренд, датум, време) и прави submit.

По правењето на submit клеинтот е пренасочен кон друга страна т.е. листа со сите достапни автомобили во зависност од тоа што има изберено (кој град, бренд, датум од и до). Доколку возилото е достапно т.е. не е резервирано од страна на друг клиент ќе биде излистано овде, инаку нема. Датумот од кога до кога да ја изнајми колата ќе се чува во колаче cookie или во Viewbag се со цел да може да се префрли потоа кон страната за потпишување на договор т.е. плаќање.

4. Доколку се е во ред клиентот се пренасочува кон страната со резултати од пребарувањето.

-- Сите возила во некој град (во овој случај Виница) доколку корисникот избере Any за бренд.
 SELECT * FROM project.vehicles v
   join registrations r on v.registration_id = r.registration_id 
     WHERE v.location_id = 3 and r.is_available = true;

4.1 Доколку пак клиентот ибере возила во некој град и од некој вид на бренд

-- Сите возила кои со достапни во некој град (во овој случај Скопје) со тип на бренд Renault
select * from 
        (select * from project.vehicles v inner join project.locations l on v.location_id = l.location_id
                inner join project.models m on m.model_id = v.model_id
                inner join project.registrations r on v.registration_id = r.registration_id
        ) as veh_from_sk
        where city = 'Skopje' and brand = 'Renault' and is_available = true;

Attachments (6)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.