Version 14 (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? (click here)!, 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ś