Example #1
0
        //metoda czytająca z serwera tylko gdy konto jest nowododane, tzn użyta jest jednorazowo dla każdego konta
        //dostarcza pierwszą paczkę emaili "na start"
        //zwraca true jeżeli z serwera załadowane zostaną jakieś wiadomości
        private bool getEmails(EmailAccount account, int numberOfEmails = 4)
        {
            LinkedList <IEmailMessage> emails = emailService.ReceiveEmails(numberOfEmails);

            if (emails.Count > 0)
            {
                account.addEmails(emails);
                return(true);
            }
            return(false);
        }
Example #2
0
        //metoda czytająca z serwera wiadomości nowsze od przekazanej jako parametr
        //równocześnie kasuje z serwera zaznaczone wiadomości
        //zwraca true jeżeli z serwera załadowane zostaną jakieś wiadomości
        private bool getAndDeleteEmails(EmailAccount account, IEmailMessage email)
        {
            List <IEmailMessage> emailsToDelete;

            emailsToBeDeletedDict.TryGetValue(account.name, out emailsToDelete);
            LinkedList <IEmailMessage> newEmails = emailService.ReceiveAndDelete(email, emailsToDelete);

            if (emailsToDelete != null)
            {
                account.markEmailsDeletedFromServer(emailsToDelete);
                emailsToBeDeletedDict.Remove(account.name);
                emailsDeletedFromServer = true;
            }
            if (newEmails.Count > 0)
            {
                account.addEmails(newEmails);
            }
            return(account.hasNewEmails);
        }