/// <summary>
        /// Saves email addresses of recipients to the database.
        /// And returns his ids that stored in DB.
        /// </summary>
        /// <param name="recipientMails">Email addresses of recipients</param>
        /// <returns>List recipients with id and mail</returns>
        private async Task <IEnumerable <Recipient> > SaveRecipients(IEnumerable <string> recipientMails)
        {
            var  recipients = new List <Recipient>();
            bool isNewAdded = false;

            foreach (string recipientMail in recipientMails)
            {
                Recipient recipient = await _recipientRepository.GetByEmail(recipientMail);

                if (recipient == null)
                {
                    recipient = _recipientRepository.Add(new Recipient {
                        Email = recipientMail
                    });
                    isNewAdded = true;
                }

                recipients.Add(recipient);
            }

            if (isNewAdded)
            {
                await _recipientRepository.UnitOfWork.SaveChangesAsync();
            }

            return(recipients);
        }