Zmiany pomiędzy wersją początkową i wersją 1 dla DomainModel

Pokaż
Ignoruj:
Data i czas:
2010-05-19 17:14:13 (15 years temu)
Autor:
marek (IP: 10.0.1.104)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DomainModel

    v1 v1  
     1= Domain Model = 
     2 
     3== Customer == 
     4Jest to nasz klient, może być klientem biznesowym, indywidualnym lub anonimowym. 
     5Klient anonimowy nie posiada referencji do User, każdy inny powinien mieć przynajmniej innego user'a w roli MasterCustomer. 
     6Customer posiada kolekcję adresów, każdy użytkownik danej firmy może ustawić jeden z adresów jako swój domyślny w swoim profilu. 
     7Użytkownik danej firmy może także dodawać adresy dla firmy do której należy. 
     8 
     9== CustomerProfile (TODO) == 
     10Globalne ustawienia dla modelu Customer, czyli firmy. 
     11 
     12== User == 
     13Użytkownik systemu, może być klientem, pracownikiem BOK jak i administratorem systemu. 
     14Każdy użytkownik posiada przynajmniej jedną rolę. 
     15Użytkownik posiada także swój profil, obecnie można tam ustawić domyślny język interfejsu oraz domyślny adres kontaktowy, który będzie używany w ogłoszeniach dodawanych przez tego użytkownika. 
     16 
     17== UserProfile == 
     18Tu zapisywany jest profil użytkownika - np. język interfejsu, adres kontaktowy dla ogłoszeń 
     19 
     20== Role == 
     21Role, prawa użytkownika. Każdy użytkownik powinien posiadać przynajmniej jedną rolę, może ich mieć kilka. 
     22Obecne role to: 
     23 * Administrator - najwyższe prawa - generalnie dla działu IT 
     24 * CallCenter - osoby należące do BOK 
     25 * MasterCustomer - użytkownik firmy, który ma możliwość dodawania nowych użytkowników dla swojej firmy. 
     26 * Customer - standardowy użytkownik firmy, posiada możliwość dodawania ogłoszeń w imieniu swojej firmy. 
     27 
     28== Category == 
     29Kategoria, do której można zakwalifikować ogłoszenie. 
     30Posiada kolekcję parametrów, marek oraz modeli.  
     31Marki i modele można zdefiniować niezależnie dla każdej kategorii. Marki i modele są opcjonalne, kategoria nie musi posiadać marek i modeli. 
     32Kolekcja parametrów jest unikalna dla każdej kategorii. Każdemu parametrowi dla danej kategorii można przydzielić grupę (Group) oraz zdefiniować czy jest on wymagany (walidacja) oraz czy może być używany jako filtr do zawężania wyników wyszukiwania. 
     33 
     34== Parameter ==  
     35Posiada referencję do pola (Field) oraz informację czy jest wymagany, do jakiej grupy należy i czy jest filtrem wyszukiwania. 
     36 
     37== Field == 
     38Pole na formularzu, np. moc (jako input), opcja wyposażenia - ABS (checkbox) itd. 
     39Pole może być przypisane do wielu kategorii - za pomocą parametru. 
     40Wartość danego pola można określić w jednostkach (Unit), np. moc może być podana w kW lub KM. 
     41Gdy pole jest typu Select - można określić zestaw dopuszczalnych wartości dla tego pola - OptionItems. 
     42Pole posiada właściwość DataType, które może być: 
     43 * Boolean = 1, 
     44 * DateTime = 2, 
     45 * Decimal = 3, 
     46 * Double = 4, 
     47 * Int32 = 5, 
     48 * String = 6 
     49Pole posiada właściwość ControlType, które może być: 
     50 * CheckBox = 1, 
     51 * Select = 2, 
     52 * Text = 3, 
     53 
     54== Unit ==  
     55Jednostka, za pomocą której można wyrazić wartość w danym polu (Field). 
     56 
     57== OptionItem ==  
     58Jedna z dopuszczalnych wartości dla pola typu Select 
     59 
     60== Ad == 
     61Ogłoszenie, należy do jednej z kategorii, należy do jednej z firm (Customer), posiada dane kontaktowe (Address), opis, cenę, walutę, markę, model. 
     62Posiada kolekcję obiektów typu AdDetail, gdzie znajdują się wartości każdego z parametrów, które zostały wypełnione przez użytkownika, który dodawał to ogłoszenie. 
     63Posiada kolekcję zdjęć (Image).