コード例 #1
0
 protected CertificatesSourceExcelFileBase(AwardsPeriod awardsPeriod, IEnumerable <AwardWinner> certificateRecipients)
     : base((com, worksheet) => BuildWorksheet(com,
                                               awardsPeriod ?? throw new ArgumentNullException(nameof(awardsPeriod)),
                                               certificateRecipients ?? throw new ArgumentNullException(nameof(certificateRecipients)),
                                               worksheet))
 {
 }
コード例 #2
0
        private AwardsPeriod GetAwardPeriod(out CommandResult <CommandOutput.None> unsuccessfulResult)
        {
            var awardCategory = GetAwardCategory(out unsuccessfulResult);

            if (awardCategory == null)
            {
                return(null);
            }

            var year = GetCommandResult(new GetYearCommand(Context), out unsuccessfulResult);

            if (year == null)
            {
                return(null);
            }

            if (awardCategory == AwardCategory.SuperStarAwards)
            {
                return(AwardsPeriod.CreateForSuperStarAwards(year));
            }

            if (awardCategory != AwardCategory.QuarterlyAwards)
            {
                throw new NotSupportedException($@"Unsupported award category: {awardCategory.Value}");
            }

            var quarter = GetCommandResult(new GetQuarterCommand(Context), out unsuccessfulResult);

            return(quarter == null
                ? null
                : AwardsPeriod.CreateForQuarterlyAwards(year, quarter));
        }
 protected NominationNotificationEmailSourceExcelFileBase(AwardsPeriod awardsPeriod,
                                                          IEnumerable <Nomination> nominations)
     : base((com, worksheet) => BuildWorksheet(com,
                                               awardsPeriod ?? throw new ArgumentNullException(nameof(awardsPeriod)),
                                               nominations ?? throw new ArgumentNullException(nameof(nominations)),
                                               worksheet))
 {
 }
コード例 #4
0
        internal NominationList(AwardsPeriod awardsPeriod, IEnumerable <Nomination> nominations,
                                IEnumerable <AwardWinner> awardWinners = null)
            : base(awardsPeriod?.Value ?? -1)
        {
            AwardsPeriod  = awardsPeriod ?? throw new ArgumentNullException(nameof(awardsPeriod));
            _nominations  = nominations?.ToList() ?? throw new ArgumentNullException(nameof(nominations));
            _awardWinners = awardWinners?.ToList() ?? new List <AwardWinner>();

            SetNomineeIdentifiers();
        }
        private static void BuildWorksheet(ComObjectManager com, AwardsPeriod awardsPeriod,
                                           IEnumerable <Nomination> nominations, Worksheet worksheet)
        {
            var cells = com.Get(() => worksheet.Cells);

            cells.NumberFormat = "@"; // Format all cells as text.

            SetCellValue(cells, 1, 1, @"Year");
            SetCellValue(cells, 1, 2, @"Quarter");
            SetCellValue(cells, 1, 3, @"Submitted by");
            SetCellValue(cells, 1, 4, @"NOMINEE'S NAME");
            SetCellValue(cells, 1, 5, @"NOMINEE'S OFFICE");
            SetCellValue(cells, 1, 6, @"Continuously_Improving");
            SetCellValue(cells, 1, 7, @"Driving_Innovation");
            SetCellValue(cells, 1, 8, @"Delighting_Customers");
            SetCellValue(cells, 1, 9, @"Behaving_with_Integrity");
            SetCellValue(cells, 1, 10, @"Delivering_Meaningful_Outcomes");
            SetCellValue(cells, 1, 11, @"Streaming_Good");
            SetCellValue(cells, 1, 12, @"WRITE-UP");
            SetCellValue(cells, 1, 13, @"Email");

            var rowNumber = 2;

            foreach (var nomination in nominations)
            {
                SetCellValue(cells, rowNumber, 1, awardsPeriod.Year.ToString());
                SetCellValue(cells, rowNumber, 2, awardsPeriod.Quarter.Abbreviation);
                SetCellValue(cells, rowNumber, 3, nomination.NominatorName.FullName);
                SetCellValue(cells, rowNumber, 4, nomination.NomineeName.FullName);
                SetCellValue(cells, rowNumber, 5, nomination.NomineeOfficeLocation.ToString());
                SetCellValue(cells, rowNumber, 6, GetCompanyValue(nomination, CompanyValue.ContinuouslyImproving));
                SetCellValue(cells, rowNumber, 7, GetCompanyValue(nomination, CompanyValue.DrivingInnovation));
                SetCellValue(cells, rowNumber, 8, GetCompanyValue(nomination, CompanyValue.DelightingCustomers));
                SetCellValue(cells, rowNumber, 9, GetCompanyValue(nomination, CompanyValue.BehavingWithIntegrity));
                SetCellValue(cells, rowNumber, 10, GetCompanyValue(nomination, CompanyValue.DeliveringMeaningfulOutcomes));
                SetCellValue(cells, rowNumber, 11, GetCompanyValue(nomination, CompanyValue.StreamingGood));
                SetCellValue(cells, rowNumber, 12, nomination.WriteUp.ToString());
                SetCellValue(cells, rowNumber, 13, nomination.NomineeEmailAddress.ToString());

                ++rowNumber;
            }
        }
コード例 #6
0
        private static void BuildWorksheet(ComObjectManager com, AwardsPeriod awardsPeriod,
                                           IEnumerable <AwardWinner> certificateRecipients, Worksheet worksheet)
        {
            var cells = com.Get(() => worksheet.Cells);

            cells.NumberFormat = "@"; // Format all cells as text.

            SetCellValue(cells, 1, 1, @"Year");
            SetCellValue(cells, 1, 2, @"Quarter");
            SetCellValue(cells, 1, 3, @"Name");

            var rowNumber = 2;

            foreach (var certificateRecipient in certificateRecipients)
            {
                SetCellValue(cells, rowNumber, 1, awardsPeriod.Year.ToString());
                SetCellValue(cells, rowNumber, 2, awardsPeriod.Quarter.FullName);
                SetCellValue(cells, rowNumber, 3, certificateRecipient.Name.FullName);

                ++rowNumber;
            }
        }
コード例 #7
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;
        }