= 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*. ''* Abonamenty oznaczają ogłoszenia abonamentowe, włączanie abonamentu polega na ustawieniu statusu na '''Online''', dat '''!StartDate''' i '''!EndDate''' dla '''Subscription''' oraz dla ogłoszeń klienta posiadającego ten abonament zgodnie z tym co mamy w '''!OrderItem''' dla abonamentu'' Ogłoszenie i abonament posiadają pola: [[span('''Status''', style=font-family: monospace)]] ([[span('''!ProductStatus''', style=font-family: monospace)]]), [[span('''!StartDate''', style=font-family: monospace)]] oraz [[span('''!EndDate''', style=font-family: monospace)]]. {{{ public enum ProductStatus { Online = 1, // aktywne Suspended = 2, // wstrzymane przez uzytkownika New = 3, // w trakcie zamieszczania Deleted = 4, // usuniete przez uzytkownika Censored = 5, // ocenzurowane Expired = 6, // wygasła data ważności ogłoszenia lub abonamentu OverLimit = 7, //ogłoszenie nie mieści się do aktualnego abonamentu, wcześniej klient miał abo na 50 a po przedłużeniu ma na 25 } }}} == Ogłoszenie gazetowe == Każde ogłoszenie może posiadać opcję emisji w gazecie AMT. Na ogłoszenie gazetowe składają się następujące elementy: * wyróżnienie gazetowe (pakiet) * treść * tytuł * hasła * dodatki gazetowe z '''!OrderItem''' Przy włączaniu / przedłużaniu ogłoszenia należy wziąć pod uwagę opcję gazetową. === Włączamy ogłoszenia i abonamenty === * Ogłoszenia * Włączamy wszystkie ogłoszenia, których '''!StartDate''' w '''!OrderItem''' jest dziś - ustawiamy status '''Online''', '''Promotion''', '''!StartDate''' oraz '''!EndDate''' zgodnie z '''!OrderItem''' * Abonamenty * Włączamy wszystkie abonamenty, których '''!StartDate''' w '''!OrderItem''' jest dziś - dla Subscription ustawiamy odpowiednio '''Promotion''', '''!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ś