1. Temat projektu.

Tematem projektu jest wypożyczalnia sprzętu sportowego.

 

2. Cel i zakres.

Strona umożliwia wypożyczenie sprzętu sportowego różnego rodzaju (np. narty, rower, kask) na dany okres(podawany w dniach).  Idea wypożyczalni jest taka, że klient rezerwuje sprzęt na stronie internetowej, a następnie zgłasza się po niego w wypożyczalni podając swoją nazwę użytkownika i określając swoje zamówienie. Sprzedawca następnie pyta się o okres wypożyczenia, po czym wypożycza sprzęt i przenosi dane zamówienie do zamówień zrealizowanych.   Po udanej transakcji (oddaniu sprzętu przez klienta) sprzedawca ma obowiązek zaznaczenia danego zamówienia jako oddane. 

Cena sprzętów jest za jeden dzień użytkowania. Kwota zamówienia początkowo jest naliczana tylko za 1 dzień. Dopiero podczas wypożyczenia podawana jest ilość dni, a następnie ta kwota początkowa jest mnożona przez tą ilość dni.

 

3.Omówienie projektu.

 a) administrator("admin") - ma dostęp do wszystkiego;

 b) użytkownik("user") - może przeglądać dostępne produkty i wypożyczać je oraz ma możliwość  dostępu do przeglądu zamówień zrealizowanych

 c) sprzedawca("seller") - może przeglądać, edytować i dodawać produkty, ma możliwość walidacji  złożonych zamówień i przeglądu wszystkich zrealizowanych zamówień

 

 a) ProductController - obsługuje widoki w folderze Product 

b) WypozyczalniaController - obsługuje widoki w folderze Wypozyczalnia

c) ZamowieniaController - obsługuje widoki w folderze Zamowienia

 

a) Product(Index.cshtml) - służy do składania zamówień (shopping cart); zawiera dodatkowy styl css;  dołączony skrypt JQuerry(w folderze: Scripts-> moje_skrypty->shopping_cart.js) obsługujący kartę zakupów;

dane odnośnie zamówienia  wysyłane są za pomocą formularza:

@using (Html.BeginForm("Index", "Product", FormMethod.Post)); dane zawarte są w polach<input> i wysyłane są do metody [HttpPost] public ActionResult Index(FormCollection collection)  w kontrolerze ProductController, gdzie wykonywana jest operacja dodawania zamówienia do tabeli Zamowienias w bazie Wypozyczalnia.sdf (narazie są niezrealizowane, dopiero po walidacji sprzedawcy pole zrealizowane będzie miało wartość true

b) Product(Zrealizowane.cshtml) - służy do wyświetlenia wszystkich zrealizowanych zamówień;

 sprzedawca może zaznaczyć dane zamówienie jako oddane, jednak  zamówienia już oddane nie można odznaczyć(readonly)

c) Wypozyczalnia - służy do wyświetlania, edycji, dodawania i usuwania sprzętu; zwykły użytkownik ma dostęp  tylko do szczegółów danego produktu

d) Home (Index.cshtml) - strona główna; wyświetlona lista proponowanych produktów; dostęp do  dodatkowych informacji danego produktu(gdy się naciśnie na jego zdjęcie)

e) Home (Contact.cshtml) - dane kontaktowe;

f) Shared - wzory stron

g) Zamowienia - lista złożonych zamówień; użytkownik może zrezygnować z zamówienia usuwając je;  sprzedawca może zwalidować zamówienie podając ilość dni zamówienia; po walidacji  zamówienia zostaje ono przeniesione do zrealizownych(przeniesione do  widoku Product(Zrealizowane.cshtml))

h) Account - widoki obsługujące logowanie

 

Wypozyczalnia.sdf

a) tabela SprzetDBs - zawiera listę sprzętu do wypożyczenia i informacje o nim

b) tabela Zamowienias - zawiera listę zamówień 

c) do połączenia z bazą używany Entity Framework (code first)