static PriorityBonusDto GetStatusBonus(PriorityScope scope, RaidMemberStatus status) { return(new MembershipPriorityBonusDto { Type = PriorityBonusTypes.Trial, Value = status switch { RaidMemberStatus.HalfTrial => scope.HalfTrialPenalty, RaidMemberStatus.FullTrial => scope.FullTrialPenalty, RaidMemberStatus.Member => 0, _ => throw new ArgumentOutOfRangeException(nameof(status)) },
public static IEnumerable <PriorityBonusDto> GetListBonuses( PriorityScope scope, int attendances, RaidMemberStatus status, long donatedCopper, bool enchanted, bool prepared) { yield return(GetAttendanceBonus(scope, attendances)); yield return(GetStatusBonus(scope, status)); yield return(GetDonationBonus(scope, donatedCopper)); yield return(GetEnchantedBonus(enchanted)); yield return(GetPreparedBonus(prepared));