Version 19 (modified by marek, 14 years ago) |
---|
Taski
Ogólny opis idei
Założenie jest takie, że codziennie chodzi program odpowiedzialny za włączanie / wyłączanie ogłoszeń i abonamentów*.
Ogłoszenie i abonament posiadają pola: Status (ProductStatus), StartDate oraz EndDate.
public enum ProductStatus { Online = 1, // aktywne Suspended = 2, // wstrzymane przez uzytkownika New = 3, // w trakcie zamieszczania Deleted = 5, // usuniete przez uzytkownika Censored = 6, // ocenzurowane Expired = 7, // wygasła data ważności ogłoszenia lub abonamentu OverLimit = 8, //ogłoszenie nie mieści się do aktualnego abonamentu, wcześniej klient miał abo na 50 a po przedłużeniu ma na 25 }
* Abonamenty oznaczają ogłoszenia abonamentowe, włączanie abonamentu polega na ustawieniu statusu na Online, dat StartDate? i EndDate? zgodnie z tym co mamy w OrderItem? dla abonamentu
Włączamy ogłoszenia i abonamenty
- Ogłoszenia Włączamy wszystkie ogłoszenia, których StartDate? w OrderItem? jest dziś - ustawiamy status Online, wyróżnienie, StartDate? oraz EndDate? zgodnie z OrderItem?
- Abonamenty Włączamy wszystkie abonamenty, których StartDate? w OrderItem? jest dziś - dla Subscription ustawiamy odpowiednio StartDate?, EndDate?, dla ogłoszeń klienta posiadającego ten abonament ustawiamy status Online, wyróżnienia, StartDate? oraz EndDate? zgodnie z Subscription, jeśli mamy więcej ogłoszeń Online niż ustalono w abonamencie - włączamy tylko tą ilość (posortowane po dacie ostatniej aktualizacji malejąco), która jest określona w abonamencie, reszta powinna otrzymać status OverLimit?
Wyłączamy pozostałe ogłoszenia i abonamenty
- Ogłoszenia i abonamenty Wyłączamy (ustawiamy status Expired) dla wszystkich ogłoszeń i abonamentów które posiadają status Online oraz EndDate? jest mniejsza niż dziś