コード例 #1
0
        private void SaveRisingStarWinnerMemoMailMerge(WorkingDirectoryPath workingDirectoryPath,
                                                       NominationList nominationList)
        {
            var mailMerge = _mailMergeFactory.GetRisingStarWinnersMemoMailMerge(nominationList);

            SaveAwardWinnerMemoMailMerge(workingDirectoryPath, AwardType.RisingStar, nominationList, mailMerge);
        }
コード例 #2
0
        private static void SaveAwardWinnerMemoMailMerge(WorkingDirectoryPath workingDirectoryPath, AwardType awardType,
                                                         NominationList nominationList, IMailMerge mailMerge)
        {
            if (!nominationList.HasWinnersForAward(awardType))
            {
                return;
            }

            var fileName = awardType.GetWinnersForMemoFileName(nominationList.AwardsPeriod);
            var filePath = workingDirectoryPath.GetFilePathForFileInDirectory(fileName, false, false);

            mailMerge.Execute(filePath);
        }
コード例 #3
0
        private static void SaveMemoSkeleton(WorkingDirectoryPath workingDirectoryPath)
        {
            const string memoSkeletonFileName     = @"StarAwardWinnersAndNomineesForDistribution.docx";
            var          memoSkeletonResourceName = $@"StarFisher.Office.Word.Documents.{memoSkeletonFileName}";

            var assembly = Assembly.GetExecutingAssembly();
            var stream   = assembly.GetManifestResourceStream(memoSkeletonResourceName);
            var filePath = workingDirectoryPath.GetFilePathForFileInDirectory(memoSkeletonFileName, false, false);

            using (stream)
                using (var tmpFileStream = File.Create(filePath.Value))
                {
                    stream.CopyTo(tmpFileStream);
                }
        }
コード例 #4
0
        private void SaveNomineeListExcelFile(WorkingDirectoryPath workingDirectoryPath, NominationList nominationList,
                                              AwardType awardType)
        {
            if (!nominationList.HasNominationsForAward(awardType))
            {
                return;
            }

            var fileName = awardType.GetNomineesForMemoFileName(nominationList.AwardsPeriod);
            var filePath = workingDirectoryPath.GetFilePathForFileInDirectory(fileName, false, false);

            using (var excelFile = _excelFileFactory.GetNomineeListExcelFile(awardType, nominationList))
            {
                excelFile.Save(filePath);
            }
        }
コード例 #5
0
        public void SaveArtifacts(WorkingDirectoryPath workingDirectoryPath, NominationList nominationList)
        {
            if (workingDirectoryPath == null)
            {
                throw new ArgumentNullException(nameof(workingDirectoryPath));
            }
            if (nominationList == null)
            {
                throw new ArgumentNullException(nameof(nominationList));
            }

            SaveMemoSkeleton(workingDirectoryPath);
            SaveStarValuesWinnersMemoMailMerge(workingDirectoryPath, nominationList);
            SaveNomineeListExcelFile(workingDirectoryPath, nominationList, AwardType.StarValues);
            SaveRisingStarWinnerMemoMailMerge(workingDirectoryPath, nominationList);
            SaveNomineeListExcelFile(workingDirectoryPath, nominationList, AwardType.RisingStar);
        }
コード例 #6
0
        public void Initialize(DirectoryPath starAwardsDirectoryPath, AwardsPeriod awardsPeriod, Person eiaCoChair1,
                               Person eiaCoChair2, ICollection <Person> hrPeople, ICollection <Person> luncheonPlannerPeople,
                               Person certificatePrinterPerson)
        {
            _starAwardsDirectoryPath = starAwardsDirectoryPath ??
                                       throw new ArgumentNullException(nameof(starAwardsDirectoryPath));
            _awardsPeriod          = awardsPeriod ?? throw new ArgumentNullException(nameof(awardsPeriod));
            _workingDirectoryPath  = _starAwardsDirectoryPath.GetWorkingDirectory(_awardsPeriod);
            _eiaCoChair1           = eiaCoChair1 ?? throw new ArgumentNullException(nameof(eiaCoChair1));
            _eiaCoChair2           = eiaCoChair2 ?? throw new ArgumentNullException(nameof(eiaCoChair2));
            _hrPeople              = hrPeople?.ToList() ?? throw new ArgumentNullException(nameof(hrPeople));
            _luncheonPlannerPeople = luncheonPlannerPeople?.ToList() ??
                                     throw new ArgumentNullException(nameof(luncheonPlannerPeople));
            _certificatePrinterPerson = certificatePrinterPerson ??
                                        throw new ArgumentNullException(nameof(certificatePrinterPerson));

            var nominationListRepository = new NominationListRepository(_workingDirectoryPath);

            _nominationListContext = new NominationListContext(nominationListRepository, awardsPeriod.AwardCategory);

            IsInitialized = true;
        }
コード例 #7
0
 public NominationListRepository(WorkingDirectoryPath workingDirectoryPath)
 {
     _workingDirectoryPath = workingDirectoryPath ??
                             throw new ArgumentNullException(nameof(workingDirectoryPath));
 }