Esempio n. 1
0
        private void ExecuteAwardSwag()
        {
            if (!CanSwag)
            {
                MessageBox.Show("All swagged out");
                SwagText = "All swagged out";
            }
            else
            {
                if (_swagOMeterAwardEngine.CanSwag)
                {
                    _swagOMeterAwardEngine.AwardSwag();

                    _awardedSwag     = _swagOMeterAwardEngine.AwardedSwag;
                    _winningAttendee = _swagOMeterAwardEngine.WinningAttendee;

                    CanSwag = _swagOMeterAwardEngine.CanSwag;

                    if (!CanSwag)
                    {
                        SwagText = "All Swagged Out!";
                    }

                    ResetDisplayText();
                    ChangeResponseButtons(true);
                }
            }
        }
Esempio n. 2
0
        public static IWinner Create(SwagBase swag, AttendeeBase attendee)
        {
            var winner = new Winner {
                AwardedSwag = swag, WinningAttendee = attendee
            };

            return(winner);
        }
Esempio n. 3
0
        private void ExecuteAttendeeNotPresent()
        {
            _swagOMeterAwardEngine.AttendeeNotPresent();
            _awardedSwag = null;

            CheckCanSwag();
            ResetDisplayText();

            ChangeResponseButtons(false);
        }
Esempio n. 4
0
        private void ExecuteAttendeeDoesNotWantSwag()
        {
            _swagOMeterAwardEngine.AttendeeDoesNotWantSwag();

            _winningAttendee = null;
            _awardedSwag     = null;

            CheckCanSwag();
            ResetDisplayText();

            ChangeResponseButtons(false);
        }
        public IWinner AwardSwag()
        {
            if (CanSwag)
            {
                var winner = GetWinner();

                AwardedSwag     = winner.AwardedSwag;
                WinningAttendee = winner.WinningAttendee;
                return(winner);
            }

            return(null);
        }
        private bool IsAttendeeAndSwagComboValid(AttendeeBase attendeeToCheck, SwagBase swagToCheck)
        {
            var swagCanBeAwarded = !_badSwagCombinations.Any(bs => bs.AwardedSwag.Thing == swagToCheck.Thing &&
                                                             bs.WinningAttendee.Name == attendeeToCheck.Name);

            if (!swagCanBeAwarded)
            {
                _attendees.Add(attendeeToCheck);
                _swag.Add(swagToCheck);
            }

            return(swagCanBeAwarded);
        }
        public void AttendeeDoesNotWantSwag()
        {
            var matchedWinner = GetMatchedWinner();

            WinningAttendee = null;
            AwardedSwag     = null;

            CreateBadSwagCombinations(matchedWinner);

            _swag.Add(matchedWinner.AwardedSwag);
            _attendees.Add(matchedWinner.WinningAttendee);
            _winners.Remove(matchedWinner);

            CheckCanSwag();
        }
        public void AttendeeNotPresent()
        {
            _swag.Add(AwardedSwag);
            AwardedSwag = null;

            var matchedWinner = GetMatchedWinner();

            WinningAttendee = null;

            if (matchedWinner != null)
            {
                _winners.Remove(matchedWinner);
            }

            CheckCanSwag();
        }
        private SwagBase GetSwag()
        {
            var      randomNumber   = new Random();
            SwagBase awardedSwag    = null;
            var      swagNotAwarded = true;

            while (swagNotAwarded)
            {
                int index = randomNumber.Next(0, _swag.Count);
                awardedSwag = _swag[index];

                swagNotAwarded = false;
            }

            _swag.Remove(awardedSwag);

            CheckCanSwag();

            return(awardedSwag);
        }
        private IWinner GetWinner()
        {
            AttendeeBase winningAttendee = null;
            SwagBase     swag            = null;

            var swagAwarded = false;

            while (!swagAwarded)
            {
                winningAttendee = GetAttendee();
                swag            = GetSwag();

                swagAwarded = IsAttendeeAndSwagComboValid(winningAttendee, swag);
            }

            var winner = Winner.Create(swag, winningAttendee);

            _winners.Add(winner);

            return(winner);
        }