Example #1
0
        private void SetNomineeIdentifiers(AwardType awardType)
        {
            var nominationsByNominee = Nominations
                                       .Where(n => n.AwardType == awardType)
                                       .Select((n, i) => new { Index = i, Nomination = n })
                                       .GroupBy(x => x.Nomination.Nominee);

            foreach (var group in nominationsByNominee)
            {
                var nomineeIndexes   = group.Select(x => x.Index).ToList();
                var votingIdentifier = NomineeVotingIdentifier.Create(nomineeIndexes);

                foreach (var item in group)
                {
                    var nomination = item.Nomination;

                    if (nomination.VotingIdentifier == votingIdentifier)
                    {
                        continue;
                    }

                    nomination.SetVotingIdentifier(votingIdentifier);
                }
            }
        }
Example #2
0
 internal Nomination(int id, NomineeVotingIdentifier votingIdentifier, Person nominee,
                     AwardType nomineeAwardType, PersonName nominatorName, IEnumerable <CompanyValue> companyValues,
                     NominationWriteUp writeUp, NominationWriteUpSummary writeUpSummary)
     : base(id)
 {
     VotingIdentifier = votingIdentifier;
     Nominee          = nominee ?? throw new ArgumentNullException(nameof(nominee));
     AwardType        = nomineeAwardType ?? throw new ArgumentNullException(nameof(nomineeAwardType));
     NominatorName    = nominatorName ?? throw new ArgumentNullException(nameof(nominatorName));
     CompanyValues    = companyValues?.ToList() ?? new List <CompanyValue>();
     WriteUp          = writeUp;
     WriteUpSummary   = writeUpSummary;
 }
Example #3
0
 internal void SetVotingIdentifier(NomineeVotingIdentifier votingIdentifier)
 {
     VotingIdentifier = votingIdentifier ?? throw new ArgumentNullException(nameof(votingIdentifier));
 }