Exemplo n.º 1
0
        protected override CommandResult <CommandOutput.None> RunCore(CommandInput.None input)
        {
            var nominationList = Context.NominationListContext.NominationList;

            foreach (var awardType in AwardType.ValidAwardTypes)
            {
                if (!nominationList.HasNominationsForAward(awardType))
                {
                    continue;
                }

                var fileName  = awardType.GetVotingGuideFileName(Context.AwardsPeriod);
                var filePath  = Context.WorkingDirectoryPath.GetFilePathForFileInDirectory(fileName, false, false);
                var mailMerge = _mailMergeFactory.GetVotingGuideMailMerge(awardType, nominationList);
                mailMerge.Execute(filePath);
            }

            return(CommandOutput.None.Success);
        }
        private static void AddVotingGuideAttachment(ComObjectManager com, MailItem mailItem,
                                                     IMailMergeFactory mailMergeFactory,
                                                     NominationList nominationList, AwardType awardType)
        {
            var attachments = com.Get(() => mailItem.Attachments);
            var fileName    = awardType.GetVotingGuideFileName(nominationList.AwardsPeriod);
            var filePath    = FilePath.Create(Path.Combine(Path.GetTempPath(), fileName), false);

            if (File.Exists(filePath.Value))
            {
                File.Delete(filePath.Value);
            }

            var mailMerge = mailMergeFactory.GetVotingGuideMailMerge(awardType, nominationList);

            mailMerge.Execute(filePath);

            com.Get(() => attachments.Add(filePath.Value));
        }
Exemplo n.º 3
0
        private static void AddVotingGuideAttachmentAndInstructions(ComObjectManager com, MailItem mailItem,
                                                                    HtmlNode content, IMailMergeFactory mailMergeFactory, NominationList nominationList, AwardType awardType,
                                                                    string instructions)
        {
            var attachments = com.Get(() => mailItem.Attachments);
            var fileName    = awardType.GetVotingGuideFileName(nominationList.AwardsPeriod);
            var filePath    = FilePath.Create(Path.Combine(Path.GetTempPath(), fileName), false);

            if (File.Exists(filePath.Value))
            {
                File.Delete(filePath.Value);
            }

            var mailMerge = mailMergeFactory.GetVotingGuideMailMerge(awardType, nominationList);

            mailMerge.Execute(filePath);

            com.Get(() => attachments.Add(filePath.Value));

            AppendSection(content, $@"<b><i>{awardType.PrettyName} Nominees:</i></b> {fileName} -- {instructions}");
        }