summaryrefslogtreecommitdiff
path: root/src/managment/mail.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/managment/mail.cpp')
-rw-r--r--src/managment/mail.cpp72
1 files changed, 0 insertions, 72 deletions
diff --git a/src/managment/mail.cpp b/src/managment/mail.cpp
deleted file mode 100644
index ccde362..0000000
--- a/src/managment/mail.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-#include <algorithm>
-
-#include "mail.hpp"
-
-namespace smtp::manage
-{
- Mail::Mail( file::Mail const& file_reader )
- : mFileReader( file_reader )
- {
- mMails = mFileReader.Read();
- }
-
- MailsSet Mail::GetMailToSend() const
- {
- return mMails;
- }
-
- bool Mail::AddMailsToSend( MailsSet const& mails_to_add )
- {
- auto merged_mails = GetMergedMails( mails_to_add );
-
- auto result = mFileReader.Write( merged_mails );
- if( result )
- {
- mMails = merged_mails;
- }
- return result;
- }
-
- bool Mail::DeleteMailToSend( MailsSet const& mail_to_send )
- {
- auto mails_to_delete = GetItersectionMails( mail_to_send );
- auto result_set_after_delete = GetMailsAfterDelete( mails_to_delete );
- auto result_of_delete = mFileReader.Write( result_set_after_delete );
- if(result_of_delete)
- {
- mMails = result_set_after_delete;
- }
- return result_of_delete;
- }
-
- MailsSet Mail::GetMergedMails( MailsSet const& mails_to_add )
- {
- auto result = mails_to_add;
- result.merge( mMails );
- return result;
- }
-
- MailsSet Mail::GetItersectionMails( MailsSet const& mail_to_send )
- {
- MailsSet result;
-
- auto sorted_mail_to_send = mail_to_send;
- sorted_mail_to_send.sort();
- mMails.sort();
- std::set_intersection( mMails.cbegin(), mMails.cend(),
- sorted_mail_to_send.cbegin(), sorted_mail_to_send.cend(),
- std::back_inserter( result ));
- return result;
- }
-
- MailsSet Mail::GetMailsAfterDelete( MailsSet const& result_set_after_delete)
- {
- auto result = mMails;
- for(const auto& element_to_delete : result_set_after_delete)
- {
- result.remove( element_to_delete );
- }
- return result;
- }
-
-}